Unit-5 Final
Unit-5 Final
UNIT-V
CASE STUDIES
At the top level, individual users and organizational users demand very
different services.
The application providers at the SaaS level serve mainly individual
users.
Most business organizations are serviced by IaaS and PaaS providers.
The infrastructure services (IaaS) provide compute, storage, and
communication resources to both applications and organizational users.
The cloud environment is defined by the PaaS or platform providers.
Note that the platform providers support both infrastructure services and
organizational users directly.
Cloud services rely on new advances in machine virtualization, SOA,
grid infrastructure management, and power efficiency.
Consumers purchase such services in the form of IaaS, PaaS, or SaaS
as described earlier. Also, many cloud entrepreneurs are selling value-
added utility services to massive numbers of users.
Amazon
Amazon pioneered the IaaS business in supporting e-commerce and cloud
applications by millions of customers simultaneously.
The elasticity in the Amazon cloud comes from the flexibility provided by
the hardware and software services.
EC2 provides an environment for running virtual servers on demand. S3
provides unlimited online storage space. Both EC2 and S3 are supported in
the AWS platform.
Microsoft
Microsoft offers the Azure platform for cloud applications.
It has also supported the .NET service, dynamic CRM, Hotmail, and SQL
applications
Salsforce.com
Salsforce.com offers extensive SaaS applications for online CRM
applications using its Force.com platforms.
In General,
In Table 5.1, all IaaS, PaaS, and SaaS models allow users to access services
over the Internet, relying entirely on the infrastructures of the cloud service
providers.
These models are offered based on various SLAs between the providers and
the users.
For cloud computing services, it is difficult to find a reasonable precedent
for negotiating an SLA.
In a broader sense, the SLAs for cloud computing address service
availability, data integrity, privacy, and security protection.
Blank spaces in the table refer to unknown or underdeveloped features.
GAE Architecture
The major Building blocks of the Google cloud platform which has been
used to deliver the cloud services are shown in the below figure.
With these building blocks, Google has built many cloud applications.
Above Figure shows the overall architecture of the Google cloud
infrastructure.
A typical cluster configuration can run the Google File System, Map-
Reduce jobs, and Big Table servers for structure data.
Extra services such as Chubby for distributed locks can also run in the
clusters.
Google offers essentially free GAE services to all Gmail account owners.
You can register for a GAE account or use your Gmail account name to
sign up for the service.
The service is free within a quota.
– If you exceed the quota, the page instructs you on how to pay for
the service.
– Then you download the SDK and read the Python or Java guide to get
started.
The platform does not provide any IaaS services, unlike Amazon, which
offers Iaas and PaaS.
This model allows the user to deploy user-built applications on top of
the cloud infrastructure that are built using the programming
languages and software tools supported by the provider (e.g., Java,
Python).
Azure does this similarly for .NET.
– The user does not manage the underlying cloud infrastructure.
– The cloud provider facilitates support of application development,
testing, and operation support on a well-defined service platform.
VMs can be used to share computing resources both flexibly and safely.
Amazon has been a leader in providing public cloud services
(http://aws.amazon.com/).
Amazon applies the IaaS model in providing its services. Figure shows the
AWS architecture.
EC2 provides the virtualized platforms to the host VMs where the cloud
application can run.
EBS (Elastic Block Service) provides the block storage interface which
can be used to support traditional applications.
SQS stands for Simple Queue Service, and its job is to ensure a reliable
message service between two processes.
– The message can be kept reliably even when the receiver processes
are not running.
– Users can access their objects through SOAP with either browsers or
other client programs which support the SOAP standard.
Table 4.6 summarizes the service offerings by AWS in 12 application
tracks.
Amazon offers queuing and notification services (SQS and SNS), which
are implemented in the AWS cloud.
GAE Applications
GAE Applications
VM Image Management
Eucalyptus takes many design queues from Amazon’s EC2, and its image
management system is no different.
Eucalyptus stores images in Walrus, the block storage system that is
analogous to the Amazon S3 service.
As such, any user can bundle their own root file system, and upload
and then register this image and link it with a particular kernel and
ram-disk image.
This image is uploaded into a user-defined bucket within Walrus, and
can be retrieved anytime from any availability zone.
This allows users to create specialty virtual appliances
(http://en.wikipedia.org/wiki/Virtual_appliance) and deploy them within
Eucalyptus with ease.
The Eucalyptus system is available in a commercial proprietary version, as
well as the open source version we just described.
Nimbus
Nimbus is a set of open source tools that together provide an IaaS cloud
computing solution.
Figure shows the architecture of Nimbus,
– Which allows a client to lease remote resources by deploying
VMs on those resources and configuring them to represent the
environment desired by the user.
Nimbus Web.
To this end, Nimbus provides a special web interface known as Nimbus
Web.
Its aim is to provide administrative and user functions in a friendly
interface.
Nimbus Web is centered around a Python Django web application that is
intended to be deployable completely separate from the Nimbus service.
As shown in Figure, a storage cloud implementation called Cumulus has
been tightly integrated with the other central services, although it can also
be used stand-alone.
Cumulus
Cumulus is compatible with the Amazon S3 REST API ,but extends its
capabilities by including features such as quota management.
Therefore, clients such as boto and s2cmd, that work against the S3 REST
API, work with Cumulus.
On the other hand, the Nimbus cloud client uses the Java Jets3t library to
interact with Cumulus.
Nimbus supports two resource management strategies.
– The first is the default “resource pool” mode.
In this mode, the service has direct control of a pool of VM
manager nodes and it assumes it can start VMs.
– The other supported mode is called “pilot.”
OpenStack
OpenStack
OpenStack was been introduced by Rackspace and NASA in July 2010.
The project is building an open source community spanning
technologists, developers, researchers, and industry to share resources
and technologies with the goal of creating a massively scalable and
secure cloud infrastructure.
In the tradition of other open source projects, the software is open source
and limited to just open source APIs such as Amazon.
Currently, OpenStack focuses on the development of two aspects of
cloud computing to address compute and storage aspects with the
OpenStack Compute and OpenStack Storage solutions.
“OpenStack Compute is the internal fabric of the cloud creating and
managing large groups of virtual private servers” and “OpenStack Object
Storage is software for creating redundant, scalable object storage using
clusters of commodity servers to store terabytes or even petabytes of data.”
Recently, an image repository was prototyped.
– The image repository contains an image registration and
discovery service and an image delivery service.
OpenStack Compute
As part of its computing support efforts, OpenStack is developing a
cloud computing fabric controller, a component of an IaaS system,
known as Nova.
The architecture for Nova is built on the concepts of shared-nothing and
messaging-based information exchange.
Hence, most communication in Nova is facilitated by message queues.
To prevent blocking components while waiting for a response from
others, deferred objects are introduced.
Such objects include callbacks that get triggered when a response is
received.
This is very similar to established concepts from parallel computing, such
as “futures,” which have been used in the grid community by projects such
as the CoG Kit.
To achieve the shared-nothing paradigm, the overall system state is kept
in a distributed data system.
State updates are made consistent through atomic transactions.
Nova it implemented in Python while utilizing a number of externally
supported libraries and components.
This includes boto, an Amazon API provided in Python, and Tornado, a
fast HTTP server used to implement the S3 capabilities in OpenStack.
Figure shows the main architecture of Open Stack Compute.
In this architecture,
– The API Server receives HTTP requests from boto, converts the
commands to and from the API format, and forwards the requests to
the cloud controller.
– The cloud controller maintains the global state of the system,
ensures authorization while interacting with the User Manager via
Lightweight Directory Access Protocol (LDAP), interacts with the
The network state (managed in the distributed object store) consists of the
following:
– VLAN assignment to a project
– Private subnet assignment to a security group in a VLAN
– Private IP assignments to running instances
– Public IP allocations to a project
– Public IP associations to a private IP/running instance
OpenStack Storage