Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
18 views38 pages

Bca Ca357 Mod 3

The document discusses cloud interoperability and standards, emphasizing the importance of reducing vendor lock-in to facilitate seamless cloud computing adoption. It highlights the current state of standards in cloud computing, likening it to the early Internet era, while noting organizations leading standardization efforts. Additionally, it provides an overview of various cloud service offerings from vendors like Amazon, Google, and Microsoft, along with their core features and applications across different sectors.

Uploaded by

Vivek Gaur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views38 pages

Bca Ca357 Mod 3

The document discusses cloud interoperability and standards, emphasizing the importance of reducing vendor lock-in to facilitate seamless cloud computing adoption. It highlights the current state of standards in cloud computing, likening it to the early Internet era, while noting organizations leading standardization efforts. Additionally, it provides an overview of various cloud service offerings from vendors like Amazon, Google, and Microsoft, along with their core features and applications across different sectors.

Uploaded by

Vivek Gaur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 38

Module 3

Cloud Interoperability And Standards


• Allowing interoperability between solutions offered by
different vendors are objectives of fundamental importance.
• Vendor lock-in constitutes one of the major strategic barriers
against the seamless adoption of cloud computing at all stages.
• Vendor lock-in can prevent a customer from switching to
another competitor’s solution, or when this is possible, it
happens at considerable conversion cost and requires
significant amounts of time.
• This can occur either because the customer wants to find a
more suitable solution for customer needs or because the
vendor is no longer able to provide the required service.
• The presence of standards that are actually implemented and
adopted in the cloud computing community could give room
for interoperability and then lessen the risks resulting from
vendor lock-in.
• The current state of standards and interoperability in cloud
computing resembles the early Internet era, when there was
no common agreement on the protocols and technologies
used and each organization had its own network.
• Yet the first steps toward a standardization process have been
made, and a few organizations, such as the Cloud Computing
Interoperability Forum (CCIF), the Open Cloud Consortium ,
and the DMTF Cloud Standards Incubator, are leading the
path.
• The standardization efforts are mostly concerned with the
lower level of the cloud computing architecture, which is the
most popular and developed.
• In particular, in the IaaS market, the use of a proprietary
virtual machine format constitutes the major reasons for the
vendor lock-in, and efforts to provide virtual machine image
compatibility between IaaS vendors can possibly improve the
level of interoperability among them.
• Cloud computing allows end users and
developers to leverage large distributed
computing infrastructures.
• This is made possible thanks to infrastructure
management software and distributed computing
platforms offering on-demand compute, storage,
and, on top of these, more advanced services.
• There are several different options for building
enterprise cloud computing applications or for
using cloud computing technologies to integrate
and extend existing industrial applications.
Some Example Cloud Computing Offerings
Vendor ProductService Type Description
Amazon Web Services IaaS, PaaS, SaaS Amazon Web Services
(AWS) is a collection of
Web services that provides
developers with compute,
storage, and more
advanced services. AWS is
mostly popular for IaaS
services and primarily for
its elastic compute service
EC2

Google AppEngine PaaS Google AppEngine is a


distributed and scalable
runtime for developing
scalable Web applications
based on Java and Python
runtime environments.
These are enriched with
access to services that
simplify the development
of applications in a scalable
manner.
Vendor ProductService Type Description
Microsoft Azure PaaS Microsoft Azure is a cloud
operating system that
provides services for
developing scalable
applications based on the
proprietary Hyper-V
virtualization technology
and the .NET framework.

SalesForce.com and SaaS, PaaS SalesForce.com is a


Force.com Software-as-a-Service
solution that allows
prototyping of CRM
applications. It leverages
the Force.com platform,
which is made available for
developing new
components and
capabilities for CRM
applications.
Vendor ProductService Type Description
Heroku PaaS Heroku is a scalable
runtime environment for
building applications based
on Ruby.

RightScale IaaS Rightscale is a cloud


management platform with
a single dashboard to
manage public and hybrid
clouds.
I. Amazon web services
• Amazon Web Services (AWS) is a platform that
allows the development of flexible applications by
providing solutions for elastic infrastructure
scalability, messaging, and data storage.
• The platform is accessible through SOAP or
RESTful Web service interfaces and provides a
Web-based console where users can handle
administration and monitoring of the resources
required, as well as their expenses computed on a
pay-as-you-go basis.
• At the base of the solution stack are services that provide
raw compute and raw storage: Amazon Elastic Compute
(EC2) and Amazon Simple Storage Service (S3).
• These are the two most popular services, which are
generally complemented with other offerings for building
a complete system.
• At the higher level, Elastic
MapReduce and AutoScaling provide additional
capabilities for building smarter and more elastic
computing systems.
• On the data side, Elastic Block Store (EBS), Amazon
SimpleDB, Amazon RDS, and Amazon ElastiCache provide
solutions for reliable data snapshots and the
management of structured and semistructured data.
• Communication needs are covered at the
networking level by Amazon Virtual Private
Cloud (VPC), Elastic Load Balancing, Amazon
Route 53, and Amazon Direct Connect.
• More advanced services for connecting
applications are Amazon Simple Queue Service
(SQS), Amazon Simple Notification Service
(SNS), and Amazon Simple E-mail Service (SES).
Other services include:
• Amazon CloudFront content delivery network
solution
• • Amazon CloudWatch monitoring solution for
several Amazon services
• • Amazon Elastic
BeanStalk and CloudFormation flexible
application packaging and deployment
II. Google AppEngine
• Google AppEngine is a PaaS implementation that
provides services for developing and hosting scalable
Web applications.
• AppEngine is essentially a distributed and scalable
runtime environment that leverages Google’s distributed
infrastructure to scale out applications facing a large
number of requests by allocating more computing
resources to them and balancing the load among them.
• The runtime is completed by a collection of services that
allow developers to design and implement applications
that naturally scale on AppEngine.
• Developers can develop applications in Java,
Python, and Go, a new programming language
developed by Google to simplify the
development of Web applications.
• Application usage of Google resources and
services is metered by AppEngine, which bills
users when their applications finish their free
quotas.
Architecture And Core Concepts

• AppEngine is a platform for developing


scalable applications accessible through the
Web (see Figure 9.2). The platform is logically
divided into four major components:
infrastructure, the runtime environment, the
underlying storage, and the set of scalable
services that can be used to develop
applications.
a. Infrastructure
• AppEngine hosts Web applications, and its primary
function is to serve users requests efficiently.
• To do so, 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.
• The particular design of applications, which
does not expect any state information to be
implicitly maintained between requests to the
same application, simplifies the work of the
infrastructure, which can redirect each of the
requests to any of the servers hosting the
target application or even allocate a new one.
b. Runtime environment

• The runtime environment represents the


execution context of applications hosted on
AppEngine.
• With reference to the AppEngine
infrastructure code, which is always active and
running, the runtime comes into existence
when the request handler starts executing and
terminates once the handler has completed.
Sandboxing

• One of the major responsibilities of the


runtime environment is to provide the
application environment with an isolated and
protected context in which it can execute
without causing a threat to the server and
without being influenced by other
applications. In other words, it provides
applications with a sandbox.
• Currently, AppEngine supports applications
that are developed only with managed or
interpreted languages, which by design
require a runtime for translating their code
into executable instructions.
• Therefore, sandboxing is achieved by means of
modified runtimes for applications that disable
some of the common features normally
available with their default implementations.
• If an application tries to perform any
operation that is considered potentially
harmful, an exception is thrown and the
execution is interrupted.
• Some of the operations that are not allowed in
the sandbox include writing to the server’s file
system; accessing computer through network
besides using Mail, UrlFetch, and XMPP;
executing code outside the scope of a request,
a queued task, and a cron job; and processing
a request for more than 30 seconds.
c. Storage
• AppEngine provides various types of storage,
which operate differently depending on the
volatility of the data.
• There are three different levels of storage: in
memory-cache, storage for semistructured
data, and long-term storage for static data. In
this section, we describe DataStore and the
use of static file servers.
• We cover MemCache in the application
services section.
d. Application services
• Applications hosted on AppEngine take the
most from the services made available
through the runtime environment.
• These services simplify most of the 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.
III. Microsoft Azure
• Microsoft Windows Azure is a cloud operating system
built on top of Microsoft datacenters’ infrastructure
and provides developers with a collection of services
for building applications with cloud technology.
• Services range from compute, storage, and
networking to application connectivity, access control,
and business intelligence.
• Any application that is built on the Microsoft
technology can be scaled using the Azure platform,
which integrates the scalability features into the
common Microsoft technologies such as Microsoft
Windows Server 2008, SQL Server, and ASP.NET.
• These services can be managed and controlled
through the Windows Azure Management
Portal, which acts as an administrative console
for all the services offered by the Azure
platform.
• In this section, we present the core features of
the major services available with Azure.
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.
• These services cover compute, storage, networking, and
identity management, which are tied together by middleware
called AppFabric.
• This scalable computing environment is hosted within Microsoft
datacenters and accessible through the Windows Azure
Management Portal.
• Alternatively, developers can recreate a Windows Azure
environment (with limited capabilities) on their own machines
for development and testing purposes.
• In this section, we provide an overview of the Azure
middleware and its services.
Compute services
• Compute services are the core components of
Microsoft Windows Azure, and they are
delivered by means of the abstraction of roles.
• A role is a runtime environment that is
customized for a specific compute task.
• Roles are managed by the Azure operating
system and instantiated on demand in order to
address surges in application demand.
• Currently, there are three different roles: Web
role, Worker role, and Virtual Machine (VM) role.
Storage services
• Compute resources are equipped with local
storage in the form of a directory on the local
file system that can be used to temporarily
store information that is useful for the current
execution cycle of a role.
• If the role is restarted and activated on a
different physical machine, this information is
lost.
• Windows Azure provides different types of
storage solutions that complement compute
services with a more durable and redundant
option compared to local storage.
• Compared to local storage, these services can
be accessed by multiple clients at the same
time and from everywhere, thus becoming a
general solution for storage.
Core infrastructure: AppFabric
• AppFabric is a comprehensive middleware for
developing, deploying, and managing applications on the
cloud or for integrating existing applications with cloud
services.
• AppFabric implements an optimized infrastructure
supporting scaling out and high availability; sandboxing
and multitenancy; state management; and dynamic
address resolution and routing.
• On top of this infrastructure, the middleware offers a
collection of services that simplify many of the common
tasks in a distributed application, such as communication,
authentication and authorization, and data access.
Cloud Applications
• Cloud computing has gained huge popularity in
industry due to its ability to host applications for
which the services can be delivered to consumers
rapidly at minimal cost.
• This chapter discusses some application case
studies, detailing their architecture and how they
leveraged various cloud technologies.
• Applications from a range of domains, from
scientific to engineering, gaming, and social
networking, are considered.
Scientific applications
• Scientific applications are a sector that is increasingly using
cloud computing systems and technologies.
• The immediate benefit seen by researchers and academics
is the potentially infinite availability of computing resources
and storage at sustainable prices compared to a complete
in-house deployment.
• Cloud computing systems meet the needs of different types
of applications in the scientific domain: high-performance
computing (HPC) applications, high-throughput
computing (HTC) applications, and data-intensive
applications.
• The opportunity to use cloud resources is even more
appealing because minimal changes need to be made to
existing applications in order to leverage cloud resources.
• The most relevant option is IaaS solutions, which
offer the optimal environment for running bag-of-
tasks applications and workflows.
• Virtual machine instances are opportunely
customized to host the required software stack for
running such applications and coordinated together
with distributed computing middleware capable of
interacting with cloud-based infrastructures.
• PaaS solutions have been considered as well. They
allow scientists to explore new programming
models for tackling computationally challenging
problems.
• Applications have been redesigned and implemented on top
of cloud programming application models and platforms to
leverage their unique capabilities.
• For instance, the MapReduce programming model provides
scientists with a very simple and effective model for building
applications that need to process large datasets.
• Therefore it has been widely used to develop data-intensive
scientific applications.
• Problems that require a higher degree of flexibility in terms
of structuring of their computation model can leverage
platforms such as Aneka, which supports MapReduce and
other programming models.
• We now discuss some interesting case studies in
which Aneka has been used.
Business and consumer applications
• The business and consumer sector is the one that probably benefits
the most from cloud computing technologies.
• On one hand, the opportunity to transform capital costs into
operational costs makes clouds an attractive option for all
enterprises that are IT-centric.
• On the other hand, the sense of ubiquity that the cloud offers for
accessing data and services makes it interesting for end users as
well.
• Moreover, the elastic nature of cloud technologies does not require
huge up-front investments, thus allowing new ideas to be quickly
translated into products and services that can comfortably grow
with the demand.
• The combination of all these elements has made cloud computing
the preferred technology for a wide range of applications, from CRM
and ERP systems to productivity and social-networking applications.
Social Networking
• Social networking applications have grown
considerably in the last few years to become the
most active sites on the Web.
• To sustain their traffic and serve millions of users
seamlessly, services such as Twitter and
Facebook have leveraged cloud computing
technologies.
• The possibility of continuously adding capacity
while systems are running is the most attractive
feature for social networks, which constantly
increase their user base.

You might also like