BCA Cloud Computing Mod 3
BCA Cloud Computing Mod 3
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.