Cloud COMPUTING Module 5
Cloud COMPUTING Module 5
CLOUD PLATFORMS
IN
INDUSTRY
1
AMAZON WEB SERVICES
3
4
AMAZON’S COMPUTE SERVICES
Compute services constitute the fundamental element
of cloud computing systems.
The fundamental service is Amazon EC2, which
delivers an IaaS solution.
Amazon EC2 allows deploying servers in the form of
virtual machines created as instances of a specific
image (preinstalled).
Some Compute Service:
Amazon machine images
EC2 instances
EC2 environment
Advanced computer services
5
AMAZON MACHINE IMAGES (AMI)
AMIs are templates from which it is possible to create a
virtual machine.
They are stored in Amazon S3 and identified by a unique identifier in
the form of ami-xxxxxx and a manifest XMLfile.
AMI contains physical file system layout with a predefined operating
system installed as Amazon Ramdisk Image (ARI, id:ari-yyyyyy)
and the Amazon Kernel Image (AKI, id: aki-zzzzzz)
A common practice is to prepare new AMIs to create an instance
from a pre-existing AMI, log into it once it is booted and running, and
install software needed.
Using tools, convert the instance into a new image.
Once an AMI is created, it is stored in an S3 bucket and making its
availability is user’s choice. 6
EC2 INSTANCE
EC2 instances represent virtual machines. They are
created using AMI as templates, which are specialized
by selecting the number of cores, their computing
power, and the installed memory.
The processing power is expressed in terms of virtual
cores and EC2 Compute Units (ECUs).
By using compute units, Amazon can change over time
and keep the performance of EC2 instances consistent.
Over time, the h/w supporting the underlying
infrastructure will be replaced by more powerful h/w,
and the use of ECUs helps give users a consistent view
of the performance offered by EC2 instances.
7
EC2 INSTANCE
Currently available configurations for EC2 instances:
Standard instances
Micro instances
8
EC2 ENVIRONMENT
EC2 instances are executed within a virtual environment.
The EC2 environment is in charge of allocating addresses,
attaching storage volumes, and configuring security.
By default, instances are created with an internal IP
address, makes them capable of communicating.
It is possible to associate an Elastic IP to each instance,
which can then be remapped to a different instance.
EC2 instances are also given a domain name that generally
is in the form ec2-xxx-xxx-xxx.compute-x.amazonaws.com,
where xxx-xxx-xxx represents the four parts of the external
IP address separated by a dash, and compute-x gives
information about the availability zone.
Currently, there are five availability zones that are priced
differently: two in the United States (Virginia and Northern
California), one in Europe (Ireland), and two in Asia Pacific
(Singapore and Tokyo). 9
ADVANCED COMPUTE SERVICES
A. AWS CloudFormation - Constitutes an extension of
the simple deployment model that characterizes EC2
instances
B. AWS Elastic Beanstalk - To package applications and
deploy them on the AWS Cloud. This service
simplifies the process of provisioning instances and
deploying application code and provides appropriate
access
C. Amazon Elastic MapReduce – Provides platform for
MapReduce applications. It utilizes Hadoop as the
MapReduce engine, deployed on a virtual
infrastructure composed of EC2 instances, and uses
Amazon S3 for storage needs.
10
STORAGE SERVICES
S3 key concepts
S3 has been designed to provide a simple storage service
that’s accessible through a Representational State
Transfer(REST) interface.
Canonicalform: http://s3.amazonaws.com/bukect_name/
Sub domainform : http://bucketname.s3.amazon.com/
Virtual hostingform: http://bucket-name.com/
12
Buckets
A bucket is a container of objects.
14
Access control and security
Amazon S3 allows controlling the access to buckets and
objects by means of Access Control Policies (ACPs)
which is a set of grant permissions.
A policy allows defining up to 100 access rules, each of
them granting one of the available permissions to a
grantee.
Currently, five different permissions can be used:
READ allows the grantee to retrieve an object and its
metadata and to list the content of a bucket
WRITE allows the grantee to add an object to bucket as well
as modify and remove it.
READ_ACP allows the grantee to read the ACP of a
resource.
WRITE_ACP allows the grantee to modify the ACP resource 15
FULL_CONTROL grants all the above.
Amazon Elastic Block Store (EBS)
It allows AWS users to provide EC2 instances with
persistent storage in the form of volumes that can be
mounted at instance startup.
The capacity is upto1 TB of space and are accessed
through a block device interface.
EBS volumes normally reside within the same
availability zone of the EC2 instances.
It is also possible to connect volumes located in different
availability zones.
Once mounted as volumes, their content is lazily loaded
in the background and according to the request made by
the operating system.This reduces the number of I/O
requests that go to the network
16
AMAZON ELASTICACHE
Amazon SimpleDB.
18
Preconfigured EC2 AMIs are predefined templates
featuring an installation of a given database management
system.
EC2 instances created from these AMIs can be completed
with an EBS volume for storage persistence.
Available AMIs include installations of IBM DB2, Microsoft
SQL Server, MySQL, Oracle, PostgreSQL, Sybase, & Vertica.
24
GOOGLE APPENGINE
Google AppEngine is a PaaS implementation.
26
1. Infrastructure
AppEngine hosts Web applications,and its primaryfunction is
to serve users requests efficiently.
AppEngine’s infrastructure takes advantage of many servers
available within Google datacenters.
For each HTTP request, AppEngine locates the servers hosting
the application that processes the request, evaluates their load,
and, if necessary, allocates additional resources or redirects
the request to an existing server.
The infrastructure is also responsible for monitoring
application performance and collecting statistics on which
the billing is calculated.
27
2. Runtime Environment
Sandboxing
Runtime environment provides application
environment with an isolated and protected context.
In other words, it provides applications with a
sandbox.
Supports applications developed only with managed or
interpreted languages.
Sandboxing is achieved through modified runtimes.
MemCache
Account management
Image manipulation
32
UrlFetch - The sandbox environment provide developers
with the capability of retrieving a remote resource
through HTTP/HTTPS by means of the UrlFetch service
Ability to set deadlines for requests so that they can be
completed (or aborted) within a given time.
UrlFetch is also used to leverage remote Web services in
accordance with the SOA reference model for distributed
applications.
Image manipulation -
Allows to perform image resizing, rotation, mirroring,
and enhancement by means of Image Manipulation, a
service that is also used in other Google products.
Image Manipulation is mostly designed for lightweight
35
image processing and is optimized for speed.
5. Compute services
AppEngine offers additional services such as Task
Queues and Cron Jobs that simplify the execution of
computations that are off-bandwidth or those that
cannot be performed within the timeframe of the
Web request.
37
MICROSOFT AZURE PLATFORM ARCHITECTURE
38
AZURE CORE CONCEPTS
The Windows Azure platform is made up of a
foundation layer and a set of developer services that
can be used to build scalable applications
services provided by Azure
compute,
storage,
networking,
identity management,
These services are tied together by middleware called
AppFabric.
39
1.COMPUTE SERVICES
Compute services are the core components of Microsoft
Windows Azure
Services delivered by means of the abstraction of roles.
48
CLOUD APPLICATIONS
Scientific applications are using cloud computing systems and
technologies as infinite availability of computing resources
offered at sustainable prices.
51
BIOLOGY: PROTEIN-STRUCTURE PREDICTION
Applications in biology often require high computing
capabilities and often operate on large data sets.
Cloud computing technologies provide required capabilities in
a more dynamic fashion, thus opening new opportunities for
bioinformatics applications.
Protein structure prediction is a computationally intensive
task. Ex: design of new drugs for the treatment of diseases.
The geometric structure of a protein is the result of complex
computations aimed to minimize the required energy.
This task requires the investigation of a space with a massive
number of states, that creates a large no. of computations.
The computational power required for protein structure
prediction can now be acquired on demand. Cloud computing
grants access to required capacity on a pay-per-use basis.
52
BIOLOGY: PROTEIN-STRUCTURE PREDICTION -
ARCHITECTURE AND OVERVIEW OF JEEVA PORTAL
53
BIOLOGY: GENE EXPRESSION DATA ANALYSIS FOR
CANCER DIAGNOSIS
Gene expression profiling is the measurement of the
expression levels of thousands of genes at once to
understand the biological processes.
Application - cancer diagnosis and treatment.
55
GEOSCIENCE: SATELLITE IMAGE PROCESSING
Geoscience applications collect, produce, and analyze massive
amounts of geospatial and nonspatial data.
Geographic information system (GIS) is a major element of
geoscience applications that capture, store, manipulate,
analyze, manage & present all types of geographical ref. data.
As a result, a considerable amount of data is ingested into
computer systems for further processing & analysis.
Satellite remote sensing generates hundreds of gigabytes of
raw images that need to be further processed several
transformations and corrections to be applied.
Cloud computing provides the appropriate infrastructure to
support such applications. Ex: Department of Space, India
Cloud computing is an attractive option for executing these
demanding tasks and extracting meaningful information 56to
support decision makers.
GEOSCIENCE: SATELLITE IMAGE PROCESSING
The system shown in the below figure- integrates several
technologies across the entire computing stack.
The project demonstrates how cloud technologies can be
effectively employed to offload local computing facilities
from excessive workloads.
57
BUSINESS AND CONSUMER APPLICATIONS
The business & consumer sector is the one that benefits
the most from cloud computing technologies.
The opportunity of transforming capital costs into
operational costs.
The sense of ubiquity that the cloud offers for accessing
data and services.
Elastic nature of cloud technologies does not require
huge upfront investments.
The combination of all these, made cloud computing the
preferred technology for a wide range of applications.
Ex: CRM and ERP systems to productivity and social-
networking.
58
BUSINESS AND CONSUMER APPLICATIONS- CONT’D
Facebook
Facebook has more than 800 million users, it is one of
the largest Websites in the world.
To sustain the incredible growth, it has been basis that
Facebook be capable of continuously adding capacity and
developing new scalable technologies and s/w systems.
61
MEDIA APPLICATIONS
Media applications like video-processing operations, such
as encoding, transcoding, composition, and rendering,
are good candidates for a cloud-based environment.
These are computationally intensive tasks that can be
easily offloaded to cloud computing infrastructures.
Animoto
Maya rendering with Aneka
62
MULTIPLAYER ONLINE GAMING
Online games support hundreds of players in the same
session, made possible by the specific architecture used
to forward interactions, which is based on game log
processing.
Players update the game server hosting the game
session, and the server integrates all the updates into a
log that is made available to all the players through a
TCP port.
The client software used for the game connects to the log
port and, by reading the log, updates the local user
interface with the actions of other players.
The use of cloud computing technologies can provide the
required elasticity for seamlessly processing these
workloads and scale as required when the number of
users increases. 63