Professional Documents
Culture Documents
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….
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….
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….
18
Contd…
20
CLOUD SOFTWARE ENVIRONMENTS
21
Eucalyptus Architecture
23
Components of Eucalyptus
24
Contd….
25
26
OPENNEBULA
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…
➢ 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.
➢ 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