module5-cloudcomputing-180131071203
module5-cloudcomputing-180131071203
Industry
This chapter presents some of the representative cloud computing solutions
offered as:
Infrastructure-as-a-Service (IaaS) and
Platform-as-a-Service (PaaS) services in the market.
Overview
1. Amazon web services
1. Compute services
2. Storage services
3. Communication services
4. Additional services
2. Google AppEngine
1. Architecture and core concepts
2. Application life cycle
3. Cost model
4. Observations
3. Microsoft Azure
1. Azure core concepts
2. SQL Azure
3. Windows Azure platform appliance
4. Observations
9.1 Amazon web services
● Development of flexible applications by providing solutions for elastic
infrastructure scalability, messaging, and data storage.
● Accessible through SOAP (Simple Object Access Protocol) or RESTful
(Representational State Transfer) Web service interfaces
● Expenses computed on a pay-as-you-go basis.
9.1 Amazon web services
9.1.1 Compute services
1 Amazon machine images
9.1 Amazon web services
1. Compute services
● fundamental element of cloud computing systems.
● Amazon EC2, which delivers an IaaS solution.
● Amazon EC2 allows deploying servers in the form of virtual machine
images.
● Images come with a preinstalled operating system and a software
stack.
3 EC2 environment
● virtual environment, which provides them with the services they require to
host applications.
● In charge of allocating addresses, attaching storage volumes, and
configuring security in terms of access control and network connectivity.
● Instances are created with an internal IP address, which makes them
capable of communicating within the EC2 network and accessing the
Internet as clients.
● Instance owners can partially control where to deploy instances. Instead,
they have a finer control over the security of the instances as well as their
network accessibility.
● EC2 instances are given domain name in the form ec2-xxx-xxx-
xxx.compute-x.amazonaws.com
9.1 Amazon web services
9.1.1 Compute services
1 S3 key concepts
2Amazon elastic block store
3 Amazon ElastiCache
4 Structured storage solutions
5 Amazon CloudFront
9.1 Amazon web services
9.1.2 Storage services
1 S3 key concepts
accessible through a
Representational State
Transfer (REST)
interface.
● The storage is
organized in a two-
level hierarchy.
● Stored objects
cannot be
manipulated like
1. standard
Canonicalfiles.
form:
● Content
2. is not
http://s3.amazonaws.com/bukect_name/ Subdomain
3. immediately
form: http://bucketname.s3.amazon.com/ Virtual hosting
available- to users. of objects. virtual drive hosted on the S3 distributed
form: http://bucket-name.com/
Buckets container
●storage
Requests will
occasionally
Objects fail.
and metadata - object is identified by a name that needs to be unique
within the bucket in which the content is stored.
HTTP requests
Access control (GET,
and security - access to buckets and objects by means of
PUT, DELETE,
Access ControlHEAD,
Policies (ACPs). Different permissions can be used.
9.1 Amazon web services
9.1.2 Storage services
3 Amazon ElastiCache
implementation of an elastic in-memory cache based on a cluster of
EC2 instances.
based on a cluster of EC2 instances running the caching software, which is
made available through Web services.
ElastiCache cluster can be dynamically resized according to the demand of the
client applications.
9.1 Amazon web services
9.1.2 Storage services
5 Amazon CloudFront
● Content delivery network.
● Collection of edge servers strategically located around the globe to better
serve requests for static and streaming Web content.
● Content that can be delivered through CloudFront is static (HTTP and
HTTPS) or streaming (Real Time Messaging Protocol, or RMTP).
9.1 Amazon web services
9.1.3 Communication services
1. Virtual networking
● Virtual networking comprises a collection of services that allow AWS users
to control the connectivity to and between compute and storage services.
● Amazon Virtual Private Cloud (VPC) and Amazon Direct Connect provide
connectivity solutions in terms of infrastructure.
● Flexibility in creating virtual private networks within the
Amazon infrastructure and beyond.
2. Messaging.
● Amazon Simple Queue Service (SQS),
● Amazon Simple Notification Service (SNS), and
● Amazon Simple Email Service (SES).
9.2 Google AppEngine
● Google AppEngine is a PaaS implementation.
● Distributed and scalable runtime environment that leverages Google’s
distributed infrastructure to scale out applications.
1 Infrastructure
2 Runtime environment
3 Storage
4 Application services
5 Compute services
9.2 Google AppEngine
1.Architecture and core concepts 1
Infrastructure
● 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 (i.e., servers) or
redirects the request to an existing server.
●
● Also responsible for monitoring application performance and collecting sta-
● tistics on which the billing is calculated.
9.2 Google AppEngine
1.Architecture and core concepts 2
Runtime environment
represents the execution context of
applications hosted on AppEngine.
Sandboxing
Major responsibilities of the runtime environment is to provide the application
environment with an isolated and protected context.
Supported runtimes
● Java, Python, and Go.
● Currently supports Java 6, Java Server Pages (JSP), and
applications interact with environment by using the Java Servlet standard.
● Developers can create applications with the AppEngine Java SDK.
● Python is provided by an optimized Python 2.5.2 interpreter.
● Python Web application framework- webapp.
● Go programming language - SDK includes compiler and standard libraries
for developing applications in Go and interfacing it AppEngine services.
9.2 Google AppEngine
1.Architecture and core concepts 3
Storage
operate differently depending on the
volatility of the data.
UrlFetch
● The sandbox environment does not allow applications to open arbitrary
connections.
● HTTP/HTTPS by means of the UrlFetch service.
● Applications can make synchronous and asynchronous Web requests and
integrate the resources obtained.
● Ability to set deadlines for requests so that they can be completed (or
aborted) within a given time.
9.2 Google AppEngine
1.Architecture and core concepts 4
Application services
MemCache
● caching services by means of
MemCache.
● distributed in-memory cache that is optimized for fast access and provides
volatile store for objects that are frequently accessed.
● significantly reduce the access time to data.
Account management
● Web applications can conveniently store profile settings in the form of key-
value pairs, attach them to a given Google account, and quickly retrieve
them once the user authenticates.
9.2 Google AppEngine
1.Architecture and core concepts 5
Compute services
● Users navigate the Web pages and
● Feedback
get instantaneous
is feedback.
of some computation happening on the Web
result application.
● Immediate and notification once the required operation is
feedback completed.
● Task queues
● Task Queues allow applications to submit a task for a later execution.
● Cron jobs
● Schedule the required operation at the desired time.
9.2 Google AppEngine
9.2.2 Application life cycle
Testing and development, deployment, and monitoring.
Java SDK and Python SDK
● All the services described are geo-replicated three times to ensure their
availability in case of major disasters.
● Geo-replication involves the copying of data into a different datacenter
that is hundreds or thousands of miles away from the original
datacenter.
9.3 Microsoft Azure
9.3.1 Azure core concepts
3 Core infrastructure: AppFabric
● Middleware for developing, and managing applications on
deploying,
cloud or for integrating existing applications with cloud services.
● Scaling out and high availability; sandboxing and multitenancy;
state management; and dynamic address resolution and routing.
● Simplify many common tasks in distributed application,
such as communication, authentication and authorization, and
data access.
Access control
● AppFabric provides capability of encoding access control to resources in
Web applications.
Services into set ofcan
● Applications rulesleverage
that are expressed outside application
Active Directory, code
Live, base.
Google,
Windows Facebook, and other services to authenticate
users.
Service bus
● Designed
Messaging to andallow
connectivity infrastructure.
transparent network traversal and to simplify
development of loosely coupled applications letting developers focus on
logic of interaction.
● Applications need to be connected to bus, which provides these services.
9.3 Microsoft Azure
9.3.1 Azure core concepts
3 Core infrastructure: AppFabric
Azure cache
● provides a set of durable storage solutions that allow applications to persist
their data.
● Azure Cache is a service that allows developers to quickly access data
persisted on Windows Azure storage or in SQL Azure.
● implements a distributed in-memory cache of which, size
can be dynamically adjusted by applications.
9.3 Microsoft Azure
1.Azure core concepts 4
Other services
● Simplify the
development and
integrationWindows
● includes of Azure Connect and Windows Azure Traffic
applications.
Manager.
Windows
● WindowsAzureAzure
virtual Connect allows easy setup of IP-based network
network
connectivity among machines hosted on private premises and roles
deployed on Azure Cloud.
● Windows Azure Traffic Manager provides load-balancing features for
services listening to HTTP or HTTPS ports and hosted on multiple roles.
Windows Azure content delivery network
● Content delivery network solution that improves content delivery
capabilities of Windows Azure Storage and Microsoft Windows Update,
Bing maps.
9.3 Microsoft Azure
2. SQL Azure
● SQL Azure is a relational database service hosted on Windows Azure and
built on the SQL Server technologies.
● via SQL Server - provides developers with scalable, highly available, and
fault-tolerant relational database.
● Service is manageable using REST APIs, allowing developers to control
databases.
9.3 Microsoft Azure
9.3.2 SQL Azure
9.3 Microsoft Azure
2. SQL Azure
● Developers have to sign up for Windows Azure account in order to use
SQL Azure.
● Closely resemble physical SQL Servers: They have a fully qualified domain
name under the database.windows.net
( i.e., server-name.database.windows.net) domain name.
● This simplifies management tasks and the interaction with SQL Azure from
client applications.
9.3 Microsoft Azure
3. Windows Azure platform appliance
● Can also be deployed as appliance on third-party data centers and
constitutes the cloud infrastructure governing the physical servers of
datacenter.
● Includes Windows Azure, SQL Azure, and Microsoft- specified
configuration of network, storage, and server hardware.
● The appliance targets governments and service providers who want to
have their own cloud computing infrastructure.
● Full-featured implementation of Windows Azure.
● Goal is to replicate Azure on a third-party infrastructure and make available
its services beyond boundaries of Microsoft Cloud.
● Huge popularity in industry due to its ability to host applications for which
social networking.
Overview
1. Scientific applications
1. Healthcare: ECG analysis in the cloud
2. Biology: protein structure prediction
3. Biology: gene expression data analysis for cancer diagnosis
4. Geoscience: satellite image processing
2. Business and consumer applications
1. CRM and ERP 1
Salesforce.com
2 Microsoft dynamics CRM
3 NetSuite
2. Productivity
1 Dropbox and iCloud
2 Google docs
3 Cloud desktops:
EyeOS and XIOS/3
3. Social networking 1
Facebook
4. Media applications 1
Animoto
2 Maya rendering
with Aneka
3 Video encoding on
10.1 Scientific applications
● Increasingly using cloud computing systems and technologies.
challenging problems.
● Internet connectivity and its accessibility from any device at any time has
made cloud technologies an attractive option for developing health-
monitoring systems.
10.1 Scientific applications
10.1.1 Healthcare: ECG analysis in the cloud
10.1 Scientific applications
2. Biology: protein structure prediction
● Require high computing capabilities and often operate on large data-sets
that cause extensive I/O operations.
● extensive use of supercomputing and cluster computing infrastructures.
● Protein structure prediction is a computationally intensive task.
● The geometric structure of a protein cannot be directly inferred from the
sequence of genes that compose its structure, but it is the result of
complex computations aimed at identifying the structure.
● This task requires investigation of space with massive number of states,
creating large number of computations for each of these states.
● One project that investigates the use of cloud technologies for protein
structure prediction is Jeeva — an integrated Web portal that enables
scientists to offload the prediction task to a computing cloud based on
Aneka (Figure 10.2).
● Uses machine learning tecniques.
● E,H,C classification.
10.1 Scientific applications
10.1 Scientific applications
3. Biology: gene expression data analysis for cancer diagnosis
● measurement of the expression levels of thousands of genes at once.
● used to understand the biological processes that are triggered by medical
treatment at a cellular level.
● Gene expression profiling is utilized to provide a more
accurate classification of tumors.
1 Salesforce.com
● most popular and developed CRM solution available today.
● Salesforce.com is based on Force.com cloud development platform.
10.2 Business & consumer applications
10.2.1 CRM and ERP
10.2 Business & consumer applications
10.2.1 CRM and ERP
2 Microsoft dynamics CRM
● completely hosted in Microsoft’s datacenters across the world and offers to
customers a 99.9% SLA.
● Each CRM
● instance is deployed on a separate database, and the application provides
users with facilities for marketing, sales, and advanced customer
relationship management.
● SOAP and RESTful Web services.
● integrate with other Microsoft products and line-of-business applications.
3 NetSuite
● Three major products: NetSuite Global ERP, NetSuite Global CRM1 ,
and NetSuite Global Ecommerce.
● All-in-one solution: NetSuite One World, integrates all three
products together.
● Two large datacenters on the East and West coasts of the United States,
connected by redundant links.
● The NetSuite Business Operating System (NS-BOS) is complete stack
of technologies for building SaaS.
10.2 Business & consumer applications
10.2.2 Productivity
1 Dropbox and iCloud
Also Windows Live, Amazon Cloud Drive, and CloudMe.
10.2 Business & consumer applications
2.Productivity 2
Google docs
● Google Docs allows users to create and edit text documents,
spreadsheets, presentations, forms, and drawings.
1 Animoto
● interface for quickly creating videos out of images, music, and
video fragments submitted by users.
● process is executed in the background and the user is notified via email
once the video is rendered.
● ability to quickly create videos with stunning effects without user intervention.
●
● Artificial intelligence (AI) engine, which selects the animation and transition
effects according to pictures and music, drives the rendering operation.
10.2 Business & consumer applications
10.2.4 Media applications
2 Maya rendering with Aneka
● A private cloud solution for rendering train designs by
engineering department of GoFront group, a division of China Southern
Railway.
10.2 Business & consumer applications
10.2.4 Media applications
3 Video encoding on the cloud: Encoding.com
● Video-transcoding services on demand.
● Leverages cloud technology to provide both horsepower required for video
conversion and storage for staging videos.
● Service integrates with both Amazon Web Services technologies (EC2, S3,
and CloudFront) and Rackspace (Cloud Servers, Cloud Files, and Limelight
CDN access).
● Also offers other video-editing operations such as the insertion of
thumbnails, watermarks, or logos.
10.2 Business & consumer applications
5. Multiplayer online gaming
● based on game log processing.
● Players update game server hosting game session, and server integrates all
updates into a log that is made available to all players through a TCP port.
● Client software used for game connects to the log port and, by reading log,
updates local user interface with actions of other players.
10.2 Business & consumer applications
10.2.5 Multiplayer online gaming