0% found this document useful (0 votes)
27 views

Chapter 1 - Introduction

The document provides an overview of cloud computing fundamentals including definitions, principles, characteristics and deployment models. It discusses the vision of cloud computing as a utility and how it enables on-demand access to scalable computing resources over the network.

Uploaded by

m.erfann.ara
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Chapter 1 - Introduction

The document provides an overview of cloud computing fundamentals including definitions, principles, characteristics and deployment models. It discusses the vision of cloud computing as a utility and how it enables on-demand access to scalable computing resources over the network.

Uploaded by

m.erfann.ara
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 87

CLOUD COMPUTING

FUNDAMENTALS
Instructor: Saeid Abrishami
References
2

 Mastering Cloud Computing: Foundations and


Applications Programming, By Rajkumar Buyya,
Christian Vecchiola, and Thamarai Selvi, 2013
 Encyclopedia of Cloud Computing, Edited by San
Murugesan, Irena Bojanova, 2016
 Cloud Services, Networking and Management,
Edited by Nelseon L. S. de Fonseca, Raouf
Boutaba, 2015

Cloud Computing Fundamentals


References
3

Cloud Computing Fundamentals


Syllabus
4

 Introduction
 Cloud Architecture
 Virtualization
 Programming Models
 Big Data and Analytics in Cloud
 Resource Management and Scheduling
 Green Cloud Computing
 Inter-Cloud and Brokerage
 Edge and Fog Computing
Cloud Computing Fundamentals
Cloud Computing at a glance
5

 Leonard Kleinrock, (ARPANET, 1969), said:


As of now, computer networks are still in their
infancy, but as they grow up and become sophisticated,
we will probably see the spread of ‘computer utilities’
which, like present electric and telephone utilities, will
service individual homes and offices across the country

Cloud Computing Fundamentals


Cloud Computing at a glance
6


Computing is being transformed into a model
consisting of services that are commoditized and
delivered in a manner similar to utilities such as water,
electricity, gas, and telephony

Users (consumers) need to pay providers only when
they access the computing services

In such a model, users access services based on their
requirements, regardless of where the services are
hosted

Cloud computing is the most recent emerging
paradigm promising to turn the vision of “computing
utilities” into a reality
Cloud Computing Fundamentals
Cloud Computing at a glance
7


The term cloud often denotes the
infrastructure as a “cloud” from which
businesses and users can access applications
as services from anywhere in the world and on
demand

Cloud computing can be summarized as
follows:
I don’t care where my servers are, who manages them, where
my documents are stored, or where my applications are
hosted. I just want them always available and access them
from any device connected through Internet. And I am willing
to pay for this service for as a long as I need it
Cloud Computing Fundamentals
The vision of cloud computing
8

 Cloud computing allows anyone with a credit


card to provision virtual hardware, runtime
environ- ments, and services
 These are used for as long as needed, with no up-
front commitments required.
 The entire stack of a computing system is
transformed into a collection of utilities, which
can be provisioned and composed together to
deploy systems in hours rather than days and
with virtually no maintenance costs
Cloud Computing Fundamentals
The vision of cloud computing
9
I need to grow I have a lot of
my infrastructure
infrastructure,
but I do not that I want to I have a surplus of
know for how rent … infrastructure that I
long… want to make use
of

I cannot invest
in
infrastructure, I
just started my I have
business…. infrastructure and
middleware and I
can host
applications

I want to focus on
application logic
and not
maintenance and
Global Cloud
scalability issues
Marketplace I have
infrastructure and
provide application
services

I want to access
and edit my
documents and
photos from
everywhere..

Cloud Computing Fundamentals


The vision of cloud computing
10


Despite its evolution, the use of cloud computing is
often limited to a single service at a time or, more
commonly, a set of related services offered by the
same vendor

The long-term vision of cloud computing is that IT
services are traded as utilities in an open market.

Today, the discovery of services is mostly done by
human intervention

We imagine that in the near future it will be possible to
find the solution that matches our needs by simply
entering our request in a global digital market that
trades cloud computing services
Cloud Computing Fundamentals
Defining a cloud
11

 The term cloud has historically been used in


the telecommunications industry as an
abstraction of the network in system diagrams
 It then became the symbol of the Internet
 This meaning also applies to cloud computing,
which refers to an Internet-centric way of
computing

Cloud Computing Fundamentals


Defining a cloud
12

 U.S. National Institute of Standards and


Technology (NIST) Definition
 Cloud computing is a model for enabling
ubiquitous, convenient, on-demand network
access to a shared pool of configurable
computing resources (e.g., networks, servers,
storage, applications, and services) that can be
rapidly provisioned and released with minimal
management effort or service provider interaction.

Cloud Computing Fundamentals


Defining a cloud
13

 ISO definition
 Cloud computing is a paradigm for enabling
network access to a scalable and elastic pool of
shareable physical or virtual resources with self‐
service provisioning and administration on‐
demand
 Gartner definition
 A style of computing where scalable and elastic
IT‐enabled capabilities are provided as a service
to multiple customers using Internet technologies
Cloud Computing Fundamentals
Defining a cloud
14

 Buyya’s definition of Cloud


 A cloud is a type of parallel and distributed

system consisting of a collection of


interconnected and virtualized computers that
are dynamically provisioned and presented as
one or more unified computing resources
based on service-level agreements
established through negotiation between the
service provider and consumers

Cloud Computing Fundamentals


Practical examples
15


Large enterprises can offload some of their
activities to cloud-based systems

Small enterprises and start-ups can afford to
translate their ideas into business results more
quickly, without excessive up-front costs

System developers can concentrate on the
business logic rather than dealing with the
complexity of infrastructure management and
scalability

End users can have their documents accessible
from everywhere and any device
Cloud Computing Fundamentals
5-4-3 Principles of Cloud computing
16

 The 5-4-3 principles put forth by NIST describe


 The five essential characteristic features that
promote cloud computing
 The four deployment models that are used to
narrate the cloud computing opportunities for
customers while looking at architectural models
 The three important and basic service offering
models of cloud computing.

Cloud Computing Fundamentals


Five Essential Characteristics
17

On-demand self-service

A consumer can provision computing capabilities as
needed automatically without requiring human
interaction with each service’s provider

Broad network access

Capabilities are available over the network and
accessed through standard mechanisms that promote
use by heterogeneous thin or thick client platforms

Elastic resource pooling

The provider’s computing resources are pooled to serve
multiple consumers using a multitenant model, with
different physical and virtual resources dynamically
assigned and reassigned according to consumer
demand.
Cloud Computing Fundamentals
Five Essential Characteristics
18


Rapid elasticity

Capabilities can be rapidly and elastically provisioned, in
some cases automatically, to quickly scale out and
rapidly released to quickly scale in. To the consumer, the
capabilities available for provisioning often appear to be
unlimited and can be purchased in any quantity at any
time.

Measured service

Cloud systems automatically control and optimize
resource use by leveraging a metering capability at
some level of abstraction appropriate to the type of
service (e.g., storage, processing, bandwidth, and active
user accounts)
Cloud Computing Fundamentals
Another Important
19
Characteristic
 Multitenancy
 Cloud computing is a shared resource that

draws on resource pooling as an important


feature. It implies use of same resources by
multiple consumers, called tenants

Cloud Computing Fundamentals


Four Cloud Deployment Models
20

 Public cloud
 The cloud infrastructure is provisioned for open use by the
general public.
 It may be owned, managed, and operated by a business,
academic, or government organization, or some combination
of them
 Private cloud
 The cloud infrastructure is provisioned for exclusive use by a
single organization comprising multiple consumers (e.g.,
business units)
 It may be owned, managed, and operated by the
organization, a third party, or some combination of them

Cloud Computing Fundamentals


Four Cloud Deployment Models
21

 Private cloud
 Virtual Private Cloud: is a segment of a public
cloud, designated for a user with additional
provisions and features for meeting that user’s
specific security and compliance requirements
 Example: Amazon’s VPC

Cloud Computing Fundamentals


Four Cloud Deployment Models
22

 Community cloud
 The cloud infrastructure is shared by several
organizations and supports a specific community
that has shared concerns
 Hybrid cloud
 The cloud infrastructure is a composition of two or
more distinct cloud infrastructures (private,
community, or public).

Cloud Computing Fundamentals


Public Clouds

Applications
23

Development and
Runtime Platform
Compute

All users, on any device Storage

Cloud Manager
Private
Resources

Private Private Cloud


Cloud (Government)

Organization Personnel Government


Agencies
Cloud Computing Fundamentals
Three Service Offering Models
24

 A fundamental characteristic of cloud


computing is the capability to deliver, on
demand, a variety of IT services that are quite
diverse from each other
 Despite the lack of uniformity, it is possible to
classify cloud computing services offerings
into three major categories
 Infrastructure-as-a-Service(IaaS)
 Platform-as-a-Service(PaaS)
 Software-as-a-Service(SaaS)
Cloud Computing Fundamentals
Three Service Offering Models
25

Web 2.0 Software as a Service


Interfaces End user applications
Scientific applications
Office automation, Photo editing,
CRM, and Social Networking
Examples: Google Documents, Facebook, Flickr, Salesforce

Platform as a
Service
Runtime Environment for Applications
Development and Data Processing Platforms
Examples: Windows Azure, Hadoop, Google AppEngine, Aneka

Infrastructure as a
Service
Virtualized Servers
Storage and Networking
Examples: Amazon EC2, S3, Rightscale, vCloud
Cloud Computing Fundamentals
Software as a Service (SaaS)
26

 An application is hosted by a cloud vendor and delivered


as a service to users, primarily via the Internet or a
dedicated network
 It eliminates the need to install and run the application
locally, on a user’s computer, and thereby also relieves
the users from the burden of hardware and software
maintenance and upgrades
 Typical applications offered as a service include
customer relationship management (CRM), business
intelligence analytics, and online accounting software
 Examples: SalesForce, Office 365, Google Apps

Cloud Computing Fundamentals


Platform as a Service (PaaS)
27


The platform and tools for application development and
middleware systems are hosted by a vendor and
offered to application developers, allowing them simply
to code and deploy without directly interacting with the
underlying infrastructure

It is the responsibility of the service provider to provide
scalability and to manage fault tolerance, while users
are requested to focus on the logic of the application
developed by leveraging the provider’s APIs and
libraries

Examples: Google App Engine, Microsoft Azure
Services
Cloud Computing Fundamentals
Infrastructure as a Service
28


The capability provided to the consumer is to
provision processing, storage, networks, and other
fundamental computing resources on a pay-per-use
basis where he or she is able to deploy and run
arbitrary software, which can include operating
systems and applications.

Virtual hardware is utilized to provide compute on
demand in the form of virtual machine instances.

Virtual storage is delivered in the form of raw disk
space or object store.

Example: Amazon Elastic Compute Cloud (EC2),
GoGrid, and FlexiScale
Cloud Computing Fundamentals
Anything as a Service (XaaS)
29

 Anything as a service, or XaaS, refers to the


growing diversity of services available over the
Internet via cloud computing
 There are many services like
 Desktop as a Service or Data as a Service (DaaS)
 Communication as a Service (CaaS)
 Monitoring as a Service (MaaS)
 Testing as a Service (TaaS)
 Security as a Service (SecaaS)
 Analytics as Service (AaaS)
Cloud Computing Fundamentals
Anything as a Service (XaaS)
30

 Cloud users can use services from more than


one service provider, aggregate those
services, and integrate them with each other
and with the organization’s legacy
applications/systems

Cloud Computing Fundamentals


Benefits of Cloud Computing
31

 No up-front commitments
 Reduced capital and operational cost
 On-demand access and scalability
 Simplified application acceleration and
scalability
 Availability of vast cloud resources for every
kind of application or use
 Efficient resource allocation
 Energy efficiency
Cloud Computing Fundamentals
Drawbacks of Cloud Computing
32

 Security and Privacy


 Interoperability and standardization
 Availability and reliability of service
 Vendor lock-in
 Need for a reliable, high‐speed network
access
 Data transfer bottlenecks
 Performance unpredictability

Cloud Computing Fundamentals


Historical developments
33

 The idea of renting computing services by


leveraging large distributed computing facilities
has been around for long time
 It dates back to the days of the mainframes in the
early 1950s. From there on, technology has
evolved and been refined
 In tracking the historical evolution, we briefly
review five core technologies that played an
important role in the realization of cloud
computing
Cloud Computing Fundamentals
Enabling Technologies
34

 Distributed systems
 Virtualization
 Web 2.0
 Service orientation
 Utility computing

Cloud Computing Fundamentals


Distributed systems
35

 Definition by Tanenbaum et al.


 A distributed system is a collection of independent
computers that appears to its users as a single coherent
system
 Clouds are essentially large distributed computing
facilities that make available their services to third
parties on demand
 Three major milestones have led to cloud computing
 Mainframe computing
 Cluster computing
 Grid computing
Cloud Computing Fundamentals
Distributed Systems
36

2010: Microsoft
1970: DARPA’s 1999: Grid Azure
TCP/IP Computing
1984: IEEE 1997: IEEE 2008: Google
802.3 802.11 (Wi- AppEngine
Ethernet & LAN Fi)
1966: Flynn’s Taxonomy
SISD, SIMD, MISD, 1989: TCP/IP
2007: Manjrasoft
MIMD IETF RFC
Aneka
1122
1969:
ARPANET 1984: 2005: Amazon
1951: UNIVAC I, DEC’s AWS (EC2,
First Mainframe VMScluster S3)
1975: Xerox
PARC 2004: Web
Clouds Invented Ethernet 1990: Lee-Calliau 2.0
WWW, HTTP,
1960: Cray’s
Grids First
HTML
Supercomputer
Clusters

Mainframes

Cloud Computing Fundamentals


1950 1960 1970 1980 1990 2000 2010
Distributed Systems
Mainframe Computing
37

 These were the first examples of large computational


facilities leveraging multiple processing units
 Mainframes were powerful, highly reliable computers
specialized for large data movement and massive I/O
operations
 They were mostly used by large organizations for bulk
data processing tasks such as online transactions and
enterprise resource planning
 They offered large computational power by using
multiple processors, which were presented as a single
entity to users

Cloud Computing Fundamentals


Distributed Systems
Clusters
38


Cluster computing started as a low-cost
alternative to the use of mainframes and
supercomputers

Cheap commodity machines could be connected
by a high-bandwidth network and controlled by
specific software tools that manage them as a
single system

Starting in the 1980s, clusters become the
standard technology for parallel and high-
performance computing

Known tools and frameworks: Condor, MPI, PVM
Cloud Computing Fundamentals
Distributed Systems
Grids
39


Grid computing appeared in the early 1990s as an
evolution of cluster computing

In an analogy to the power grid, grid computing
proposed a new approach to access large
computational power, huge storage facilities, and a
variety of services

Grids initially developed as aggregations of
geographically dispersed clusters by means of Internet
connections.

These clusters belonged to different organizations, and
arrangements were made among them to share the
computational power
Cloud Computing Fundamentals
Distributed Systems
Grids
40

 Different from a “large cluster” a computing grid was a


dynamic aggregation of heterogeneous computing nodes,
and its scale was nationwide or even worldwide
 Several developments made possible the diffusion of
computing grids
 Clusters became quite common resources
 They were often underutilized
 New problems were requiring computational power that went
beyond the capability of single clusters
 The improvements in networking and the diffusion of the
Internet made possible long-distance, high-bandwidth
connectivity

Cloud Computing Fundamentals


Distributed Systems
Cloud Computing
41

 Cloud computing is often considered the


successor of grid computing, while it embodies
aspects of all these three major technologies

Cloud Computing Fundamentals


Virtualization
42

 Virtualization is another core technology for cloud


computing
 It encompasses a collection of solutions allowing
the abstraction of some of the fundamental
elements for computing, such as hardware, runtime
environments, storage, and networking
 Virtualization is essentially a technology that allows
creation of different computing environments
 These environments are called virtual because they
simulate the interface that is expected by a guest

Cloud Computing Fundamentals


Virtualization
43

 The most common example of virtualization is


hardware virtualization
 This technology allows simulating the hardware
interface expected by an operating system
 Hardware virtualization allows the coexistence of
different software stacks on top of the same
hardware
 These stacks are contained inside virtual machine
instances, which operate in complete isolation
from each other
Cloud Computing Fundamentals
Virtualization
44

 High-performance servers can host several


virtual machine instances, thus creating the
opportunity to have a customized software
stack on demand
 This is the base technology that enables cloud
computing solutions to deliver virtual servers
on demand, such as Amazon EC2,
RightScale, VMware vCloud, and others

Cloud Computing Fundamentals


Virtualization
45


Virtualization technologies are also used to
replicate runtime environments for programs

Applications in the case of process virtual
machines (which include the foundation of
technologies such as Java or .NET), instead of
being executed by the operating system, are run
by a specific program called a virtual machine

This approach is used in cloud computing to
provide a platform for scaling applications on
demand, such as Google AppEngine and
Windows Azure
Cloud Computing Fundamentals
Web 2.0
46


The Web is the primary interface through which cloud
computing delivers its services

At present, the Web encompasses a set of technologies
and services that facilitate interactive information sharing,
collaboration, user-centered design, and application
composition

This evolution has transformed the Web into a rich
platform for application development and is known as Web
2.0

Web 2.0 brings interactivity and flexibility into Web pages,
providing enhanced user experience by gaining Web-
based access to all the functions that are normally found in
desktop applications
Cloud Computing Fundamentals
Web 2.0
47

 These capabilities are obtained by integrating


a collection of standards and technologies
such as
 XML
 Asynchronous JavaScript and XML (AJAX)
 Web Services, and others
 Examples of Web 2.0 applications are Google
Documents, Google Maps, Flickr, Facebook,
Twitter, YouTube, Blogger, and Wikipedia

Cloud Computing Fundamentals


Service-oriented computing
48

 Service orientation is the core reference model


for cloud computing systems
 This approach adopts the concept of services
as the main building blocks of application and
system development
 Service-oriented computing (SOC) supports
the development of rapid, low-cost, flexible,
interoperable, and evolvable applications and
systems

Cloud Computing Fundamentals


Service-oriented computing
49

 A service is an abstraction representing a self-


describing and platform-agnostic component that can
perform any function
 anything from a simple function to a complex business
process
 Virtually any piece of code that performs a task can be
turned into a service and expose its functionalities
through a network-accessible protocol.
 A service is supposed to be loosely coupled, reusable,
programming language independent, and location
transparent.
Cloud Computing Fundamentals
Service-oriented computing
50

 Services are composed and aggregated into a


service-oriented architecture (SOA), which is a
logical way of organizing software systems to
provide end users or other entities distributed
over the network with services through
published and discoverable interfaces
 SOA organizes a software system into a
collection of interacting services

Cloud Computing Fundamentals


Service-oriented computing
51

 There are two major roles within SOA


 the service provider: is the maintainer of the
service and the organization that makes available
one or more services for others to use
 To advertise services, the provider can publish them in
a registry, together with a service contract that
specifies the nature of the service, how to use it, the
requirements for the service, and the fees charged
 The service consumer: can locate the service
metadata in the registry and develop the required
client components to bind and use the service
Cloud Computing Fundamentals
Service-oriented computing
52

 Services might aggregate information and data


retrieved from other services or create workflows of
services to satisfy the request of a given service
consumer
 This practice is known as service orchestration, which
more generally describes the automated arrangement,
coordination, and management of complex computer
systems, middleware, and services
 Another important interaction pattern is service
choreography, which is the coordinated interaction of
services without a single point of control
Cloud Computing Fundamentals
Service-oriented computing
53


Service Composition

Service Orchestration: a single centralized executable
business process (the orchestrator) that coordinates
the interaction among different services. The
orchestrator is responsible for invoking and combining
the services
 like in an orchestra

Service Choreography: is a global description of the
participating services, which is defined by exchange of
messages, rules of interaction and agreements
between two or more endpoints
 like in a dancing stage

Cloud Computing Fundamentals


Service-oriented computing
54


Principles of designing an SOA platform

Standardized service contract: Services adhere to a
given communication agreement, which is specified
through one or more service description documents

Loose coupling: Services are designed as self-
contained components, maintain relationships that
minimize dependencies on other services, and only
require being aware of each other

Abstraction: A service is completely defined by
service contracts and description documents. They
hide their logic, which is encapsulated within their
implementation

Cloud Computing Fundamentals


Service-oriented computing
55

 Principles of designing an SOA platform


 Reusability: Designed as components, services can
be reused more effectively, thus reducing
development time and the associated costs
 Autonomy: Services have control over the logic they
encapsulate and, from a service consumer point of
view, there is no need to know about their
implementation
 Lack of state: By providing a stateless interaction
pattern, services increase the chance of being reused
and aggregated

Cloud Computing Fundamentals


Service-oriented computing
56

 Principles of designing an SOA platform


 Discoverability: Services are defined by
description documents that constitute
supplemental metadata through which they can
be effectively discovered
 Composability: Using services as building blocks,
sophisticated and complex operations can be
implemented (orchestration and choreography)

Cloud Computing Fundamentals


Service-oriented computing
57


Service-oriented computing introduces important
concepts

Quality of service (QoS) identifies a set of functional
and nonfunctional attributes that can be used to
evaluate the behavior of a service from different
perspectives
 QoS requirements are established between the client and
the provider via an SLA (Service Level Agreement)

Software-as-a-Service in which application service
providers (ASPs) deliver software services-based
solutions across the wide area network from a central
datacenter

Cloud Computing Fundamentals


Service-oriented computing
Web Services
58


One of the most popular expressions of service
orientation is represented by Web Services
(WS)

These introduce the concepts of SOC into the
World Wide Web, by making it consumable by
applications and not only humans

Web services are software components that
expose functionalities accessible using a
method invocation pattern that goes over the
HTTP

Cloud Computing Fundamentals


Service-oriented computing
Web Services
59

 The interface of a Web service can be


programmatically inferred by metadata
expressed through the Web Service
Description Language (WSDL)
 WSDL is an XML language that defines the
characteristics of the service and all the methods,
together with parameters, descriptions, and return
type, exposed by the service

Cloud Computing Fundamentals


Service-oriented computing
Web Services
60

 The interaction with Web services happens


through Simple Object Access Protocol
(SOAP). This is an XML language that defines
how to invoke a Web service method and
collect the result.
 Using SOAP and WSDL over HTTP, Web
services become platform independent and
accessible to the World Wide Web.

Cloud Computing Fundamentals


Service-oriented computing
Web Services
61

 The service description document, expressed by


means of Web Service Definition Language
(WSDL), can be either uploaded to a global
registry or attached as a metadata to the service
itself
 Service consumers can look up and discover
services in global catalogs using Universal
Description Discovery and Integration (UDDI) or,
most likely, directly retrieve the service
metadata by interrogating the Web service first
Cloud Computing Fundamentals
Service-oriented computing
Web Services
62

WSFL Web Service Flow

Quality of Service
Static  UDDI Service Discovery

Management
Direct  UDDI Service Publication

Security
WSDL Service Description

SOAP
XML-based
Messaging
HTTP, FTP,e-mail, MQ, IIOP, …. Network

Cloud Computing Fundamentals


Service-oriented computing
Web Services
63

 Simple Object Access Protocol (SOAP), an XML-


based language for exchanging structured information
in a platform-independent manner, constitutes the
protocol used for Web service method invocation.
 Within a distributed context leveraging the Internet,
SOAP is considered an application layer protocol that
leverages the transport level, most commonly HTTP,
for IPC.
 SOAP structures the interaction in terms of messages
that are XML documents mimicking the structure of a
letter, with an envelope, a header, and a body
Cloud Computing Fundamentals
Service-oriented computing
Web Services
64

POST /InStock HTTP/1.1


Host: www.stocks.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: <Size>

<?xml version=“1.0”>
Envelope
<soap:Envelope xmlns:soap=“http//www.w3.org/2001/12/soap-envelope”
soap:encondingStyle=“http//www.w3.org/2001/12/soap-encoding”>
Header: Metadata &
<soap:Header></soap:Header> Assertions

<soap:Body xmlns:m=http://www.stocks.org/stock>
<m:GetStockPrice>
<m:StockName>IBM<m:StockName>
</m:GetStockPrice>
</soap:Body>
Body: Method Call
</soap:Envelope>

Cloud Computing Fundamentals


Service-oriented computing
Web Services
65

POST /InStock HTTP/1.1


Host: www.stocks.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: <Size>

<?xml version=“1.0”>
Envelope
<soap:Envelope xmlns:soap=“http//www.w3.org/2001/12/soap-envelope”
soap:encondingStyle=“http//www.w3.org/2001/12/soap-encoding”>
Header: Metadata &
<soap:Header></soap:Header> Assertions

<soap:Body xmlns:m=http://www.stocks.org/stock>
<m:GetStockPriceResponse>
<m:Price>34.5<m:Price>
</m:GetStockPriceResponse>
</soap:Body>
Body: Execution Result
</soap:Envelope>

Cloud Computing Fundamentals


Service-oriented computing
Web Services
66

 SOAP has often been considered quite


inefficient because of the excessive use of
markup that XML imposes for organizing the
information into a well-formed document.
 Therefore, light weight alternatives to the
SOAP/XML pair have been proposed to
support Web services.
 The most relevant alternative is
Representational State Transfer (REST)

Cloud Computing Fundamentals


Service-oriented computing
Web Services
67


In a RESTful system, a client sends a request over
HTTP using the standard HTTP methods (PUT, GET,
POST, and DELETE), and the server issues a
response that includes the representation of the
resource.

By relying on this minimal support, it is possible to
provide whatever it needed to replace the basic and
most important functionality provided by SOAP, which
is method invocation

The content of data is still transmitted using XML as
part of the HTTP content, but the additional markup
required by SOAP is removed
Cloud Computing Fundamentals
Utility-oriented computing
68

 Utility computing is a vision of computing that


defines a service-provisioning model for compute
services in which resources such as storage,
compute power, applications, and infrastructure
are packaged and offered on a pay-per-use basis
 The first traces of this service-provisioning model
can be found in the mainframe era
 IBM and other mainframe providers offered
mainframe power to organizations such as banks and
government agencies throughout their datacenters

Cloud Computing Fundamentals


Utility-oriented computing
69

 Computing grids brought the concept of utility


computing to a new level: market orientation
 E-commerce technologies provided the
infrastructure support for utility computing
 SOC (Service Oriented Computing) broadened
the concept of what could have been accessed as
a utility in a computer system: not only compute
power and storage but also services and
application components could be utilized and
integrated on demand
Cloud Computing Fundamentals
Computing platforms and
technologies
70

 Amazon web services (AWS)


 Google AppEngine
 Microsoft Azure
 Force.com and Salesforce.com

Cloud Computing Fundamentals


Amazon web services (AWS)
71


AWS offers comprehensive cloud IaaS services
ranging from virtual compute, storage, and
networking to complete computing stacks

AWS is mostly known for three services

Elastic Compute Cloud (EC2)

Amazon Elastic Block Store (EBS)
 provides persistent block storage volumes for use with
Amazon EC2 instances in the AWS Cloud.
 Simple Storage Service (S3)
 Users can store objects of any size, from simple files to
entire disk images, and have them accessible from
everywhere.

Cloud Computing Fundamentals


Elastic Compute Cloud (EC2)
72

 EC2 provides users with customizable virtual hardware


that can be used as the base infrastructure for deploying
computing systems on the cloud
 It is possible to choose from a large variety of virtual
hardware configurations, including GPU and cluster
instances
 EC2 instances are deployed either by using the AWS
console, or by using the Web services API available for
several programming languages
 EC2 also provides the capability to save a specific
running instance as an image

Cloud Computing Fundamentals


Elastic Compute Cloud (EC2)
Compute Optimized Instances
73

Network
Dedicated EBS
Model vCPU* Mem (GiB) Storage (GiB) Performance
Bandwidth (Mbps)
(Gbps)
c5.large 2 4 EBS-Only Up to 3,500 Up to 10
c5.xlarge 4 8 EBS-Only Up to 3,500 Up to 10
c5.2xlarge 8 16 EBS-Only Up to 3,500 Up to 10
c5.4xlarge 16 32 EBS-Only 3,500 Up to 10
c5.9xlarge 36 72 EBS-Only 7,000 10
c5.18xlarge 72 144 EBS-Only 14,000 25
c5d.large 2 4 1 x 50 NVMe SSD Up to 3,500 Up to 10

c5d.xlarge 4 8 1 x 100 NVMe SSD Up to 3,500 Up to 10

c5d.2xlarge 8 16 1 x 200 NVMe SSD Up to 3,500 Up to 10

c5d.4xlarge 16 32 1 x 400 NVMe SSD 3,500 Up to 10

c5d.9xlarge 36 72 1 x 900 NVMe SSD 7,000 10

c5d.18xlarge 72 144 2 x 900 NVMe SSD 14,000 25

Cloud Computing Fundamentals


Google AppEngine
74


Google AppEngine is a scalable runtime environment
mostly devoted to executing Web applications

AppEngine provides both a secure execution
environment and a collection of services that simplify the
development of scalable and high-performance Web
applications

Developers can build and test applications on their own
machines using the AppEngine software development kit
(SDK), which replicates the production runtime
environment and helps test and profile applications

The languages currently supported are Java, PHP,
Node.js, Python, C#, .Net, Ruby and Go

Cloud Computing Fundamentals


Microsoft Azure
75

 Microsoft Azure is a cloud operating system and a


platform for developing applications in the cloud
 It provides a scalable runtime environment for Web
applications and distributed applications in general
 Currently, there are three types of role
 Web role: to host a Web application
 Worker role: a more generic container of applications
and can be used to perform workload processing
 Virtual machine role: provides a virtual environment in
which the computing stack can be fully customized,
including the operating systems
Cloud Computing Fundamentals
Salesforce.com
76


Force.com is a cloud computing platform for
developing social enterprise applications

The platform is the basis for SalesForce.com, a
Software-as-a-Service solution for customer
relationship management

Force.com allows developers to create applications by
composing ready-to-use blocks; a complete set of
components supporting all the activities of an
enterprise are available.

It is also possible to develop your own components or
integrate those available in AppExchange into your
applications.
Cloud Computing Fundamentals
Cloud Open Source Tools
77

 OpenStack (IaaS)
 RedHat OpenShift Origin (PaaS)
 Cloud Foundry (PaaS)
 Cloud Infrastructure Automation Tools
 Chef
 Puppet
 Zenoss

Cloud Computing Fundamentals


OpenStack
78


OpenStack is a free and open-source software
platform for cloud computing, mostly deployed as
infrastructure-as-a-service (IaaS), whereby virtual
servers and other resources are made available to
customers

The software platform consists of interrelated
components that control diverse, multi-vendor
hardware pools of processing, storage, and
networking resources throughout a data center

Users either manage it through a web-based
dashboard, through command-line tools, or through
RESTful web services
Cloud Computing Fundamentals
OpenStack
Components
79

Cloud Computing Fundamentals


OpenStack
Components
80


OpenStack Compute (Nova)

is a cloud computing fabric controller, which is the main
part of an IaaS system

It is designed to manage and automate pools of
computer resources and can work with widely available
virtualization technologies such as Vmware, KVM, Xen

Networking (Neutron)

is a system for managing networks and IP addresses

Users can create their own networks, control traffic, and
connect servers and devices to one or more networks

Administrators can use software-defined networking
(SDN)

Cloud Computing Fundamentals


OpenStack
Components
81

 Block Storage (Cinder)


 Provides persistent block-level storage devices
for use with OpenStack compute instances
 Identity (Keystone)
 Provides a central directory of users mapped to
the OpenStack services they can access
 It acts as a common authentication system across
the cloud operating system and can integrate with
existing backend directory services like LDAP

Cloud Computing Fundamentals


OpenStack
Components
82

 Image (Glance)
 Provides discovery, registration, and delivery
services for disk and server image
 Object Storage (Swift)
 Is a scalable redundant storage system
 Objects and files are written to multiple disk
drives spread throughout servers in the data
center, with the OpenStack software responsible
for ensuring data replication and integrity across
the cluster
Cloud Computing Fundamentals
OpenStack
Components
83

 Dashboard (Horizon)
 Provides administrators and users with a graphical
interface to access, provision, and automate
deployment of cloud-based resources
 The design accommodates third party products and
services, such as billing, monitoring, and additional
management tools
 Database as a Service(Trove)
 Elastic map reduce (Sahara)
 Shared file system (Manila)
Cloud Computing Fundamentals
OpenShift Origin (OKD)
84

 OpenShift Origin is an open source PaaS


product developed by RedHat
 It uses Containers and Docker to execute
applications
 There are also commercial versions such as
OpenShift Online and OpenShift Container
Platform and OpenShift Dedicated (hosted on
AWS)

Cloud Computing Fundamentals


OpenShift Origin (OKD)
85

Cloud Computing Fundamentals


Cloud Foundry
86

 Is an Open Source Cloud Application Platform


Backed by Cisco, Google, IBM, Microsoft and
more
 It also supports Containers and provides two
types of application development
 Application Runtime
 Ittakes the code, written in any language or
framework, and runs it on any cloud using containers
 Container Runtime
 Givesthe programmer more granular control and
management of containers with Kubernetes
Cloud Computing Fundamentals
Cloud Infrastructure Automation Tools
87

 Chef
 Is a systems and cloud infrastructure‐automation framework
that makes it easy to deploy servers and applications to any
physical, virtual, or cloud location
 Puppet
 Is an IT automation tool to manage infrastructure from

provisioning and configuration to orchestration and


reporting
 Zenoss
 Is used to manage datacenter and cloud infrastructures for
monitoring application, server, and network‐management
platforms
Cloud Computing Fundamentals

You might also like