HOME


Top 10 List of Week 01

  1. Open Source Software
    Open-source software (OSS) is any computer software that’s distributed with its source code available for modification. That means it usually includes a license for programmers to change the software in any way they choose: They can fix bugs, improve functions, or adapt the software to suit their own needs. A Software can be called open-source if it comply to:
    • Software redistribution
    • Source code availability and integrity
    • Distribution and properties of licenses
    • Derived works
    • Anti-discrimination
  2. Free Software
    Free software means software that respects users’ freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, free software is a matter of liberty, not price. To understand the concept, you should think of free as in freedom of speech, not as in free meals; as it doesn’t imply that it is gratis.

  3. Free vs Open Source
    Although the terms are often used interchangeably, open source software is slightly different from free software. Both deal with the ability to download and modify software without restriction or charge.

In contrast, open-source software place more emphasis on the modification of software, and the consequences of altering source code, licensing, and distribution.

The two overlap; some would say the differences between OSS and free software are more philosophical than practical. However, neither should be confused with freeware. Freeware usually refers to proprietary software that users can download at no cost, but whose source code cannot be changed.

  1. Virtual Machine
    A virtual machine (VM) is a virtual environment that functions as a virtual computer system with its own CPU, memory, network interface, and storage, created on a physical hardware system (located off- or on-premises). Software called a hypervisor separates the machine’s resources from the hardware and provisions them appropriately so they can be used by the VM.

  2. Hipervisor
    A hypervisor, also known as a virtual machine monitor or VMM, is software that creates and runs virtual machines (VMs). A hypervisor allows one host computer to support multiple guest VMs by virtually sharing its resources, such as memory and processing.

There are 2 different types of hypervisors that can be used for virtualization:

  1. OS Virtualization
    A method for splitting a server into multiple partitions called “containers” or “virtual environments” (VEs) in order to prevent applications from interfering with each other. A server running OS virtualization is also called a “virtual private server” (VPS). Docker and Kubernetes is the perfect example of OS Virtualization which enable isolation of dependencies between services.

  2. Emulation vs Virtualization
    Emulation and Virtualization go hand in hand, but there are actually some really key differences. When a device is being emulated, a software-based construct has replaced a hardware component. Its possible to run a complete virtual machine on an emulated server. However, virtualization makes it possible for that virtual machine to run directly on the underlying hardware, without needing to impose an emulation tax (the processing cycles needed to emulate the hardware).

  3. Cloud Computing
    Cloud computing is the delivery of on-demand computing services — from applications to storage and processing power — typically over the internet and on a pay-as-you-go basis. Rather than owning their own computing infrastructure or data centers, companies can rent access to anything from applications to storage from a cloud service provider.

One benefit of using cloud computing services is that firms can avoid the upfront cost and complexity of owning and maintaining their own IT infrastructure, and instead simply pay for what they use, when they use it. In turn, providers of cloud computing services can benefit from significant economies of scale by delivering the same services to a wide range of customers.

  1. Services Provided with Cloud Computing
    Cloud computing services cover a vast range of options now, from the basics of storage, networking, and processing power through to natural language processing and artificial intelligence as well as standard office applications. Pretty much any service that doesn’t require you to be physically close to the computer hardware that you are using can now be delivered via the cloud.
However, it usually fits into one these models:
- Infrastructure as a Service (IaaS)
Provides a completely virtualized computing infrastructure that is provisioned and managed over the internet. An example is Amazon’s EC2 Instance.
  • Platform as a Service (PaaS)
Provides the framework needed to build, test, deploy, manage, and update software products.
  • Software as a Service (SaaS)
A fully-developed software solution ready for purchase and use over the internet on a subscription basis. An example would be Software Consulting company’s products or Amazon’s Lightsail.
  • Function as a Service (FaaS)
Often known as serverless computing, FaaS allows customers to execute code responsively without having to allocate processing resources ahead of time. An example would be Amazon’s AWS Lambda.
  1. Costs of Virtualization
    Many businesses find virtualization to be a cost-effective alternative to deploy to a physical server. Previously, each services would require their own server. This leads to unused hardware resources. However, with Virtual Machines, each server can run multiple services with minimal dependency, eliminating hardware costs and optimizing performance and resources.