You are on page 1of 15

UNIT III

VIRTUALIZATION

Cloud deployment models: public, private, hybrid, community – Categories of cloud computing:
Everything as a service: Infrastructure, platform, software - Pros and Cons of cloud computing –
Implementation levels of virtualization – virtualization structure – virtualization of CPU,
Memory and I/O devices – virtual clusters and Resource Management – Virtualization for data
center automation.

What is Cloud Computing?

 Cloud computing is a type of computing that mainly depends on resource sharing instead
of handling applications by local servers or individual devices.

 Using the internet enabled devices, cloud computing permit the function of application
software. Cloud computing, also known as the cloud, can be used as a synonym for the
Internet.

 Cloud computing can serve a diverse range of functions over the Internet like storage and
virtual servers; applications and authorization for desktop applications.

 By taking advantage of resource sharing, cloud computing is able to achieve consistency


and economies of scale.

 The types of cloud computing are classified based on two models.

1. Cloud computing deployment models.

2. Cloud computing service models

3.1 Cloud deployment models

 Public Models
 Private Models,
 Hybrid Models,
 Community Models

1
Public Models

 A public cloud is built over the Internet and can be accessed by any user who has paid for
the service. Public clouds are owned by service providers and are accessible through a
subscription. The callout box in top of Figure 4.1 shows the architecture of a typical
public cloud.
 Many public clouds are available, including Google App Engine (GAE), Amazon Web
Services (AWS), Microsoft Azure, IBM Blue Cloud, and Salesforce.com’s
Force.com.
 The providers of the aforementioned clouds are commercial providers that offer a
publicly accessible remote interface for creating and managing VM instances within their
proprietary infrastructure.
 A public cloud delivers a selected set of business processes.
 The application and infrastructure services are offered on a flexible price-per-use basis.

2
Private Models
 A private cloud is built within the domain of an intranet owned by a single organization.
Therefore, it is client owned and managed, and its access is limited to the owning clients
and their partners.
 Its deployment was not meant to sell capacity over the Internet through publicly
accessible interfaces.
 Private clouds give local users a flexible and agile private infrastructure to run service
workloads within their administrative domains.
 A private cloud is supposed to deliver more efficient and convenient cloud services.
 It may impact the cloud standardization, while retaining greater customization and
organizational control.
Hybrid Models
 A hybrid cloud is built with both public and private clouds, as shown at the lower-left
corner of Figure 4.1.
 Private clouds can also support a hybrid cloud model by supplementing local
infrastructure with computing capacity from an external public cloud.
 For example, the Research Compute Cloud (RC2) is a private cloud, built by IBM, that
interconnects the computing and IT resources at eight IBM Research Centers scattered
throughout the United States, Europe, and Asia.
 A hybrid cloud provides access to clients, the partner network, and third parties.
Community Models

 It is a type of cloud hosting in which the setup is mutually shared between many
organisations that belong to a particular community, i.e. banks and trading firms.
 A community cloud is similar to a public cloud except that its access is limited to a
specific community of cloud consumers.
 The community cloud may be jointly owned by the community members or by a third-
party cloud provider that provisions a public cloud with limited access.
 The member cloud consumers of the community typically share the responsibility for
defining and evolving the community cloud (Figure 1).
 Membership in the community does not necessarily guarantee access to or control of all
the cloud's IT resources.

3
 Parties outside the community are generally not granted access unless allowed by the
community.

3.2 Categories of Cloud Computing (Cloud computing service models)


Cloud computing delivers infrastructure, platform, and software (application) as services, which
are made available as subscription-based services in a pay-as-you-go model to consumers.
The services provided over the cloud can be generally categorized into three different service
models: namely
 Infrastructure-as-a-Service (IaaS)
 Platform-as-a-Service (PaaS) and
 Software-as-a-Service (SaaS)
All three models allow users to access services over the Internet, relying entirely on the
infrastructures of cloud service providers. These models are offered based on various SLAs
between providers and users.
Figure 4.5 illustrates three cloud models at different service levels of the cloud. SaaS is applied
at the application end using special interfaces by users or clients.
At the PaaS layer, the cloud platform must perform billing services and handle job queuing,
launching, and monitoring services.

4
At the bottom layer of the IaaS services, databases, compute instances, the file system, and
storage must be provisioned to satisfy user demands.

Infrastructure-as-a-Service (IaaS)
 This model allows users to use virtualized IT resources for computing, storage, and
networking. In short, the service is performed by rented cloud infrastructure.
 The user can deploy and run his applications over his chosen OS environment.
 The user does not manage or control the underlying cloud infrastructure, but has control
over the OS, storage, deployed applications, and possibly select networking components.
 This IaaS model encompasses storage as a service, compute instances as a service, and
communication as a service.
Table 4.1 summarizes the IaaS offerings by five public cloud providers.

5
Example for IaaS
Amazon VPC (Virtual Private Cloud) for Multiple Tenants
 A user can use a private facility for basic computations. When he must meet a specific
workload requirement, he can use the Amazon VPC to provide additional EC2 instances
or more storage (S3) to handle urgent applications.
 Figure 4.6 shows VPC which is essentially a private cloud designed to address the
privacy concerns of public clouds that hamper their application when sensitive data and
software are involved.

 Amazon EC2 provides the following services:


 resources from multiple data centers globally distributed,
 CL1,
 web services (SOAP and Query),
 web-based console user interfaces,
 access to VM instances via SSH and Windows, 99.5 percent
available agreements,
 per-hour pricing,
 Linux and Windows OSes,
 and automatic scaling and load balancing.
 VPC allows the user to isolate provisioned AWS processors, memory, and storage from
interference by other users.
 Both auto-scaling and elastic load balancing services can support related demands.
 Auto-scaling enables users to automatically scale their VM instance capacity up or down.

6
 With auto-scaling, one can ensure that a sufficient number of Amazon EC2 instances are
provisioned to meet desired performance.
 Or one can scale down the VM instance capacity to reduce costs, when the workload is
reduced.
Platform as a Service (PaaS)
 To be able to develop, deploy, and manage the execution of applications using
provisioned resources demands a cloud platform with the proper software environment.
 Such a platform includes operating system and runtime library support.
 This has triggered the creation of the PaaS model to enable users to develop and deploy
their user applications.
Table 4.2 highlights cloud platform services offered by five PaaS services.

 The platform cloud is an integrated computer system consisting of both hardware and
software infrastructure.
 The user application can be developed on this virtualized cloud platform using some
programming languages and software tools supported by the provider (e.g., Java, Python,
.NET). The user does not manage the underlying cloud infrastructure.
 The cloud provider supports user application development and testing on a well-defined
service platform.
 This PaaS model enables a collaborated software development platform for users from
different parts of the world. This model also encourages third parties to provide software
management, integration, and service monitoring solutions.

7
Example for Paas
Google App Engine for PaaS Applications
 As web applications are running on Google’s server clusters, they share the same
capability with many other users.
 The applications have features such as automatic scaling and load balancing which are
very convenient while building web applications.
 The distributed scheduler mechanism can also schedule tasks for triggering events at
specified times and regular intervals.
 Figure 4.7 shows the operational model for GAE. To develop applications using GAE, a
development environment must be provided.

 Google provides a fully featured local development environment that simulates GAE on
the developer’s computer.
 All the functions and application logic can be implemented locally which is quite similar
to traditional software development.
 The coding and debugging stages can be performed locally as well.

8
 After these steps are finished, the SDK provided provides a tool for uploading the user’s
application to Google’s infrastructure where the applications are actually deployed.
 Many additional third-party capabilities, including software management, integration,
and service monitoring solutions, are also provided.
Here are some useful links when logging on to the GAE system:
 Google App Engine home page: http://code.google.com/appengine/
 Sign up for an account or use your Gmail account name: https://appengine.google.com/
 Download GAE SDK: http://code.google.com/appengine/downloads.html
 Python Getting Started Guide:
http://code.google.com/appengine/docs/python/gettingstarted/
 Java Getting Started Guide: http://code.google.com/appengine/docs/java/gettingstarted/
 Quota page for free service:
http://code.google.com/appengine/docs/quotas.html#Resources
 Billing page if you go over the quota:
http://code.google.com/appengine/docs/billing.html#Billable_Quota_Unit_Cost

Software as a Service (SaaS)


 This refers to browser-initiated application software over thousands of cloud customers.
 Services and tools offered by PaaS are utilized in construction of applications and
management of their deployment on resources offered by IaaS providers.
 The SaaS model provides software applications as a service.
 As a result, on the customer side, there is no upfront investment in servers or software
licensing. On the provider side, costs are kept rather low, compared with conventional
hosting of user applications.
 Customer data is stored in the cloud that is either vendor proprietary or publicly hosted to
support PaaS and IaaS.
 The best examples of SaaS services include Google Gmail and docs, Microsoft
SharePoint, and the CRM software from Salesforce.com.
 They are all very successful in promoting their own business or are used by thousands of
small businesses in their day-to-day operations.

9
Example 4.3
Three Success Stories on SaaS Applications
 1. To discover new drugs through DNA sequence analysis, Eli Lily Company has used
Amazon’sAWS platform with provisioned server and storage clusters to conduct high-
performance biological sequence analysis without using an expensive supercomputer.
The benefit of this IaaS application is reduced drug deployment time with much lower
costs.
 2. The New York Times has applied Amazon’sEC2 and S3 services to retrieve useful
pictorial information quickly from millions of archival articles and newspapers. The New
York Times has significantly reduced the time and cost in getting the job done.
 3. Pitney Bowes, an e-commerce company,offers clients the opportunity to perform B2B
transactions using the Microsoft Azure platform, along with .NET and SQL services.
These offerings have significantly increased the company’sclient base.

3.3 Pros and Cons of Cloud Computing


There is no doubt that businesses can reap huge benefits from cloud computing. However, with
the many advantages, come some drawbacks as well.
Advantages of Cloud Computing (Pros)

Cost Savings

 The most significant cloud computing benefit is in terms of IT cost savings.


 Businesses, no matter what their type or size, exist to earn money while keeping capital
and operational expenses to a minimum.
 The cloud computing can save substantial capital costs with zero in-house server storage
and application requirements.
 The lack of on-premises infrastructure also removes their associated operational costs in
the form of power, air conditioning and administration costs.
 The user pay for what is used and disengages whenever you like - there is no invested IT
capital to worry about.

10
Reliability

 With a managed service platform, cloud computing is much more reliable and consistent
than in-house IT infrastructure.

 Most providers offer a Service Level Agreement which guarantees 24/7/365 and 99.99%
availability.

 The organization can benefit from a massive pool of redundant IT resources, as well as
quick failover mechanism - if a server fails, hosted applications and services can easily be
transited to any of the available servers.

Manageability

 Cloud computing provides enhanced and simplified IT management and maintenance


capabilities through central administration of resources, vendor managed infrastructure
and SLA backed agreements.

 IT infrastructure updates and maintenance are eliminated, as all resources are maintained
by the service provider.

 A simple web-based user interface for accessing software, applications and services –
without the need for installation - and an SLA ensures the timely and guaranteed
delivery, management and maintenance of your IT services.

Strategic Edge

 Ever-increasing computing resources give you a competitive edge over competitors, as


the time you require for IT procurement is virtually nil.

 The company can deploy mission critical applications that deliver significant business
benefits, without any upfront costs and minimal provisioning time.

11
 Cloud computing allows you to forget about technology and focus on your key business
activities and objectives.

 It can also help you to reduce the time needed to market newer applications and services.

Disadvantages of Cloud Computing

Downtime

 As cloud service providers take care of a number of clients each day, they can become
overwhelmed and may even come up against technical outages.
 This can lead the business processes being temporarily suspended.
 Additionally, if internet connection is offline, we will not be able to access any of our
applications, server or data from the cloud.

Security

 Although cloud service providers implement the best security standards and industry
certifications, storing data and important files on external service providers always opens
up risks.

 Using cloud-powered technologies need to provide service provider with access to


important business data.

 Meanwhile, being a public service opens up cloud service providers to security


challenges on a routine basis.

 In a multi-tenant cloud architecture where multiple users are hosted on the same server, a
hacker might try to break into the data of other users hosted and stored on the same
server. However, such exploits and loopholes are not likely to surface, and the likelihood
of a compromise is not great.

12
Vendor Lock-In

 Cloud service providers promise that the cloud will be flexible to use and integrate;
switching cloud services is something that hasn’t yet completely evolved.

 Organizations may find it difficult to migrate their services from one vendor to another.

 Hosting and integrating current cloud applications on another platform may throw up
interoperability and support issues.

 For instance, applications developed on Microsoft Development Framework (.Net) might


not work properly on the Linux platform.

Limited Control

 The cloud infrastructure is entirely owned, managed and monitored by the service
provider; it transfers minimal control over to the customer.

 The customer can only control and manage the applications, data and services operated
on top of that, not the backend infrastructure itself.

 Key administrative tasks such as server shell access, updating and firmware management
may not be passed to the customer or end user.

3.4 Virtualization

 Virtualization is the creation of a virtual (rather than actual) version of something, such
as an operating system, a server, a storage device or network resources.
 Virtualization is a computer architecture technology by which multiple virtual machines
(VMs) are multiplexed in the same hardware machine.
 The purpose of a VM is to enhance resource sharing by many users and improve
computer performance in terms of resource utilization and application flexibility.
 Hardware resources (CPU, memory, I/O devices, etc.) or software resources (operating
system and software libraries) can be virtualized in various functional layers.
13
Implementation Levels of Virtualization
 A traditional computer runs with a host operating system specially tailored for its
hardware architecture, as shown in Figure 3.1(a).
 After virtualization, different user applications managed by their own operating systems
(guest OS) can run on the same hardware, independent of the host OS. This is often done
by adding additional software, called a virtualization layer as shown in Figure 3.1(b).
 This virtualization layer is known as hypervisor or virtual machine monitor (VMM) [54].
 The VMs are shown in the upper boxes, where applications run with their own guest OS
over the virtualized CPU, memory, and I/O resources.

The virtualization software creates the abstraction of VMs by interposing a virtualization layer at
various levels of a computer system.
Common virtualization layers include the instruction set architecture (ISA) level, hardware level,
operating system level, library support level, and application level (see Figure 3.2).

14
15

You might also like