Cloud
Types
&
Virtualization
Types of Cloud
There are the following 4 types of cloud that you can
deploy according to the organization's needs-
Public Cloud
• Public cloud is open to all to store and access information
via the Internet using the pay-per-usage method.
• In public cloud, computing resources are managed and
operated by the Cloud Service Provider (CSP).
• Example: Amazon elastic compute cloud (EC2), IBM
SmartCloud Enterprise, Microsoft, Google App Engine,
Windows Azure Services Platform.
Advantages of Public Cloud
There are the following advantages of Public Cloud -
• Public cloud is owned at a lower cost than the private and hybrid cloud.
• Public cloud is maintained by the cloud service provider, so do not need to
worry about the maintenance.
• Public cloud is easier to integrate. Hence it offers a better flexibility
approach to consumers.
• Public cloud is location independent because its services are delivered
through the internet.
• Public cloud is highly scalable as per the requirement of computing
resources.
• It is accessible by the general public, so there is no limit to the number of
users.
Disadvantages of Public Cloud
• Public Cloud is less secure because resources are shared
publicly.
• Performance depends upon the high-speed internet
network link to the cloud provider.
• The Client has no control of data.
Private Cloud
Private cloud is also known as an internal cloud or corporate
cloud. It is used by organizations to build and manage their own data centers
internally or by the third party. It can be deployed using Opensource tools such
as Openstack and Eucalyptus.
Based on the location and management, National Institute of
Standards and Technology (NIST) divide private cloud into the following two
parts-
1. On-premise private cloud
2. Outsourced private cloud
Advantages of Private Cloud
There are the following advantages of the Private Cloud -
• Private cloud provides a high level of security and privacy to the users.
• Private cloud offers better performance with improved speed and
space capacity.
• It allows the IT team to quickly allocate and deliver on-demand IT
resources.
• The organization has full control over the cloud because it is managed
by the organization itself. So, there is no need for the organization to
depends on anybody.
• It is suitable for organizations that require a separate cloud for their
personal use and data security is the first priority.
Disadvantages of Private Cloud
• Skilled people are required to manage and operate cloud
services.
• Private cloud is accessible within the organization, so the area
of operations is limited.
• Private cloud is not suitable for organizations that have a high
user base, and organizations that do not have the prebuilt
infrastructure, sufficient manpower to maintain and manage
the cloud.
Hybrid Cloud
Hybrid Cloud is a combination of the public cloud
and the private cloud. we can say:
Hybrid Cloud = Public Cloud + Private Cloud
Hybrid cloud is partially secure because the
services which are running on the public cloud can be
accessed by anyone, while the services which are running
on a private cloud can be accessed only by the
organization's users.
Example: Google Application Suite (Gmail,
Google Apps, and Google Drive), Office 365 (MS Office on
the Web and One Drive), Amazon Web Services.
Advantages of Hybrid Cloud
There are the following advantages of Hybrid Cloud -
• Hybrid cloud is suitable for organizations that
require more security than the public cloud.
• Hybrid cloud helps you to deliver new products
and services more quickly.
• Hybrid cloud provides an excellent way to reduce
the risk.
• Hybrid cloud offers flexible resources because of
the public cloud and secure resources because of
the private cloud.
Disadvantages of Hybrid Cloud
• In Hybrid Cloud, security feature is not as good as the
private cloud.
• Managing a hybrid cloud is complex because it is difficult to
manage more than one type of deployment model.
• In the hybrid cloud, the reliability of the services depends on
cloud service providers.
Community Cloud
Community cloud allows systems and services to
be accessible by a group of several organizations to share the
information between the organization and a specific community. It is
owned, managed, and operated by one or more organizations in the
community, a third party, or a combination of them.
Advantages of Community Cloud
There are the following advantages of Community Cloud -
• Community cloud is cost-effective because the whole cloud is being
shared by several organizations or communities.
• Community cloud is suitable for organizations that want to have a
collaborative cloud with more security features than the public cloud.
• It provides better security than the public cloud.
• It provides collaborative and distributive environment.
• Community cloud allows us to share cloud resources, infrastructure,
and other capabilities among various organizations.
Disadvantages of Community Cloud
• Community cloud is not a good choice for every organization.
• Security features are not as good as the private cloud.
• It is not suitable if there is no collaboration.
• The fixed amount of data storage and bandwidth is shared
among all community members.
Difference between public cloud, private cloud,
hybrid cloud, and community cloud -
The below table shows the difference between public
cloud, private cloud, hybrid cloud, and community
cloud.
Parameter Public Cloud Private Cloud Hybrid Cloud Community
Cloud
Host Service Enterprise Enterprise Community
provider (Third party) (Third party) (Third party)
Users General Selected Selected Community
public users users members
Access Internet Internet, Internet, Internet,
VPN VPN VPN
Owner Service Enterprise Enterprise Community
provider
Cloud Computing Architecture
As we know, cloud computing technology is used by both small
and large organizations to store the information in cloud and
access it from anywhere at anytime using the internet
connection.
Cloud computing architecture is a combination of service-
oriented architecture and event-driven architecture.
Cloud computing architecture is divided into the following two
parts -
• Front End
• Back End
The below diagram shows the architecture of cloud
computing -
Front End
The front end is used by the client. It
contains client-side interfaces and applications that are required
to access the cloud computing platforms. The front end includes
web servers (including Chrome, Firefox, internet explorer, etc.),
thin & fat clients, tablets, and mobile devices.
Back End
The back end is used by the service provider.
It manages all the resources that are required to provide cloud
computing services. It includes a huge amount of data storage,
security mechanism, virtual machines, deploying models,
servers, traffic control mechanisms, etc.
Components of Cloud Computing Architecture
There are the following components of cloud computing architecture -
1. Client Infrastructure
Client Infrastructure is a Front end component. It provides GUI (Graphical User
Interface) to interact with the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
A Cloud Services manages that which type of service you access according to the
client’s requirement.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual
machines.
5. Storage
Storage is one of the most important components of cloud computing. It provides a
huge amount of storage capacity in the cloud to store and manage data.
6. Infrastructure
It provides services on the host level, application level, and network level.
Cloud infrastructure includes hardware and software components such as
servers, storage, network devices, virtualization software, and other storage
resources that are needed to support the cloud computing model.
7. Management
Management is used to manage components such as application, service,
runtime cloud, storage, infrastructure, and other security issues in the
backend and establish coordination between them.
8. Security
Security is an in-built back end component of cloud computing. It
implements a security mechanism in the back end.
9. Internet
The Internet is medium through which front end and back end can interact
and communicate with each other.
Cloud Computing Infrastructure
Cloud infrastructure consists of servers, storage devices, network, cloud
management software, deployment software, and platform
virtualization.
Hypervisor
Hypervisor is a firmware or low-level program that acts as a Virtual
Machine Manager. It allows to share the single physical instance of
cloud resources between several tenants.
Management Software
It helps to maintain and configure the infrastructure.
Deployment Software
It helps to deploy and integrate the application on the cloud.
Network
It is the key component of cloud infrastructure. It allows to connect
cloud services over the Internet. It is also possible to deliver network as
a utility over the Internet, which means, the customer can customize
the network route and protocol.
Server
The server helps to compute the resource sharing and
offers other services such as resource allocation and de-
allocation, monitoring the resources, providing security
etc.
Storage
Cloud keeps multiple replicas of storage. If one of the
storage resources fails, then it can be extracted from
another one, which makes cloud computing more
reliable.
VIRTUALIZATIO
N
AND
CLOUD
Virtualization is the ability to run multiple
operating systems on a single physical system
and share the underlying hardware resources*
It is the process by which one computer hosts
the appearance of many computers.
Virtualization is used to improve IT throughput
and costs by using physical resources as a pool
from which virtual resources can be allocated.
VIRTUALIZATION
• A Virtual machine (VM) is an isolated runtime environment (guest OS
ARCHITECTURE
and applications)
• Multiple virtual systems (VMs) can run on a single physical system
HYPERVISOR
• A hypervisor, a.k.a. a virtual machine manager/monitor (VMM),
or virtualization manager, is a program that allows multiple
operating systems to share a single hardware host.
• Each guest operating system appears to have the host's
processor, memory, and other resources all to itself. However, the
hypervisor is actually controlling the host processor and
resources, allocating what is needed to each operating system in
turn and making sure that the guest operating systems (called
virtual machines) cannot disrupt each other.
BENEFITS OF
VIRTUALIZATION
• Sharing of resources helps cost reduction
• Isolation: Virtual machines are isolated from each other as if they
are physically separated
• Encapsulation: Virtual machines encapsulate a complete
computing environment
• Hardware Independence: Virtual machines run independently of
underlying hardware
• Portability: Virtual machines can be migrated between different
hosts.
VIRTUALIZATION IN CLOUD
COMPUTING
Cloud computing takes virtualization one step further:
• You don’t need to own the hardware
• Resources are rented as needed from a cloud
• Various providers allow creating virtual servers:
• Choose the OS and software each instance will have
• The chosen OS will run on a large server farm
• Can instantiate more virtual servers or shut down existing ones within
minutes
• You get billed only for what you used
APPLICATION
VIRTUALIZATION
Application virtualization helps a user to have
remote access of an application from a server. The server
stores all personal information and other characteristics of the
application but can still run on a local workstation through the
internet.
Example of this would be a user who needs to run
two different versions of the same software.
Technologies that use application virtualization are
NETWORK
VIRTUALIZATION:
The ability to run multiple virtual
networks with each has a separate control and data
plan. It co-exists together on top of one physical
network. It can be managed by individual parties
that potentially confidential to each other.
Network virtualization provides a facility to create
and provision virtual networks—logical switches,
routers, firewalls, load balancer, Virtual Private
DESKTOP
VIRTUALIZATION
Desktop virtualization allows the users’ OS to
be remotely stored on a server in the data center. It allows
the user to access their desktop virtually, from any
location by a different machine. Users who want specific
operating systems other than Windows Server will need
to have a virtual desktop.
Main benefits of desktop virtualization are
STORAGE
VIRTUALIZATION:
Storage virtualization is an
array of servers that are managed by a virtual
storage system. The servers aren’t aware of exactly
where their data is stored, and instead function
more like worker bees in a hive.
It makes managing storage from
multiple sources to be managed and utilized as a
single repository. storage virtualization software
SERVER
VIRTUALIZATION:
This is a kind of
virtualization in which masking of server resources
takes place. Here, the central-server(physical
server) is divided into multiple different virtual
servers by changing the identity number,
processors. So, each system can operate its own
operating systems in isolate manner. Where each
sub-server knows the identity of the central server.
DATA VIRTUALIZATION
This is the kind of virtualization in
which the data is collected from various sources and
managed that at a single place without knowing more about
the technical information like how data is collected, stored
& formatted then arranged that data logically so that its
virtual view can be accessed by its interested people and
stakeholders, and users through the various cloud services
remotely. Many big giant companies are providing their
services like Oracle, IBM, At scale, Cdata, etc.
VIRTUALIZATI
ON
OF
CPU,
HARDWARE
• Modern OS & processors permit multiple processes to run
RESOURCES
simultaneously.
• All processors have at least two modes, user mode and supervisor
mode
• Instructions running in supervisor mode are called privileged
instructions.
• On other mode instructions are unprivileged instructions
• VMware Workstation is a VM software suite for x86 and x64
computers
• KVM (Kernel-based Virtual Machine) is a Linux kernel virtualization
infrastructure.
I/O Virtualization
• involves managing the routing of I/O requests between
virtual devices and the shared physical hardware
• three ways to implement I/O virtualization: full device
emulation, para-virtualization, direct I/O
• Full device emulation: All the functions of a device or
bus infrastructure, such as device enumeration,
identification, interrupts, and DMA, are replicated in
software
I/O Virtualization
• para-virtualization: consisting of a frontend driver and a
backend driver.
• The frontend driver is running in Separate Domain and the
backend driver is running in Separate Domain.
• The frontend driver manages the I/O requests of the guest
OSes
• VGA Backend driver is responsible for managing the real I/O
devices and multiplexing the I/O data of different VM
achieves better device performance than full device
emulation
I/O Virtualization
• Direct I/O virtualization: lets the VM access devices directly.
• It can achieve close-to- native performance without high CPU
costs.
• self-virtualized I/O (SV-IO): All tasks associated with virtualizing an
I/O device are encapsulated in SV-IO. It provides virtual devices
and an associated access API to VMs and a management API to
the VMM.
• defines one virtual interface (VIF) for every kind of virtualized I/O
device, such as virtual network interfaces, virtual block devices
(disk), virtual camera devices.
CPU
• Control-sensitive instructions attempt to change the
VIRTUALIZATION
configuration of resources used.
• Behavior-sensitive instructions have different behaviors
depending on the configuration of resources, including the
load/store operations over the virtual memory
• RISC (Reduced Instruction Set Computer) CPU
architectures can be naturally virtualized
• x86 CPU architectures are not primarily designed to
support virtualization, because 10 sensitive instructions,
are not privileged instructions
MEMORY
• Virtual memory virtualization is similar to virtual
VIRTUALIZATION
memory supported by modern OS
• Modern x86 CPUs include a memory management unit
(MMU) and a translation lookaside buffer (TLB) to
optimize virtual memory performance.
• Two-stage mapping process should be maintained by
the guest OS and the VMM, respectively: virtual
memory to physical memory and physical memory to
machine memory.
• each page table of the guest OS’s has a separate page
table in the VMM corresponding to it, the VMM page
table is called the shadow page table.
• MMU already handles virtual-to-physical translations
as defined by the OS.
• VMware uses shadow page tables to perform virtual-
memory-to-machine-memory address translation.
• Processors use TLB hardware to map the virtual
memory directly to the machine memory to avoid the
two levels of translation on every access.
Virtual Clusters & Resources
Virtual clusters are built with VMs installed
at distributed servers from one or more physical clusters.
The VMs in a virtual cluster are interconnected logically
by a virtual network across several physical networks.
Each virtual cluster is formed with physical
machines or a VM hosted by multiple physical clusters.
The virtual cluster boundaries are shown as distinct
boundaries.
The provisioning of VMs to a virtual cluster is done dynamically
to have the following interesting properties:
• The virtual cluster nodes can be either physical or virtual
machines. Multiple VMs running with different OSes can be
deployed on the same physical node.
• A VM runs with a guest OS, which is often different from the
host OS, that manages the resources in the physical machine,
where the VM is implemented.
• The purpose of using VMs is to consolidate multiple
functionalities on the same server. This will greatly enhance
server utilization and application flexibility.