What Is Cloud Computing?

Cloud computing provides on demand functionality or service.
1. Virtualization 2. Scalable 3. Shared 4. Metered Usage
Amazon EC2,Microsoft Azure, Facebook ...
  • Cloud is shared environment but isolated.
  • Cloud is abstraction of services and infrastructure.
  • Cloud is a distributed network using virtualized resources.
  • Visualization of network design look like cloud so name it 'Cloud'.
  • Cloud computing service providers are Amazon, Microsoft, Google etc...
  • Presents new opportunities to users and developers
  • User has the ability to right-size resources as required
  • Cloud supports multi-tenant usage
  • Cload is service-oriented architecture

Layers of Cloud Computing​

  • Infrastructure as a service – IaaS
    • Hosts the virtual machine (VM)
    • Hosts the storage (block)
    • Hosts the networking hardware
    • Users are in total control
  • Platform as a service – PaaS
    • Hosts software frameworks
    • Hosts database
  • Software as service -SaaS
    • The application is provided to the client through a thin client interface.
    • Hosts web-services
    • Hosts applications
    • Hosts multimedia


Virtualization is the main factor of Cloud computing. Virtualization allows simultaneously executions of more than one Operating Systems on the same machine. Two main types of virtualization are hardware virtualization and software virtualization. It can be implemented by different ways:

  • On Operating System Layer
  • On Hardware Layer


  • Isolation (Every VM is isolated from it's host physical system and even other VMs. So if one VM crashes, it doesn't effect the other VMs. Also data never be shared between one VM to other VM)
  • Consolidation (H/W utilization, cost reduction, improve manageability)
  • Resource balancing
  • Portability (Migration from one machine to other machine, improve reliability)
  • Fast provisioning and more secure
  • Distributed data
  • Shared pool of resources
  • Pay-as-you-go billing

Virtual Machine:

Virtual machine (VM) has own operating system (guest OS), applications and virtual resources. A program running under a virtual environment should exhibit identical behavior.

Virtual Machine Monitor (VMM):​

A virtual machine runs by VMM (Hyperviosr). VMM is an other software layer between physical machine and virtual machine.The VMM should be in full control on the virtualized resources. VMM manages the virtual machines (Guest OS & its application)

Virtualization Types:

1. Full Virtualization
  • Unmodified guest operating system
  • Simulates hardware within software
  • It is a heavy process
  • Method 1: Trap and emulate
  • Method 2: Binary translation
1.1 Native Hypervisor (bare-metal) - Type1
Native Hypervisor
  • Directly interrupts with hardware
  • Example: Xen, Hyper-V
1.2 Hosted Hypervisor - Type2
Hosted Hypervisor
  • Low performance due to binary translation
  • Software assisted
  • Example: VMWare, VirtualBox etc…
Binary translation is all about scanning the code that the kernel of the guest OS should execute at a certain moment in time and replacing it with something safe (virtualized) on the fly. With "safe", we mean safe for the other guest OSes and the VMM
2. Para Virtualization:
  • Guest OS should be modified i.e XEN
  • Not run time translate
Paravirtualization is not that different from Binary Translation. BT changes "critical" or "dangerous" code into harmless code on the fly; paravirtualization does the same thing, but in the source code. Of course, changing the source code allows a bit more flexibility than changing everything on the fly, which has to happen quickly. One advantage is that paravirtualization eliminates a lot of unnecessary "traps" by the VMM (or Hypervisor), even more than BT. The hypervisor provides hypercall interfaces for critical kernel operations such as memory management, interrupt handling, and time keeping. These hypercalls will only happen when it is necessary. For example, most of the memory management is done by the different guest OSes. The Hypervisor will only be "called" for things like page table updates and DMA accesses.
3. Hardware Virtualization:
  • VMM in 1st ring.
4. OS Virtualization:
  • Shared OS
  • HW->OS->Container Engine->Container

Virtual Machine Migration:

  • For network latency
  • For power reduction
  • For server consolidation
  • For maintenance
  •  For load balancing
  • For availability
  • Storage based application
  • SLA validation
  • Consumed power
  • Consumed resources
  • Failure
  • containerzed os based , process base
  • Push phase: The source VM continues running while certain pages are pushed across the network to the new destination. To ensure consistency, pages modified during this process must be re-sent.
  • Stop-and-copy phase: The source VM is stopped, pages are copied across to the destination VM, then the new VM is started.
  • Pull phase:The new VM executes and, if it accesses a page that has not yet been copied, this page is faulted in (“pulled”) across the network from the source VM.
  • Pre-Copying or Post Copying

Cloud Deployment Models

  • Private
  • Public
    • This is available for public use alternatively for a large industry group.
  • Hybrid
    • A hybrid cloud combines multiple clouds where those clouds retain their unique identities, but are bound together as a unit.
    • A hybrid cloud may offer standardized or proprietary access to data and applications, as well as application portability.
  • VPC