You are on page 1of 37

UNIT V CASE STUDIES

Google App Engine(GAE) – GAE Architecture – Functional Modules


of GAE – Amazon Web Services(AWS) – GAE Applications – Cloud
Software Environments – Eucalyptus – Open Nebula –Open Stack.

1
GOOGLE APP ENGINE(GAE)

➢ Google App Engine is a PaaS cloud that provides a complete Web service environment.
➢ All required hardware, operating systems, and software are provided to clients.
➢ Thus, clients only have to focus on the installation or creation of their own services,
while App Engine runs the services on google’s servers.
➢ However, App Engine is very restricted in what language can be used to build services.
At time of writing, App Engine only supports the Java and Python programming
languages.
➢ If one is not familiar with any of the supported programming languages, the App Engine
client has to learn the language before building his or her own services.
➢ Furthermore, existing applications cannot simply be placed on App Engine: Only services
written completely in Java and Python are supported.

2
Contd…

➢ Finally, App Engine does not contain any support to publish services created by other
providers, nor does it provide discovery and selection services.
➢ After creating and hosting services, clients have to publish their services to discovery services
external to App Engine. At the time of writing, an examination of an App Engine code pages also
found no matches when the keyword "discovery" was used as a search string.
➢ Google has the world's largest search engine facilities. The company has extensive experience
in massive data processing that has led to new insights into data-center design and novel
programming models that scale to incredible sizes.
➢ The Google platform is based on its search engine expertise with MapReduce, this
infrastructure is applicable to many other areas.
➢ Google has hundreds of data centers and has installed more than 460,000 servers worldwide.
➢ For example, 200 Google data centers are used at one time for a number of cloud applications.
Data items are stored in text, images, and videos and are replicated to tolerate faults or failure.
➢ Google’s App Engine (GAE) Which offers a PaaS platform supporting various cloud and web
application.
3
Google Cloud Infrastructure

➢ Google has pioneered cloud development by leveraging the large number of data centers it operates.
For example, Google pioneered cloud services in Gmail, Google Does, and Google Earth, among
other applications.
➢ These applications can support a large number of users simultaneously with HA.
➢ Notable technology achievements include the Google File System (GFS), MapReduce, BigTable,
and Chubby.
➢ In 2008, Google announced the GAE web application platform which is becoming a common
platform far many small cloud service providers. This platform specializes in supporting scalable
(elastic) web applications.
➢ GAE enables user to run their applications on a large number of data centers associated with
4
Google‘s search engine operations.
5
GAE Architecture

➢ The major building blocks of the Google cloud platform which has been used to deliver
the cloud services highlighted earlier.
➢ GFS is used for storing large amounts of data.
➢ MapReduce is for use in application program development.
➢ Chubby is for distributed application lock services.
➢ BigTable offers a storage service for accessing structured data.
➢ Users can interact with Google applications via the web interface provided by each
application.

6
GAE Architecture

➢ Third-party application providers can use GAE to build cloud applications providing
services.
➢ The applications all run in data centers under tight management by Google engineers.
Inside each data center, there are thousands of servers forming different clusters
➢ Google is one of the larger cloud application providers, although its fundamental service
program is private and outside people cannot use the Google infrastructure to build their
own service.
➢ The building blocks of Google’s cloud computing application include the Google File
System for storing large amount of data, the MapReduce programming framework for
application developers.

7
Contd..

➢ Chubby for distributed application lock services, and Big Table as a storage service for
accessing structural or semistructural data.
➢ With these building blocks, Google has built many cloud applications. It shows the
overall architecture of the Google cloud infrastructure.
➢ A typical cluster configuration can run the Google file System, MapReduce jobs, and
BigTabIe servers for Structure data.
➢ Extra services such as Chubby for distributed locks can also run in the clusters.
➢ GAE runs the program on Google’s infrastructure. As it is a platform running third-party
programs, application developers now do not need to worry about the maintenance of
servers.

8
Contd….

➢ GAE can be thought of as the combination of several software components.


➢ The frontend is an application framework which is similar to other web application
frameworks such as ASP, J2EE, and JSP.
➢ At the time of this writing, GAE supports python and Java programming environments.
The applications can run similar to web application containers.
➢ The frontend can used as the dynamic web serving infrastructure which can provide The
full support of common technologies.

9
FUNCTIONAL MODULES OF GAE

➢ The GAE platform comprises the following five major Components. The GAE is
not an infrastructure platform, but rather an application development platform for users.
We describe the component functionalities separately.
a. The datastore offers object-oriented, distributed, structured data storage services
based in BigTable techniques. The datastore secures data management operations.
b. The application runtime environment offers a platform for scalable web
programming and execution. It supports two development languages: Python and
java.
c. The software development kit (SDK) is used for local application development. The
SDK allows user to execute test runs of local applications and upload application
code.
d. The administration console is used for easy management of user application
development cycles, instead of for physical resource management.
e. The GAE web service infrastructure provides special interfaces to guarantee
flexible use and management of storage and network resources by GAE.
10
Contd….

➢ Google offers essentially free GAE to all Gmail account owners.


➢ 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.
➢ Note that GAE only accepts python, Ruby, and java programming languages. The platform
does not provide any IaaS services, unlike Amazon, which offers IaaS and PaaS.
➢ This model allows the user to deploy user-built application on top of the cloud infrastructure
that are built using the programming language 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.

11
GAE APPLICATIONS

➢ Well known GAE application include the Google Search Engine, Google Docs, Google Earth, and
Gmail. These applications can support large numbers of users simultaneously.
➢ Users can interact with Google applications via the web interface Provided by each application.
➢ Third-party application provider can use GAE to build cloud applications for providing services.
➢ The applications are all run in the Google data centers. Inside each data center, there might be
thousands of server nodes to form different clusters. Each cluster can run multipurpose servers.
➢ GAE supports many web applications. One is a storage service to store application-specific data in
the Google infrastructure.

12
Contd….

➢ The data can be persistently stored in the backend storage server while still providing the facility for
queries, sorting, and even transactions similar to traditional database systems.
➢ GAE also provides Google-specific services, such as the Gmail account service (which is the login
service, that is, applications can use the Gmail account directly).
➢ This can eliminate the tedious work of building customized user management components in web
applications.
➢ Thus, web applications built on top of GAE can use the APIs authenticating users and sending e-
mail using Google accounts.

13
AMAZON WEB SERVICES (AWS)

➢ 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 laaS model in providing its services.
➢ EC2 provides the virtualized platforms to the host VMs where the cloud
application can run.
➢ S3 (Simple Storage Service) provides the object-oriented storage service for
users.
➢ 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.
14
15
The message can kept reliably even when the receiver processes are not running. Users can
access their objects through SOAP with either browsers or other programs which support SOAP standard.

16
Contd….

➢ Amazon offers queuing and notification services (SQS and SNS),


which are implemented in the AWS cloud.
➢ Note brokering systems run very efficiently in clouds and offer a
striking model for controlling sensors and providing office support of
smartphones and tablets.
➢ Different from Google, Amazon provides a more flexible cloud
computing platform for developers to build cloud applications.
➢ Small and medium-size companies can put their business on the
Amazon cloud platform. Using AWS platform, they can service large 17
Contd…

➢ ELB automatically distributes incoming application traffic across multiple


Amazon EC2 instances and allows user to avoid nonoperating nodes and to
equalize load on functioning images.
➢ Both autoscaling and ELB are enabled by CloudWatch which monitors running
instances.
➢ CloudWatch is a web service that provides monitoring for AWS cloud
resources, starting with Amazon EC2.
➢ It provides customers with visibility into resource utilization, operational
performance, and overall demand patterns, including metrics such as CPU
utilization, disk reads and writes. and network traffic.

18
Contd…

➢ The Elastic MapReduce capability is equivalent to Hadoop running on the


basic EC2 offering.
➢ AWS Import/Export allows one to ship large volumes of data to and from
EC2 by shipping physical disks; it is well known that this is often the
highest bandwidth connection between geographically distant systems.
➢ Amazon CloudFront implements a Content distribution network.
➢ Amazon DevPay is a simple-to-use online billing and account management
service that makes it easy for businesses to Sell applications that are built
into or run on top of AWS. 19
Contd…

➢ FPS provides developers of commercial systems on A WS with a


convenient way to charge Amazon’s customers that use such services
built on AWS.
➢ Customers can pay using the same login credentials, shipping address,
and payment information they already have on file with Amazon.
➢ FWS allows merchants to access Amazon's fulfillment capabilities
through a simple web service interface.
➢ Merchants can send order information to Amazon to fulfill Customer
orders on their behalf. In July 2010, Amazon Offered MPI clusters and
cluster compute instances.

20
CLOUD SOFTWARE ENVIRONMENTS

Open Source Eucalyptus and Nimbus:


➢ Eucalyptus is a product from Eucalyptus Systems (www.eucalyptus.com) that
was developed out of a research project at the University of California, Santa
Barbara.
➢ Eucalyptus was initially aimed at bringing the cloud computing paradigm to
academic supercomputers and clusters.
➢ Eucalyptus provides an AWS-compliant EC2-based web service interface for
interacting with the cloud service.
➢ Additionally, Eucalyptus provides services, such as the AWS-compliant
Walrus, und user interface for managing users and images.

21
Eucalyptus Architecture

➢ Eucalyptus is an open Source Linux based software architecture which


provides an EC2-compatible cloud computing platform and S3-compatible
cloud storage platform.
➢ It implements scalable, efficient-enhancing and private and hybrid clouds
within and organizations IT infrastructure. It gives an Infrastructure a
Service(IaaS) solution. Users can use commodity hardware.
➢ Eucalyptus was developed to support the high performance computing (HPC).
Eucalyptus can be deployed without modification of all major Linux OS
distribution, including Ubuntu, RHEL/CentOS, openSUSE, and Debian.
➢ The architecture based on the need to manage VM images. The system
supports cloud programmers in VM image management as follows.
➢ Essentially, the system has been extended to support the development of both
computer cloud and storage cloud. 22
Eucalyptus Features

For implementing, managing and maintaining the virtual machines, network


and storage Eucalyptus has variety of features.
❖ SSH Key Management
❖ Image Management
❖ Linux-based VM Management
❖ IP Address Management
❖ Security Group Management
❖ Volume and Snapshot Management

23
Components of Eucalyptus

1. Cluster Controller (CC):


Cluster Controller manages the one or more Node controller and
responsible for deploying and managing instances on them. It communicates, with
Node Controller and Cloud Controller simultaneously. CC also manages the
networking for the running instances under certain types of networking modes
available in Eucalyptus.
2. Cloud Controller (CLC):
Cloud Controller is front end for the entire ecosystem. CLC provides
an Amazon EC2/S3 Compliant web services interface to the client tools on one
side and interacts with the rest of the of the components of the Eucalyptus
infrastructure on the other side.

24
Contd….

3. Node Controller (NC)


NC is the basic component for Nodes. Node controller maintain the
life cycle of the instances running on each nodes. Node Controller interacts with
the OS, hypervisor and the Cluster Controller simultaneously.
4. Walrus Storage Controller (WS3)
Walrus Storage Controller is a simple file storage system. WS3 stores
the machine images and snapshots. It also stores and serves files using S3 APIs.
5. Storage Controller (SC)
Allows the creation of snapshots of volumes. provides persistent
block storage over AoE or iSCSI to the instances.

25
26
OPENNEBULA

➢ OpenNebula is a simple, feature-rich and flexible solution for the management


of virtualized data centers. It enable private, public, and hybrid clouds. Here
are a few facts about this solution.
➢ OpenNebula is an open source cloud middleware solution that manages
heterogeneous distributed data centre infrastructures. It is designed to be a
simple but feature-rich, production-ready, customisable solution to build and
manage enterprise clouds—simple to install, update operate by the
administrators and simple to use by end users.
➢ OpenNebula combines existing virtualisation technologies with advanced
features for multi-tenancy, automated provisioning and elasticity.
➢ A built-in virtual network manager maps virtual network to physical networks.
Distributions such as Ubuntu and Red Hat Enterprise Linux have already
integrated OpenNebula 27
➢ An OpenNebuIa deployment is modelled after the classic cluster architecture.
Contd…

Master node: A single gateway or front-end machine, sometimes also called the master
node, is responsible for queuing, scheduling and submitting jobs to the machines in the
cluster. It runs several other OpenNebula services mentioned below:

❖ Provides an interface to the user to submit virtual machines and monitor their status.
❖ Manages and monitors all virtual machines running on different nodes in the cluster.
❖ It hosts the virtual machine repository and also runs a transfer service to manage the
transfer of virtual machine images to the concerned worker nodes.
❖ provides an easy-to-use mechanism to set up virtual networks in the cloud.
❖ Finally, the front-end allows you to add new machines to your cluster.

Worker node: The other machines in the cluster, known as ‘worker nodes’ provide raw
computing power for processing the jobs submitted go the cluster. The worker nodes in an
OpenNebuIa cluster are machines that deploy a virtualisation hypervisor, such as VMware,
Xen or KVM.
28
OpenNebula Sunstone

➢ OpenNebula Sunstone is a graphical user interface (GUI), intended for both end
users and administrators, which simplifies the typical management operations in
private and hybrid cloud infrastructures.
➢ OpenNebula Sunstone allows one to easily manage all OpenNebula resources
and perform typical operations on them.
➢ OpenNebula is an open source toolkit which allows users to transform existing
infrastructure into an laaS cloud With cloud-like interfaces.
➢ The architecture of OpenNebula has been designed to be flexible and modular
allow integration with different storage and network infrastructure
configurations, and hypervisor technologies.
➢ Here, the core is a centralized component that manages the VM full life cycle,
including setting up networks dynamically for groups of VMs and managing
their storage requirements, such as VM disk image deployment or on-the-fly29
software environment creation.
Contd…

➢ Another important component is the capacity manager or scheduler. It governs the


functionality provided by the core. The default capacity scheduler is a requirement /rank
matchmaker.

➢ However, it is also possible to develop more complex scheduling policies, through a lease
model and advance reservations. The last main components are the access drivers. They
provide an abstraction of the underlying infrastructure to expose the basic functionality of
the monitoring, storage, and virtualization services available in the cluster.

➢ Therefore, OpenNebula is not tied to any specific environment and can provide a uniform
management layer regardless of the virtualization platform.

➢ Additionally, OpenNebula offers management interfaces to integrate the core’s


functionality within other data-center management tools, such as accounting or
monitoring frameworks. To this end, OpenNebula implements the libvirt API, an open
interface for VM management, as well as a command-line interface (CLI). 30
Contd..

➢ A subset of this functionality is exposed to external users through a cloud interface. OpenNebula is
able to adapt to organizations with changing resource needs, including addition or failure of
physical resources. Some essential features to changing environments are live migration and VM
snapshots.

➢ Furthermore, when the local resources are insufficient, OpenNebula can support a hybrid cloud
model by using cloud drivers to interface with external clouds. This lets organintions supplement
their local infrastructure with computing capacity from a public cloud to meet demands, or
implement HA strategies.

➢ OpenNebuIa currently includes an EC2 driver. which can submit requests to Amazon EC2 and
Eucalyptus, as well as an ElasticHosts driver. Regarding storage as an Image Repository allows
users to easily specify disk images from a catalo without worrying about low-level disk
configuration attributes or block device mapping.
➢ Also, image access control is applied to the images registered in the repository, hence simplifying
multiuser environments and image sharing Nevertheless, users can also set up their own images 31
32
OPENSTACK

➢ OpenStack software controls large pools of compute, Storage. and networking resources
throughout a datacenter, managed through a dashboard or via the OpenStack API.
OpenStack works with enterprise and open source technologies making it ideal for
heterogeneous infrastructure.
➢ Hundreds of the world's largest brands rely on OpenStack to run their businesses every day,
reducing costs and helping them move faster.
➢ OpenStack has a strong ecosystem and users seeking commercial support can choose from
different
➢ OpenStack-powered products and services in the Marketplace.
➢ 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.

33
34
Contd..

➢ In the tradition of other open source projects, the software is open source and limited to just open
source APIs such as Amazon.
➢ OpenStack is a cloud operating system that controls large pools of compute, storage, and
networking resources throughout a datacenter, all managed through dashboard that gives
administrators Control while empowering their users to provision resources through a web
interface.

➢ Currently, OpenStack focuses on the development of two aspects of cloud computing to address
compute and storage aspects with the “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 respiratory contains an image registration and discovery service and an image delivery
service. Together they deliver images to the compute service while obtaining them from the
storage service. This development gives an indication that the project is striving to integrate more
service into its portfolio. 35
Contd..

➢ OpenStack is a combination of open source tools (known as projects) that use pooled virtual
resources to build and manage private and public clouds. Six of these projects handle the core
cloud-computing services of compute, networking, storage,
➢ Identity, and image services, while more than a dozen optional projects can be bundled together to
create unique, deployable clouds.
➢ Think about it like this. In virtualization, resources such storage, CPU, and RAM are abstracted
from a variety of vendor-specific programs and split by a hypervisor before being distributed as
needed. OpenStack uses a consistent set of application programming (APIs) to abstract those
virtual resources 1 step further into discrete pools used to power standard cloud computing tools
that administrators and users interact with directly.
➢ OpenStack is essentially a series of commands known as scripts. Those scripts are bundled into
packages called projects that relay tasks that create cloud environments.
➢ In order to create those environments, OpenStack relies 2 other types of software:
❖ Virtualization that creates a layer of virtual resources abstracted from hardware
❖ A base operating system (OS) that carries out commands given by Open-Stack scripts
36
Contd…

➢ OpenStack's architecture is made up of numerous open source projects. There are 6 stable, core
services handle compute, networking, storage, identity, and images while more than a dozen
optional ones vary in developmental maturity.
➢ Those 6 core services are the infrastructure that allows the rest of the projects to handle
dashboarding, orchestration, bare-metal provisioning, messaging, containers, and governance.

❖ Nova is a full management and access tool to OpenStack compute resources— handling
scheduling, creation, and deletion,
❖ Neutron connects the networks across other OpenStack services.
❖ Swift is a highly fault-tolerant object storage service that stores and retrieves unstructured data
objects using a RESTful API.
❖ Cinder provides persistent block storage accessible through a self-service API.
❖ Keystone authenticates and authorizes all OpenStack services. It's also the endpoint catalog
for all services.
❖ Glance stores and retrieves virtual machine disk images from a variety of locations.
37

You might also like