Chapter 9 - Cloud Platforms in Industry
Chapter 9 - Cloud Platforms in Industry
Chapter 9 - Cloud Platforms in Industry
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
9.1 Amazon web services
9.1.1 Compute services
9.1.2 Storage services
9.1.3 Communication services
9.1.4 Additional services
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
2 Amazon 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 standard files.
● Content is not immediately available to users.
● Requests will occasionally fail.
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
9.2.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
9.2.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
9.2.1 Architecture and core concepts
3 Storage
operate differently depending on the volatility of the data.
DataStore
● DataStore is a service that allows developers to store semistructured data.
● DataStore is based on Bigtable a redundant, distributed, and
semistructured
● data store that organizes data in the form of tables.
9.2 Google AppEngine
9.2.1 Architecture and core concepts
4 Application services
Simplify common operations that are performed in Web applications:
● access to data,
● account management,
● integration of external resources,
● messaging and communication,
● image manipulation, and
● asynchronous computation.
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
9.2.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
9.2.1 Architecture and core concepts
5 Compute services
● Users navigate the Web pages and get instantaneous feedback.
● Feedback is result of some computation happening on the Web
application.
● Immediate feedback and notification once the required operation is
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, deploying, and managing applications on
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 of rules that are expressed outside application code base.
● Applications can leverage Active Directory, Windows Live, Google,
Facebook, and other services to authenticate users.
Service bus
● Messaging and connectivity infrastructure.
● Designed to allow 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
9.3.1 Azure core concepts
4 Other services
● Simplify the development and integration of applications.
Windows Azure virtual network
● includes Windows Azure Connect and Windows Azure Traffic
Manager.
● Windows Azure Connect allows easy setup of IP-based 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
9.3.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
9.3.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
9.3.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.
● 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
10.1.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
10.2.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
10.2.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