SlideShare uma empresa Scribd logo
1 de 229
Baixar para ler offline
Cloud Computing
Chapter 1
Computing Paradigms
The evolution of distributed computing
technologies, 1950s 2010s
1950 1960 1970 1980 1990 2000 2010
Mainframes
Clusters
1999: Grid Computing
Grids
Clouds
1966: Flynn’s Taxonomy
SISD, SIMD, MISD, MIMD
1969: ARPANET
1970: DARPA’s TCP/IP
1984: DEC’s
VMScluster
1984: IEEE 802.3
Ethernet & LAN
1975: Xerox PARC
Invented Ethernet
1990: Lee-Calliau
WWW, HTTP, HTML
2004: Web 2.0
2005: Amazon
AWS (EC2, S3)
1960: Cray’s First
Supercomputer
2010: Microsoft
Azure
1997: IEEE
802.11 (Wi-Fi)
1989: TCP/IP
IETF RFC 1122 2007: Manjrasoft Aneka
2008: Google
AppEngine
1951: UNIVAC I,
First Mainframe
16 CHAPTER 1 Introduction
Distributed systems
´ A distributed system is a collection of independent computers that appears
to its users as a single coherent system
´ The primary purpose of distributed systems is to share resources and utilize
them better
Distributed systems Properties
´ Heterogeneity
´ Openness
´ scalability
´ Transparency
´ Concurrency
´ continuous availability
´ Independent failures
Historical developments
´ Three major milestones have led to cloud computing
´ Mainframe computing
´ Cluster computing
´ Grid computing
Mainframe computing
´ Powerful
´ Highly reliable computers specialized for large data movement
´ Massive input/output (I/O) operations
´ used by large organizations for bulk data processing tasks
´ Offered large computational power by using multiple processors, which were
presented as a single entity to users
´ The ability to be highly reliable computers that were “always on” and capable of
tolerating failures transparently
´ Batch processing was the main application of mainframes
´ Evolved versions of such systems are still in use for transaction processing (such as
online banking, airline ticket booking, supermarket, and government services)
Clusters
´ The technology advancement that created faster and more powerful
mainframes and supercomputers eventually generated an increased
availability of cheap commodity machines as a side effect
´ These machines could then be connected by a high-bandwidth network
and controlled by specific software tools that manage them as a single
system
Cluster Computer Architecture
Sequential Applications
Parallel Applications
Parallel Programming Environment
Cluster Middleware
(Single System Image and Availability Infrastructure)
Cluster Interconnection Network/Switch
PC/Workstation
Network Interface
Hardware
Communications
Software
PC/Workstation
Network Interface
Hardware
Communications
Software
PC/Workstation
Network Interface
Hardware
Communications
Software
PC/Workstation
Network Interface
Hardware
Communications
Software
Sequential Applications
Sequential Applications
Parallel Applications
Parallel Applications
Grid Computing
u Grid computing proposed a new approach to access large computati
onal power, huge storage facilities, and a variety of services
u Users can “consume” resources in the same way as they use other utilit
ies such as power, gas, and water
u Several clusters in Grid
u May include super computers, desktops, laptops, mobile devices
Traditional paradigms for distributed
computing
14 OGSA AND WSR
Figure 2.1 Traditional paradigms for distributed computing
TEAM
FLY
Traditional paradigms for distributed computing
Socket Programming
´ a low-level API for writing distributed client/ server
applications
´ a socket endpoint needs to be created
´ TCP or UDP in the TCP/IP protocol stack
14 OGSA AND WSRF
Figure 2.1 Traditional paradigms for distributed computing
(RMI) [9], Distributed Component Object Model (DCOM) [10] and
Common Object Request Broker Architecture (CORBA) [11]. In the
following sections, we give a brief overview of each technique.
2.2.1 Socket programming
Sockets provide a low-level API for writing distributed client/
server applications. Before a client communicates with a server, a
socket endpoint needs to be created. The transport protocol cho-
sen for communications can be either TCP or UDP in the TCP/IP
protocol stack. The client also needs to specify the hostname and
port number that the server process is listening on. The stan-
dard socket API is well-defined, however the implementation is
language dependant. So, this means socket-based programs can
be written in any language, but the socket APIs will vary with
each language use. Typically, the socket client and server will
be implemented in the same language and use the same socket
package, but can run on different operating systems (i.e. in the
Java case).
As mentioned above, socket programming is a low-level com-
munication technique, but has the advantage of a low latency
and high-bandwidth mechanism for transferring large amount
TEAM
FLY
´ needs to specify the hostname and port number that the server
process is listening on
´ socket-based programs can be written in any language, but the
socket APIs will vary with each language use
´ the socket client and server will be implemented in the same
language and use the same socket package, but can run on
different operating systems
Traditional paradigms for distributed computing
Socket Programming
14 OGSA AND WSRF
Figure 2.1 Traditional paradigms for distributed computing
(RMI) [9], Distributed Component Object Model (DCOM) [10] and
Common Object Request Broker Architecture (CORBA) [11]. In the
following sections, we give a brief overview of each technique.
2.2.1 Socket programming
Sockets provide a low-level API for writing distributed client/
server applications. Before a client communicates with a server, a
socket endpoint needs to be created. The transport protocol cho-
sen for communications can be either TCP or UDP in the TCP/IP
protocol stack. The client also needs to specify the hostname and
port number that the server process is listening on. The stan-
dard socket API is well-defined, however the implementation is
language dependant. So, this means socket-based programs can
be written in any language, but the socket APIs will vary with
each language use. Typically, the socket client and server will
be implemented in the same language and use the same socket
package, but can run on different operating systems (i.e. in the
Java case).
As mentioned above, socket programming is a low-level com-
munication technique, but has the advantage of a low latency
and high-bandwidth mechanism for transferring large amount
of data compared with other paradigms. However, sockets are
designed for the client/server paradigm, and today many appli-
TEAM
FLY
´ Advantage
´ A low latency and high-bandwidth mechanism for transferring
´ Disadvantage
´ sockets are designed for the client/server paradigm, and today
many applications have multiple components interacting in
complex ways
Traditional paradigms for distributed computing
Socket Programming
14 OGSA AND WSRF
Figure 2.1 Traditional paradigms for distributed computing
(RMI) [9], Distributed Component Object Model (DCOM) [10] and
Common Object Request Broker Architecture (CORBA) [11]. In the
following sections, we give a brief overview of each technique.
2.2.1 Socket programming
Sockets provide a low-level API for writing distributed client/
server applications. Before a client communicates with a server, a
socket endpoint needs to be created. The transport protocol cho-
sen for communications can be either TCP or UDP in the TCP/IP
protocol stack. The client also needs to specify the hostname and
port number that the server process is listening on. The stan-
dard socket API is well-defined, however the implementation is
language dependant. So, this means socket-based programs can
be written in any language, but the socket APIs will vary with
each language use. Typically, the socket client and server will
be implemented in the same language and use the same socket
package, but can run on different operating systems (i.e. in the
Java case).
As mentioned above, socket programming is a low-level com-
munication technique, but has the advantage of a low latency
and high-bandwidth mechanism for transferring large amount
TEAM
FLY
Traditional paradigms for distributed computing
Remote Procedure Calls (RPC)
Compared with socket programming, RPC is arguably easier
to use for implementing distributed applications. However, RPC
Figure 2.2 Data-flow control in an RPC application
´ Write an RPC interface in RPC IDL
´ Use an RPC compiler to compile the
interface to generate a
´ client-side stub and a server-side
skeleton
´ Implement the server
´ Implement the client
´ Compile all the code with a RPC
library;
´ Start the server
´ Start the client with the IP address of
the server
Traditional paradigms for distributed computing
Remote Procedure Calls (RPC)
communicating with a server, a client needs to specify the
name or the IP address of the server. Figure 2.2 shows the data
control in an RPC-based client/server application.
Compared with socket programming, RPC is arguably e
to use for implementing distributed applications. However,
Figure 2.2 Data-flow control in an RPC application
Traditional paradigms for distributed computing
Remote Procedure Calls (RPC)
mentations are in C. An RPC client and server have to be im
mented in the same language and use the same RPC package. W
communicating with a server, a client needs to specify the h
name or the IP address of the server. Figure 2.2 shows the data-fl
control in an RPC-based client/server application.
Compared with socket programming, RPC is arguably ea
to use for implementing distributed applications. However, R
Figure 2.2 Data-flow control in an RPC application
• An RPC client and server have to be implemented
in the same language
• Use the same RPC package
• Relies heavily on an Interface Definition
Language (IDL) interface
´ Compared with socket programming, RPC is
arguably easier
´ When communicating with a server, a client needs to specify
the host- name or the IP address of the server
Traditional paradigms for distributed computing
Remote Procedure Calls (RPC)
mented in the same language and use the same RPC packag
communicating with a server, a client needs to specify t
name or the IP address of the server. Figure 2.2 shows the d
control in an RPC-based client/server application.
Compared with socket programming, RPC is arguab
to use for implementing distributed applications. Howev
Figure 2.2 Data-flow control in an RPC application
´ Supports synchronous communication
(call/wait) between the client and server
´ the client has to wait until it receives a response
from the server
´ RPC is not object-oriented
Traditional paradigms for distributed computing
Remote Procedure Calls (RPC)
mentations are in C. An RPC client and server have to be i
mented in the same language and use the same RPC package. W
communicating with a server, a client needs to specify the
name or the IP address of the server. Figure 2.2 shows the data
control in an RPC-based client/server application.
Compared with socket programming, RPC is arguably
to use for implementing distributed applications. However
Figure 2.2 Data-flow control in an RPC application
Traditional paradigms for distributed computing
Java Remote Method Invocation (RMI)
2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING 17
Figure 2.3 Data-flow control in a Java RMI application
Traditional paradigms for distributed computing
Java Remote Method Invocation (RMI)
´ Write an RMI interface
´ Write an RMI object to implement the
interface
´ Use RMI compiler (rmic) to compile the RMI
object to generate a client-side stub and
an server-side skeleton
´ Write an RMI server to register the RMI
object
´ Write an RMI client
´ Use Java compiler (javac) to compile all
the Java source codes
´ Start the RMI name server (rmiregistry)
´ Start the RMI server
´ Start the RMI client.
2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING
Figure 2.3 Data-flow control in a Java RMI application
´ is an RPC implementation in Java
´ Java RMI is restricted to the Java language in that an
RMI client and server have to be implemented in
Java
Traditional paradigms for distributed computing
Java Remote Method Invocation (RMI)
2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING
Figure 2.3 Data-flow control in a Java RMI application
different operating systems in distributed locations. When
municating with a server, an RMI client has to specify the s
hostname (or IP address) and use the Java Remote Method Pr
´ Three interacting entities involved in an RMI application
´ A client that invokes a method on a remote object
´ A server that runs the remote object which is an ordinary object
in the address space of the server process
´ The object registry (rmiregistry), which is a name server that
relates objects with names Remote objects need to be
registered with the registry
Traditional paradigms for distributed computing
Java Remote Method Invocation (RMI)
2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING
Figure 2.3 Data-flow control in a Java RMI application
different operating systems in distributed locations. When c
municating with a server, an RMI client has to specify the ser
hostname (or IP address) and use the Java Remote Method Pro
´ Java RMI uses an object-oriented approach
´ Unlike RPC which needs an IDL interface, a Java RMI
interface is written in Java
Traditional paradigms for distributed computing
Java Remote Method Invocation (RMI)
2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING
Figure 2.3 Data-flow control in a Java RMI application
different operating systems in distributed locations. Whe
municating with a server, an RMI client has to specify the
hostname (or IP address) and use the Java Remote Method P
´ The main drawbacks
´ Its limitation to the Java language
´ Its proprietary invocation protocol- JRMP
´ It only supports synchronous communications
Traditional paradigms for distributed computing
Java Remote Method Invocation (RMI)
2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING
Figure 2.3 Data-flow control in a Java RMI application
different operating systems in distributed locations. When
municating with a server, an RMI client has to specify the ser
hostname (or IP address) and use the Java Remote Method Pro
Traditional paradigms for distributed computing
Distributed Component Object Model
(DCOM)
application with DCOM.
DCOM is language independent; clients and DCOM components
can be implemented in different languages. Although DCOM is
available on non-Microsoft platforms, it has only achieved broad
popularity on Windows. Another drawback of DCOM is that it
Figure 2.4 Data-flow control in a DCOM application
Traditional paradigms for distributed computing
Distributed Component Object Model (DCOM)
´ Write an MIDL interface;
´ Use an interface compiler (midl)
to compile the interface to
generate a client-side stub and a
server-side skeleton
´ Write the COM component to
implement the interface
´ Write a DCOM client
´ Compile all the codes
´ Register the COM component
with a DCOM server
´ Start the DCOM server
´ Start the DCOM client
Object Remote Procedure Call (ORPC) to invoke remote COM
ponents. The ORPC is layered on top of the OSF DCE RPC
ification. Figure 2.4 shows the data-flow control in a client/s
application with DCOM.
DCOM is language independent; clients and DCOM compo
can be implemented in different languages. Although DCO
available on non-Microsoft platforms, it has only achieved
popularity on Windows. Another drawback of DCOM is t
Figure 2.4 Data-flow control in a DCOM application
´ The Component Object Model (COM) is a
binary standard for building Microsoft-based
component applications
´ DCOM is an extension to COM for distributed
client/server applications
Traditional paradigms for distributed computing
Distributed Component Object Model
(DCOM)
Object Remote Procedure Call (ORPC) to invoke remote COM
ponents. The ORPC is layered on top of the OSF DCE RPC
ification. Figure 2.4 shows the data-flow control in a client/s
application with DCOM.
DCOM is language independent; clients and DCOM compo
can be implemented in different languages. Although DCO
available on non-Microsoft platforms, it has only achieved
popularity on Windows. Another drawback of DCOM is t
Figure 2.4 Data-flow control in a DCOM application
´ A client-side stub (called proxy in
DCOM)
´ a server-side skeleton (called stub in
DCOM) using Microsoft’s Interface
Definition Language (MIDL) interface
´ uses a protocol called the Object
Remote Procedure Call (ORPC)
Traditional paradigms for distributed computing
Distributed Component Object Model
(DCOM)
ponents. The ORPC is layered on top of the OSF DCE RP
ification. Figure 2.4 shows the data-flow control in a clien
application with DCOM.
DCOM is language independent; clients and DCOM com
can be implemented in different languages. Although DC
available on non-Microsoft platforms, it has only achieved
popularity on Windows. Another drawback of DCOM is
Figure 2.4 Data-flow control in a DCOM application
´ Drawbacks
´ It has only achieved broad
popularity on Windows
´ Only supports synchronous
communications
Traditional paradigms for distributed computing
Distributed Component Object Model
(DCOM)
ponents. The ORPC is layered on top of the OSF DCE RP
ification. Figure 2.4 shows the data-flow control in a clien
application with DCOM.
DCOM is language independent; clients and DCOM com
can be implemented in different languages. Although DC
available on non-Microsoft platforms, it has only achieved
popularity on Windows. Another drawback of DCOM is
Figure 2.4 Data-flow control in a DCOM application
Traditional paradigms for distributed computing
Common Object Request Broker Architecture
(CORBA)
20 OGSA AND WSRF
Figure 2.5 Data-flow control in a CORBA application
´ Write a CORBA object to implement the interface
´ Write a CORBA server to register the CORBA object
´ Write a CORBA client
´ Compile all the source codes
´ Start a CORBA name server
´ Start the CORBA server
´ Start the CORBA client
Traditional paradigms for distributed computing
Common Object Request Broker Architecture (CORBA)
20 OGSA AND
Figure 2.5 Data-flow control in a CORBA application
• Write a CORBA object to implement the interface;
• Write a CORBA server to register the CORBA object;
• Write a CORBA client;
´ An object-oriented middleware infrastructure
from Object Management Group (OMG)
´ Generating a client-side stub and a server-
side skeleton through an IDL interface
´ uses Internet-Inter ORB Protocol (IIOP)
´ The Object Request Broker (ORB) is the core
of CORBA
Traditional paradigms for distributed computing
Common Object Request Broker Architecture (CORBA)
20 OGSA AND
Figure 2.5 Data-flow control in a CORBA application
• Write a CORBA object to implement the interface;
• Write a CORBA server to register the CORBA object;
• Write a CORBA client;
´ CORBA is independent of location, a particular platform
or programming language
´ supports both synchronous and asynchronous
communications
´ has an advanced directory service called COSNaming,
which provides the mechanisms to allow the transparent
location of objects
Traditional paradigms for distributed computing
Common Object Request Broker Architecture
(CORBA)
20 OGSA AND
Figure 2.5 Data-flow control in a CORBA application
• Write a CORBA object to implement the interface;
• Write a CORBA server to register the CORBA object;
• Write a CORBA client;
A summary on Java RMI, DCOM and CORBA
Common features
´ An interface is needed for invoking a remote object or a
component
´ The complexity of low-level communications is hidden from the
users by automatically generating a client-side stub and a server-
side skeleton via the interface definition
´ They use proprietary communication protocols – e.g. Java RMI uses
JRMP, DCOM uses ORPC and CORBA uses IIOP – to invoke remote
objects or components
´ The interface definition is in binary format
´ It is difficult for client applications to make a query on an
interface
´ such as to find out what kinds of methods are defined, inputs/outputs of
each method to make a better use of the methods
´ Clients and objects are tightly coupled with their
interfaces
´ For example, changing a part of the client means the other parts, such
as the server, also need modification
A summary on Java RMI, DCOM and CORBA
Common features
´ middleware such as Java RMI, DCOM and CORBA are not based on open
standards
´ Makes it difficult for them to be ubiquitously taken up in heterogeneous
environments
´ is needed is an open standards-based middleware infrastructure for
building and integrating applications in heterogeneous environments
A summary on Java RMI, DCOM and CORBA
Common features
WEB SERVICES
´ Web services are based on a Service- Oriented Architecture (SOA)
´ Focus on simple open standards such as XML and HTTP
22 OGSA AND WSRF
Figure 2.6 Paradigms including Web services for building distributed
applications
• Encapsulated: The implementation of a Web service is completely
invisible to the client of a service.
• Platform and programming language neutral: A Web service can be
implemented in any language and deployed on any platform.
• Composable: A Web service can be composed from a number of
deployed services.
• Server-side component: A Web service can range in scope from a
complete application to a subroutine that runs on a server.
• Described: An XML-based interface is used to describe the func-
´ Loosely coupled
´ A Web service implementation is free to change without unduly impacting the
service client as long as the service interface remains the same
´ Encapsulated
´ The implementation of a Web service is completely invisible to the client of a
service
´ Platform and programming language neutral
´ A Web service can be implemented in any language and deployed on any
platform
WEB SERVICES
´ Composable
´ A Web service can be composed from a number of deployed services
´ Server-side component
´ A Web service can range in scope from a complete application to a subroutine
that runs on a server
´ Described
´ An XML-based interface is used to describe the functionality and capabilities
that a Web service can provide
WEB SERVICES
´ Published
´ A Web service can be registered with a service registry that can be accessed on an
intranet or on the Internet
´ Discovered
´ A Web service client can discover a service by searching a service registry and match
their service requirements
´ Invoked
´ A Web service can be bound to by a service client via standard transport protocols
such as HTTP or FTP
´ Internal network or the Internet
´ A Web service can be made available strictly within an organization or it can be
offered across the firewall
´ Available to any consumer connected to the Internet
WEB SERVICES
The core standards of Web services
´ SOAP (Simple Object Access Protocol)
´ Web Services Description Language (WSDL)
´ The Universal Description, Discovery and Integration (UDDI)
´ Web Services Flow Language (WSFL)
In addition, it contains information such as routing and delivery settings, authentication an
zation assertions, and transaction contexts. The body contains the actual message to be pr
The main uses of SOAP messages are method invocation and result retrieval. Figure 2
an example of a SOAP message used to invoke a Web service method that retrieves the
Web Service Flow
Service Discovery
Service Description
XML-based Messaging
Network
Security
Service Publication
Quality
of
Service
Management
WSDL
SOAP
HTTP,FTP,e-mail, MQ, IIOP, ….
Direct → UDDI
Static → UDDI
WSFL
The core standards of Web services
´
UDDI
´
‫ﺑﻪ‬
‫و‬ ‫ﺛﺒﺖ‬ ِ‫ﻣﻨﻈﻮر‬
‫ﺟﺴﺘﺠﻮي‬
‫ﺳﺮوﻳﺲ‬
‫ھﺎ‬
‫اﺳﺘﻔﺎده‬
‫ﻣﻲ‬
‫ﺷﻮد‬
´
WSDL
´
‫ﺑﺮاي‬
‫ﺗﻮﺻﯿﻒ‬
‫ﺳﺮوﻳﺲ‬
‫ﻣﻲ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ھﺎ‬
‫رود‬
´
SOAP
´
‫ﺑﻪ‬
‫ﻋﻨﻮان‬
‫ﻳﻚ‬
‫ﻻﻳﻪ‬
‫ارﺳﺎل‬ ‫ﺟﮫﺖ‬ ‫اﻧﺘﻘﺎل‬ ‫و‬ ‫ﻧﻘﻞ‬
‫ﭘﯿﺎم‬
‫و‬ ‫ﻣﺸﺘﺮي‬ ‫ﺑﯿﻦ‬
‫ﻋﺮﺿﻪ‬
‫ﻛﻨﻨﺪه‬
‫ﺳﺮوﻳﺲ‬
‫اﺳﺘﻔﺎده‬
‫ﻣﻲ‬
‫ﺷﻮد‬
´
WSFL
´
‫از‬ ‫ﯾﮑﯽ‬
‫ھﺎﯾﯽ‬‫ﺗﮑﻨﯿﮏ‬
‫ﺗﻮﺿﯿﺢ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬
‫دھﺪ‬‫ﻣﯽ‬
‫ﭼﮕﻮﻧﻪ‬
‫ای‬‫ﻣﺠﻤﻮﻋﻪ‬
‫ﺧﺪﻣﺎت‬ ‫از‬
‫وب‬
‫را‬
‫ﺗﻮان‬‫ﻣﯽ‬
‫ﻓﺮآﯾﻨﺪ‬ ‫ﯾﮏ‬ ‫در‬
‫ﮐﺮد‬ ‫ھﻤﺎھﻨﮓ‬ ‫ﯾﺎ‬ ‫ﮐﺮد‬ ‫ﻣﺮﺗﺐ‬ ‫ﺑﺎﻻﺗﺮ‬ ‫ﺳﻄﺢ‬ ‫ﺗﺠﺎری‬
The core standards of Web services
How Web services benefit the Grid
Web services core technologies
face definitions and endpoint implementation descriptions; for
dynamically generating proxies based on (potentially multiple)
bindings of specific interfaces. WSDL supports this require-
ment by providing a standard mechanism for defining interface
Figure 2.13 Web services core technologies
´ An RPC-oriented operation
´ Is one in which the SOAP messages contain parameters and return values
´ The communication in RPC-based message exchanging is synchronous
´ A document-oriented operation
´ Is one in which the SOAP messages contain XML documents
´ The communication in Document-oriented message exchanging is often
asynchronous
Web services
Web Services Description Language (WSDL)
Web services
SOAP (Simple Object Access Protocol)
´ A simple and lightweight communication protocol for clients and servers
´ To exchange messages in an XML format over a transport-level protocol,
which is normally HTTP
´ a SOAP message is encapsulated
Web services
The structure of a SOAP message
authentication, transactions and payments.
• The Body is the main payload of the message. When an RPC call
is used in the SOAP message, the Body has a single element that
contains the method name, arguments and a Uniform Resource
Identifier (URI) of the service target address. In addition, the
fault entry can be used to explain a failure.
Figure 2.7 The structure of a SOAP message
´ It is independent of the underlying transport protocol
´ SOAP messages can be carried over many transport-
level protocols such as HTTP, FTP, SMTP or more
sophisticated protocols such as Java RMI JRMP or
CORBA IIOP
´ Since XML is a universal standard, clients and servers built
on different platforms can communicate with SOAP
Web services
SOAP (Simple Object Access Protocol)
Web services
Web Services Description Language (WSDL)
´ An XML-based specification that is used to completely
describe a Web service
´ With richer semantics to describe a service
´ Defines services as a set of network endpoints or ports
using an RPC-based mechanism or a document-
oriented message
Web services
The structure of a WSDL document
2.3 WEB SERVICES 25
Figure 2.8 The structure of a WSDL document
Web services
The Universal Description, Discovery and
Integration (UDDI)
´ An industry standard for service registration (publication) and discovery
´ A service provider uses UDDI to advertise the services that it is making
available
´ A client uses UDDI to find the appropriate service(s) for its purposes
´ A UDDI registry is similar to a CORBA trader service
´ A UDDI registry has two kinds of players
´ Businesses that want to publish a service
´ Clients who want to obtain services of a certain kind, and then
use them via some binding process
Web services
The Universal Description, Discovery and
Integration (UDDI)
´ UDDI is layered over SOAP, which means that a client
uses SOAP to access a UDDI registry
´ A UDDI registry exposes a set of APIs in the form of SOAP-
based Web services
´ The API contains Inquiry and Publishing APIs for services
discovery and service publication.
Web services
The Universal Description, Discovery and
Integration (UDDI)
´ One technique to describe how a collection of Web services can be
arranged or orchestrated into a higher level business process
´ WSFL addresses items like the proper order in which to invoke a set of Web
services
´ Essentially, WSFL describes how these individual Web services fit into a
bigger picture, such as a business process or a multi-party, multi-operation
long running transaction
Web services
Web Services Flow Language (WSFL)
Web services implementations aspects
A programming model
´Specifies how to write client codes to access Web
services
´How to write service implementations
´How to handle other parts of the SOAP
specification, such as headers and attachments
´The framework used to
´deploy a service
´provide a Web service deployment descriptor (a wsdd file)
to map the implementation of the service to SOAP
messages
Web services implementations aspects
A deployment model
´ receives SOAP messages and invokes Web service implementations
´ Three frameworks for implementing Web services
applications
´ J2EE
´ .Net
´ Apache Axis
Web services implementations aspects
A SOAP Engine
Data-flow control in invoking a Web
service with J2EE JAX-RPC
2.3 WEB SERVICES 31
Figure 2.11 Data-flow control in invoking a Web service with J2EE JAX-RPC
J2EE provides the following APIs for
Web services
´The Java API for XML Processing (JAXP)
´processes XML documents using various parsers
´The Java Architecture for XML Binding (JAXB)
´processes XML documents using schema-derived
JavaBeans component classes
´ The Java API for XML-based RPC (JAX-RPC)
´ a standard for RPC
´ It provides APIs for XML RPC invocation
´ Uses base-level protocol bindings with SOAP/HTTP, but is not limited to HTTP
´ The Java API for XML Messaging (JAXM) and SOAP with
Attachments API for Java (SAAJ)
´ send SOAP messages over the Web in a standard way
´ The Java API for XML Registries (JAXR)
´ provides a standard way to interact with business UDDI registries
J2EE provides the following APIs for
Web services
Data-flow control in invoking a Web
service with Apache Axis
Figure 2.11 Data-flow control in invoking a Web service with J2EE JAX-RPC
Apache Axis
´ Is a SOAP engine that can be used to exchange SOAP messages
between clients and services
´ It also provides support for WSDL operations
´ Java2WSDL can be used to generate a WSDL document from a Java
interface
´ WSDL2Java can be used to generate a client-side stub and a server-
side skeleton based on the WSDL document
´ Axis does not provide support for service discovery and publication
´ UDDI4Java from IBM can be used together with Axis for this
purpose
Microsoft .Net
´ A Microsoft Platform for building Web services
applications
´ Supports the WSDL specification
´ Uses a WSDL document to describe itself
´ Provides a client-side component that lets a client
invoke a Web service described by WSDL
Microsoft .Net
´ It also provides a server-side component
´ Maps Web service operations to a COM-object method call as
described by the WSDL interface and a Web Services Meta
Language (WSML) file, which is needed for Microsoft’s
implementation of SOAP
´ Web services can be published using DISCO files or via a
UDDI registry
´ DISCO is a Microsoft publishing/discovery technology
built into .NET.
Chapter 2
Cloud Computing Fundamentals
Cloud computing vision
I need to grow my
infrastructure, but
I do not know for
how long…
I cannot invest in
infrastructure, I
just started my
business….
I want to focus on
application logic and
not maintenance and
scalability issues
I want to access and
edit my documents
and photos from
everywhere..
I have a surplus of
infrastructure that I
want to make use of
I have a lot of
infrastructure that I
want to rent …
I have infrastructure
and middleware and I
can host applications
I have infrastructure
and provide
application services
FIGURE 1.1
NIST Definition of Cloud Computing
´ National Institute of Standards and Technology (NIST)
´ “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
´Three criteria to discriminate whether a service is delivered in the
cloud computing style
´The service is accessible via a Web browser (nonproprietary) or a Web services
application programming interface (API)
´Zero capital expenditure is necessary to get started
´You pay only for what you use as you use it
The essential characteristics of cloud
computing
2. Broad network access: Capabilities are available over the network and
accessed through standard mechanisms that promote use by hetero-
geneous thin or thick client platforms (e.g., mobile phones, laptops,
and personal digital assistants [PDAs]).
On-demand
self
services
Measured
service
Cloud computing
Rapid elasticity Resource
pooling
Broad network
access
The Cloud computing Reference
Model
Runtime environment for applications
Development and data processing platforms
Examples : Windows Azure, Hadoop, Google AppEngine, Aneka
Platform as a Service
Virtualized servers
Storage and networking
Examples : Amazon EC2, S3, Rightscale, vCloud
Infrastructure as a Service
End-user applications
Scientific applications
Office automation, photo editing,
CRM, and social networking
Examples : Google Documents, Facebook, Flickr, Salesforce
Software as a Service
Web 2.0
Interfaces
12 CHAPTER 1 Introduction
Service Models
´ Cloud SaaS
´ The capability provided to the consumer is to use the provider’s
applications running on a cloud infrastructure
´ The applications are accessible from various client devices
through either a thin client interface, such as a web browser
(e.g., web-based e-mail), or a program interface
´ The consumer does not manage or control the underlying cloud
infrastructure
´ Cloud PaaS
´ The capability provided to the consumer is to deploy onto the cloud
infrastructure consumer-created or acquired applications created using
programming languages, libraries, services, and tools supported by the
provider
´ The consumer does not manage or control the underlying cloud
infrastructure but has control over the deployed applications and
possibly configuration settings for the application-hosting environment
´ It is a packaged and ready-to-run development or operating framework
´ The PaaS vendor provides the networks, servers, and storage and
manages the levels of scalability and maintenance
´ Examples of PaaS providers include Google App Engine and Microsoft
Azure Services
Service Models
´ Cloud IaaS
´ 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
´ The consumer does not manage or control the underlying cloud
infrastructure but has control over the operating systems, storage, and
deployed applications and possibly limited control of select networking
components (e.g., host firewalls)
´ The service provider owns the equipment and is responsible for housing,
cooling operation, and maintenance. Amazon Web Services (AWS) is a
popular example of a large IaaS provider
Service Models
Cloud Deployment Models
´ 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, and it may exist on or off premises
´ 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. It exists on the
premises of the cloud provider
Cloud Deployment Models
´ Community cloud
´ The cloud infrastructure is shared by several organizations and
supports a specific community that has shared concerns (e.g.,
mission, security requirements, policy, and compliance
considerations)
´ It may be managed by the organizations or a third party and
may exist on premise or off premise
Cloud Deployment Models
´Hybrid cloud
´ The cloud infrastructure is a composition of two or more
distinct cloud infrastructures (private, community, or
public) that remain unique entities but are bound
together by standardized or proprietary technology that
enables data and application portability
Cloud Deployment Models
Actors with some of their possible roles
in a cloud ecosystem
manages cloud services, that is, provider of SaaS, PaaS, IaaS, or any
allied computing infrastructure.
3. Cloud service partners (CSNs): A person or organization (e.g., applica-
tion developer; content, software, hardware, and/or equipment pro-
vider; system integrator; and/or auditor) that provides support to the
building of a service offered by a CSP (e.g., service integration).
CSN 1 (application developer)
CSN 2 (content provider)
CSP 2
(Intercloud)
CSN 3
CSU 1 (enterprise) CSU 2 (consumer)
CSP 3
(SaaS/PaaS/IaaS/
CaaS/NaaS provider
and Intercloud)
CSP 1
(SaaS/PaaS/IaaS/CaaS/
NaaS provider and
Intercloud)
FIGURE 2.4
´ Cloud service user (CSU)
´ A consumer (an individual/person), enterprise (including enterprise
administrator), and/or government/ public institution or organization that
consumes delivered cloud services
´ Cloud Service Provider (CSP)
´ An organization that provides or delivers and maintains or manages cloud
services, that is, provider of SaaS, PaaS, IaaS, or any allied computing
infrastructure
´ Cloud service partners (CSN)
´ A person or organization that provides support to the building of a service
offered by a CSP
Actors with some of their possible roles
in a cloud ecosystem
The Cloud computing Reference
Model
´ The major difference between PaaS and IaaS is the amount of control that users
have
´ In essence, PaaS allows vendors to manage everything, while IaaS requires more
management from the customer side
´ Generally speaking, organizations that already have a software package or
application for a specific purpose and want to install and run it in the cloud
should opt to use IaaS instead of PaaS
Requirements for Cloud Services
´ Multitenancy
´ Service life cycle management
´ Cloud services are paid as per usage and can be started and ended at any time
´ It is required that a cloud service support automatic service provisioning
´ Metering and charging or billing settlement needs to be pro- vided for services that are
dynamically created, modified, and then released in virtual environments.
´ Security
´ The users (tenants) also support the needed secured services, meaning that a cloud
provides strict control for tenants’ service access to different resources to avoid the
abuse of cloud resources and to facilitate the management of CSUs by CSPs
´ Responsiveness
´ The cloud ecosystem is expected to enable early detection, diagnosis, and fixing of
service-related problems in order to help the customers use the services faithfully
´ Intelligent service deployment
´ It is expected that the cloud enables efficient use of resources in service
deployment, that is, maximizing the number of deployed services while minimizing
the usage of resources and still respecting the SLAs
´ For example, the specific application characteristics (e.g., central processing unit
[CPU]-intensive, input/ output [IO]-intensive) that can be provided by developers or
via application monitoring may help CSPs in making efficient use of resources
Requirements for Cloud Services
Requirements for Cloud Services
´ Portability
´ It is expected that a cloud service supports the portability of its features over
various underlying resources and that CSPs should be able to accommodate
cloud workload portability (e.g., VM portability) with limited service disruption
´ Interoperability
´ It is expected to have available well-documented and well-tested specifications
that allow heterogeneous systems in cloud environments to work together
´ Regulatory aspects
´ All applicable regulations shall be respected, including privacy protection
´ Environmental sustainability
´ A key characteristic of cloud computing is the capability to access, through a broad
network and thin clients, on-demand shared pools of configurable resources that can be
rapidly provisioned and released
´ Cloud computing can then be considered in its essence as an ICT energy consumption
consolidation model, supporting mainstream technologies aiming to optimize energy
consumption (e.g., in data centers) and application performance
´ Examples of such technologies include virtualization and multitenancy
Requirements for Cloud Services
´ Service reliability, service availability, quality assurance
´ CSUs demand for their services end-to-end quality of service (QoS) assurance,
high levels of reliability, and continued availability to their CSPs
´ Service access
´ A cloud infrastructure is expected to provide CSUs with access to cloud services
from any user device. It is expected that CSUs have a consistent experience
when accessing cloud services
Requirements for Cloud Services
Requirements for Cloud Services
´ Flexibility
´ It is expected that the cloud service be capable of supporting multiple
cloud deployment models and cloud service categories
´ Accounting and charging
´ It is expected that a cloud service be capable to support various
accounting and charging models and policies
´ Massive data processing
´ It is expected that a cloud supports mechanisms for massive data
processing
The expected requirements for services
in the IaaS category
´ Computing hardware requirements(including processing, memory, disk,
network interfaces, and virtual machines)
´ Computing software requirements (including OS and other preinstalled
software)
´ Storage requirements (including storage capacity)
´ Network requirements (including QoS specifications, such as bandwidth
and traffic volumes)
´ Availability requirements (including protection/backup plan for computing,
storage, and network resources)
The expected service requirements for
services in the PaaS category
´ Requirements similar to those of the IaaS category
´ Deployment options of user-created applications
The expected service requirements for
services in the SaaS category
´ Application-specific requirements (including licensing options)
´ Network requirements (including QoS specifications such as bandwidth and
traffic volumes)
Virtualization
´ Encompasses a collection of solutions allowing the abstraction of some of
the fundamental elements for computing, such as hardware, runtime
environments, storage, and networking
´ Makes cloud computing appealing for users and, at the same time,
sustainable for cloud services providers
´ Hardware virtualization
´ Virtual servers on demand, such as Amazon EC2, RightScale, VMware vCloud,
and others
´ Virtual machine instances
´ Storage virtualization
´ Network virtualization
Virtualization
Samples
Characteristics and benefits
´
No up-front commitments
‫ﺑﺪون‬
‫اوﻟﯿﻪ‬ ‫ﺗﻌﮫﺪات‬
´
On-demand access
‫ﺗﻘﺎﺿﺎ‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬ ‫دﺳﺘﺮﺳﯽ‬
´
Nice pricing
‫ﺧﻮب‬ ‫ﮔﺬاری‬ ‫ﻗﯿﻤﺖ‬
´
Simplified application acceleration and scalability
‫ﺷﺘﺎب‬
‫و‬
‫ﻣﻘﯿﺎس‬
‫ﭘﺬﯾﺮی‬
‫ﺑﺮﻧﺎﻣﻪ‬
‫ﺳﺎده‬
‫ﺷﺪه‬
´
Efficient resource allocation
‫ﻣﻨﺎﺑﻊ‬ ‫ﮐﺎرآﻣﺪ‬ ‫ﺗﺨﺼﯿﺺ‬
´
Energy efficiency
‫ﺑﮫﺮه‬
‫وری‬
‫اﻧﺮژی‬
´
Seamless creation and use of third-party services
‫اﯾﺠﺎد‬
‫ﺷﺨﺺ‬ ‫ﺧﺪﻣﺎت‬ ‫از‬ ‫ﯾﮑﭙﺎرﭼﻪ‬ ‫اﺳﺘﻔﺎده‬ ‫و‬
‫ﺛﺎﻟﺚ‬
Challenges ahead
´ The management of large computing infrastructures
´ The use of virtualization technologies
´ Security in terms of confidentiality, secrecy, and protection of data in a cloud
environment
´ Legal issues may also arise
´ Different legislation about privacy in different countries may potentially create
disputes as to the rights that third parties (including government agencies) have to
your data
Chapter 3
Cloud Computing Architecture and
Management
Cloud Computing Architecture and
Management
´ Cloud architecture
´ The hierarchical view of describing a technology
´ The components over which the existing technology is built
´ The components that are dependent on the technology
´ Cloud structure
´ The network connections in the cloud
´ The details about the cloud application need to be known
´ The fine details about managing a cloud application
Cloud architecture
29
Cloud Computing Architecture and Management
Layer 1: User/client layer
Layer 2: Network layer
Layer 3: Cloud management layer
Layer 4: Hardware resource layer
´ The lowest layer in the cloud architecture
´ The place where the client/user initiates the connection to the cloud
´ The client can be any device such as a thin client, thick client, or mobile or
any handheld device that would support basic functionalities to access a
web application
´ This layer consists of client devices.
Cloud architecture
Layer 1
User/client layer
´ This layer allows the users to connect to the cloud
´ The whole cloud infrastructure is dependent on this connection where the services are
offered to the customers
´ This is primarily the Internet in the case of a public cloud
´ In the case of a private cloud, the connectivity may be provided by a local area network
(LAN)
´ Usually, when accessing the public or private cloud, the users require minimum bandwidth,
which is sometimes depended by the cloud providers
´ This layer does not come under the purview of service-level agreements (SLAs), that is, SLAs
do not take into account the Internet connection between the user and cloud for quality of
service (QoS)
Cloud architecture
Layer 2
Network layer
´ This layer consists of softwares that are used in managing the cloud
´ The softwares can be
´ a cloud operating system (OS)
´ a software that acts as an interface between the data center (actual resources) and
the user
´ a management software that allows managing resources
´ These softwares usually allow
´ resource management (scheduling, provisioning, etc.)
´ optimization (server consolidation, storage workload consolidation)
´ Internal cloud governance
Cloud architecture
Layer 3
Cloud Management layer
´ This layer comes under the purview of SLAs
´ Any delay in processing or any discrepancy in service provisioning may lead to an
SLA violation
´ As per rules, any SLA violation would result in a penalty to be given by the service
provider
´ These SLAs are for both private and public clouds
´ Popular service providers are Amazon Web Services (AWS) and Microsoft Azure for public
cloud
´ Similarly, OpenStack and Eucalyptus allow private cloud creation, deployment, and
management
Cloud architecture
Layer 3
Cloud Management layer
´ Consists of provisions for actual hardware resources
´ Usually, a data center is used in the back end
´ A data center, which is a huge collection of hardware resources interconnected to each
other that is present in a specific location or a high configuration system
´ This layer comes under the purview of SLAs
´ As mentioned, if there is any discrepancy in provisioning the resources or
application, the service provider has to pay the penalty
´ Hence, the data center consists of a high-speed network connection and a highly efficient
algorithm to transfer the data from the data center to the manager
Cloud architecture
Layer 3
Hardware Resource layer
Cloud structure
Cloud Computing Architecture and Management
Application
Platform
Virtualized infrastructure
Virtualization
Server/storage/datacenters
´ Application
´ The upper layer is the application layer
´ Platform
´ This platform is between the infrastructure and the application.
´ Infrastructure
´ The infrastructure consists of resources over which the other components work
´ This provides computational capability to the user
´ Virtualization
´ Virtualization is the process of making logical components of resources over the
existing physical resources
´ The logical components are isolated and independent, which form the
infrastructure
´ Physical hardware
´ The physical hardware is provided by server and storage units
Cloud structure
Applications on the Cloud
Computer application evolution
Cloud Computing Architecture and Management
Web
applications
Stand-alone
applications
Cloud
applications
FIGURE 3.3
Computer application evolution.
Applications on the Cloud
´ a stand-alone application
´ Is developed to be run on a single system that does not use network for its
functioning
´ These stand-alone systems use only the machine in which they are installed
´ The functioning of these kinds of systems is totally dependent on the resources or
features available within the system
´ Web applications
´ The client server architecture that was followed by the web application
´ These systems were totally dependent on the network for its working
´ It can access the web application through the Internet
Applications on the Cloud
Shortcomings of Web Applications
´ The web application is not elastic and cannot handle very heavy
loads, that is, it cannot serve highly varying loads
´ The web application is not multitenant
´ The web application does not provide a quantitative measurement of
the services that are given to the users, though they can monitor the
user
´ The web applications are usually in one particular platform
´ The web applications are not provided on a pay-as-you-go basis;
thus, a particular service is given to the user for permanent or trial
use and usually the timings of user access cannot be monitored
´ Due to its nonelastic nature, peak load transactions cannot be
handled
Features of cloud According to NIST
36 Essentials of Cloud Computin
Cloud application features
Multitenancy Elasticity Heterogeneous
cloud platform
Quantitative
measurement
On-demand
service
Features of cloud According to NIST
Multitenancy
ner such that at each point in time, the available resources mat
current demand as closely as possible. Elasticity allows the
providers to efficiently handle the number of users, from
Application
User 1/tenant 1
User 2/tenant 2
User 3/tenant 3
User 4/tenant 4
´ Each user will have a separate application instance and the changes in one
application would not affect the other
´ Physically, the software is shared and is not independent
´ The degree of physical isolation is very less
´ The logical independence is what is guaranteed
´ There are no restrictions in the number of applications being shared
´ If an application is physically too close, then it becomes difficult to provide
multitenancy
´ Web application and cloud application are similar as the users use the same
way to access both
Features of cloud According to NIST
Multitenancy
´ A unique property that enables the cloud to serve
´ Elasticity can be defined as the degree to which a system is able to adapt to workload
changes by provisioning and deprovisioning resources in an autonomic manner such that
at each point in time, the available resources match the current demand as closely as
possible
´ Elasticity allows the cloud providers to efficiently handle the number of users, from one to
several hundreds of users at a time
´ It supports the rapid fluctuation of loads, that is, the increase or decrease in the number of
users and their usage can rapidly change
Features of cloud According to NIST
Elasticity
´ The cloud platform supports heterogeneity, wherein any type of
application can be deployed in the cloud
´ Because of this property, the cloud is flexible for the developers, which
facilitates deployment
´ The applications that are usually deployed can be accessed by the users
using a web browser
Features of cloud According to NIST
Heterogeneous cloud platform
´ The user is usually offered services based on certain charges
´ The application or resources are given as a utility on a pay-per-use basis
´ The use can be monitored and measured
´ This property of measuring the usage is usually not available in a web
application and is a unique feature for cloud-based applications.
Features of cloud According to NIST
Quantitative measurement
´ The cloud applications offer service to the user, on demand, that is,
whenever the user requires it
´ The cloud service would allow the users to access web applications usually
without any restrictions on time, duration, and type of device used
Features of cloud According to NIST
On-demand Service
Managing the Cloud
´ Cloud management is aimed at efficiently managing
the cloud so as to maintain the QoS
´ Cloud management can be divided into two parts
´ Managing the infrastructure of the cloud
´ Managing the cloud application
Managing the Cloud Infrastructure
´ The infrastructure of the cloud is considered to be the backbone of the
cloud
´ This component is mainly responsible for the QoS factor
´ If the infrastructure is not properly managed, then the whole cloud can fail
and QoS would be adversely affected
´ A cloud infrastructure is a very complex system that consists of a lot of
resources
´ These resources are usually shared by several users
´ Performance is the most important aspect of the cloud, because
everything in the cloud is dependent on the SLAs and the SLAs can be
satisfied only if performance is good
´ Efficient management with less cost is required
´ These are power consumption and optimization of multiple objectives to
further reduce the cost
´ Consolidation would reduce the energy consumption and in some cases
would increase the performance of the cloud
´ Server consolidation by definition is an approach to the efficient usage of
computer server resources in order to reduce the total number of servers or
server locations that an organization requires
Managing the Cloud Infrastructure
´ All the management methodologies are based on load fluctuation
´ Load fluctuation is the point where the workload of the system changes
continuously
´ This is one of the important criteria and issues that should be considered for
cloud applications
´ Load fluctuation can be divided into two types
´ Predictable
´ Unpredictable
Managing the Cloud Infrastructure
Managing the Cloud Application
´ The composite nature of cloud applications requires visibility into all the
services to determine the overall availability and uptime
´ Cloud application management is to propose solutions to have insight into
the application that runs in the cloud, as well as implement or enforce
enterprise policies like governance and auditing and environment
management while the application is deployed in the cloud
´ application management has to be supported with tools and processes
required for managing other environments that might coexist, enabling
efficient operations
Migrating Application to Cloud
´ Cloud migration encompasses moving one or more enterprise applications
and their IT environments from the traditional hosting type to the cloud
environment, either public, private, or hybrid
´ Cloud migration presents an opportunity to significantly reduce costs
incurred on applications
Phases of Cloud Migration
´Evaluation
´Migration strategy
´Prototyping
´Provisioning
´Testing
´Performance and load testing
´failure and recovery testing
´scale-out testing
´ Evaluation is carried out for all the components like
´ Current infrastructure and application architecture
´ Environment in terms of compute
´ Storage, monitoring, and management
´ SLAs
´ Operational processes
´ Financial considerations
´ Risk
´ security
´ Compliance
´ licensing needs are identified to build a business case for moving to the cloud
Phases of Cloud Migration
Evaluation
´ Based on the evaluation, a migration strategy is used where the applications and
their data and interface dependencies are isolated and these applications can
be operationalized all at once
´ A fusion strategy is used where the applications can be partially migrated; but for
a portion of it, there are dependencies based on existing licenses, specialized
server requirements like mainframes, or extensive interconnections with other
applications
Phases of Cloud Migration
Migration strategy
´ Migration activity is preceded by a prototyping activity to validate and
ensure that a small portion of the applications are tested on the cloud
environment with test data setup
Phases of Cloud Migration
Prototyping
´ Premigration optimizations identified are implemented
´ Cloud servers are provisioned for all the identified environments, necessary
platform softwares and applications are deployed, configurations are
tuned to match the new environment sizing, and data- bases and les are
replicated
´ All internal and external integration points are properly configured
´ Web services, batch jobs, and operation and management software are
set up in the new environments
Phases of Cloud Migration
Provisioning
´ Postmigration tests are conducted to ensure that migration has been
successful
´ Performance and load testing, failure and recovery testing, and scale-
out testing are conducted against the expected traffic load and
resource utilization levels
Phases of Cloud Migration
Testing
Approaches for Cloud Migration
´Migrate existing applications
´Start from scratch
´Separate company
´Buy an existing cloud vendor
´ Rebuild or rearchitect some or all the applications, taking advantage of
some of the virtualization technologies around to accelerate the work
´ But, it requires top engineers to develop new functionality
´ This can be achieved over the course of several releases with the timing
determined by customer demand
Approaches for Cloud Migration
Migrate existing applications
´ Many of the R&D decisions will be different now, and with some of the more
sophisticated development environments, one can achieve more even
with a small focused working team
Approaches for Cloud Migration
Start from scratch
´ One may want to create a whole new company with separate brand,
management, R&D, and sales
´ The investment and internet protocol (IP) may come from the existing
company, but many of the conflicts disappear once a new born in the
cloud company is established
´ The separate company may even be a subsidiary of the existing company
´ What is important is that the new company can act, operate, and behave
like a cloud-based start-up
Approaches for Cloud Migration
Separate company
´ The risk of course is that the innovation, drive, and operational approach of
the cloud-based company are destroyed as it is merged into the larger
acquirer
Approaches for Cloud Migration
Buy an existing cloud vendor
Chapter 4
Cloud Deployment Models
Private/Enterprise
Clouds
*A public cloud model
within a
company’s own
datacenter/infrastructure
for internal
and/or partners’ use
Public/Internet
Clouds
*Third-party,
multitenant cloud
infrastructure
and services
*Available on a
subscription basis to all
Hybrid/Inter
Clouds
* Mixed use of
private and public
clouds; leasing public
cloud services
when private cloud
capacity is insufficient
Cloud Deployment Models
FIGURE 1.4
11
1.1 Cloud computing at a glance
Private Cloud
´ The cloud environment created for a single organization
´ The private cloud is small in size as compared to other cloud models
´ The cloud is deployed and maintained by the organizations itself.
´ Private cloud can be deployed using Opensource tools such as Openstack,
Eucalyptus
Certain characteristics of the private
cloud
´Secure
´Central control
´Weak SLAs
´ The organizations or enterprises that require a separate cloud for their personal or
official use
´ The organizations or enterprises that have a sufficient amount of funds as
managing and maintaining a cloud is a costly affair
´ The organizations or enterprises that consider data security to be important
´
´ The organizations that want autonomy and complete control over the cloud
´ The organizations that have a less number of users
´ The organizations that have prebuilt infrastructure for deploying the cloud and
are ready for timely maintenance of the cloud for efficient functioning
Private Cloud
Suitability
´ The organizations that have high user base
´ The organizations that have financial constraints
´ The organizations that do not have prebuilt infrastructure
´ The organizations that do not have sufficient manpower to maintain and
manage the cloud
Private Cloud
Not Suitable
´ The private cloud can be classified into several types based on their location
and management
´ On-premise private cloud
´ The cloud is deployed in organizational premises and is connected to the organizational
network
´ Outsourced private cloud
´ The outsourced private cloud has a cloud outsourced to a third party
´ A third party manages the whole cloud. Everything is same as usual private cloud except
that here the cloud is outsourced
Private Cloud
On-Premise Private Cloud
2. Network: The cloud is totally dependent on the network that is laid out
The network usually consists of a high bandwidth and has a low latency
Private organization
User 1 User 2 User 3
Cloud
´ SLA
´ Is defined between an organization and its users, that is, mostly employees
´ Network
´ The network usually consists of a high bandwidth and has a low latency
´ This is because the connection is only inside the organization
´ Network management is easier in this case, and resolving a network issue is easier
´ Performance
´ Since here the networks are managed internally, the performance can be
controlled by the network management team, and mostly this would have good
performance as the number of resources is low
On-premise private cloud
Issues
´ Security and data privacy
´ As the data of the users are solely managed by the company and most of the
data would be related to the organization or company, here there is a lesser
chance that the data will be leaked to people outside as there are no users
outside the organization
´ The private cloud is more resistant to attacks than any other cloud type purely
because of the type of users and local area network
´ Security breaches are possible if an internal user misuses the privileges
On-premise private cloud
Issues
´ Location
´ In a private cloud, the data are internal and are usually stored in the same geographical
location where the cloud users, that is, organization, are present (on premise cloud)
´ Cloud management
´ The network is small, and the numbers of users and the amount of resources are less
´ Multitenancy
´ As multitenant architecture supports multiple tenants with the same physical or software
resource, there is a chance of unwanted access of data, and it will have less effect in
the private cloud as all the issues will be intraorganizational
On-premise private cloud
Issues
´ Maintenance
´ The cloud is maintained by the organization where the cloud is deployed
´ The number of resources is less in the private cloud, so maintenance is
comparatively easier
On-premise private cloud
Issues
Outsourced Private Cloud 51
Cloud Deployment Models
User 1 User 2
Private organization
User 3
Cloud
´ SLA
´ The SLA is between the third party and the outsourcing organization
´ Here, the whole cloud is managed by the third party that will be usually not available on
premise
´ The SLAs are usually followed strictly as it is a third-party organization
´ Network
´ The cloud is fully deployed at the third-party site
´ The cloud’s internal network is managed by a third party
´ The organizations connect to the third party by means of either a dedicated connection
or through the Internet
´ The internal network of the organization is managed by the organization, and it does not
come under the purview of the SLA
Outsourced Private Cloud
Issues
´ Performance
´ The performance of the cloud depends on the third party that is outsourcing the cloud
´ Security and data privacy
´ Security and privacy need to be considered when the cloud is outsourced
´ Here, the cloud is less secure than the on-site private cloud
´ The privacy and security of the data mainly depend on the hosting third party as they
have the control of the cloud
´ But, basically the security threat is from the third party and the internal employee
Outsourced Private Cloud
Issues
´ Location
´ The private cloud is usually located off site here
´ When there is a change of location, the data need to be transmitted through long
distances
´ In few cases, it might be out of the country, which will lead to certain issues regarding the
data and its transfer
´ Laws and conflicts
´ If this cloud is deployed outside the country, then the security laws pertaining to that will
apply upon the data and the data are still not fully safe
´ Usually, private clouds are not deployed outside, but if the off-site location is outside the
country’s boundary, then several problems may arise
´ Maintenance
´ The cloud is maintained by a third-party organization where the cloud is deployed
Outsourced Private Cloud
Issues
Private Cloud
´Advantages
´The cloud is small in size and is easy to maintain
´It provides a high level of security and privacy to the
user
´It is controlled by the organization
´Disadvantages
´For the private cloud, budget is a constraint
´The private clouds have loose SLAs
Public Cloud
go basis; hence, the user has to pay only for what he or she is using
(usually on a per-hour basis). And, this does not involve any cost
related to the deployment.
Public cloud
Cloud
FIGURE 4.4
´ Provisioned for open use by the general public
´ Public cloud consists of users from all over the world
´ There is no need of any prebuilt infrastructure for using the public cloud
´ These resources are available in the cloud provider’s premises
Public Cloud
Public Cloud
Characteristics
´ Highly scalable
´ The resources in the public cloud are large in number and the service
providers make sure that all the requests are granted
´ Hence, the public cloud is considered to be scalable
´ Affordable (reasonably priced)
´ this does not involve any cost related to the deployment
´ Less secure
´ The public cloud is less secure out of all the four deployment models
´ This is because the public cloud is offered by a third party and they have full control over the
cloud
´ Though the SLAs ensure privacy, still there is a high risk of data being leaked
´ Highly available
´ The public cloud is highly available because anybody from any part of the world can
access the public cloud with proper permission
´ this is not possible in other models as geographical or other access restrictions might be
there
´ Stringent SLAs
´ SLA is very stringent in the case of the public cloud
´ As the service provider’s business reputation and customer strength are totally
dependent on the cloud services
´ They follow the SLA strictly and violations are avoided
´ These SLAs are very competitive
Public Cloud
Characteristics
´ The requirement for resources is large, that is, there is large user base
´ The requirement for resources is varying
´ There is no physical infrastructure available
´ An organization has financial constraints
Public Cloud
Suitability
´ Security is very important
´ Organization expects autonomy
´ Third-party reliability is not preferred
Public Cloud
Not Suitable
´SLA
´Here the number of users is more and so are the numbers of
service agreements
´The service provider is answerable to all the users
´The users here are diverse
´The SLA will cover all the users from all parts of the world
´The service provider has to guarantee all the users a fair
share without any priority
´Having the same SLA for all users is what is usually expected,
but it depends on the service provider to have the same SLA
for all the users irrespective of the place they are
Public Cloud
Issues
´ Network
´ The services are accessed through the Internet by all the users, and hence, the
service delivery wholly depends on the network
´ Here the service provider is not responsible for the network
´ The service provider is responsible for providing proper service to the customer,
and once the services are given from the service provider, it goes on in transit to
the user
´ The user will be charged for even if he or she has problem due to the network
´ The network usually consists of a high bandwidth and has a low latency
´ This is because the connection is only inside the organization
´ Network management is easier in this case
Public Cloud
Issues
´ Performance
´ The performance of a cloud delivery model primarily depends on the
network and the resources
´ The service provider has to adequately manage the resources and the
network
´ As the number of users increases, it is a challenging task for the service
providers to give good performance
´ Multitenancy
´ The resources are shared, that is, multiple users share the resources, hence
the term multitenant
´ Due to this property, there is a high risk of data being leaked or a possible
unprivileged access
Public Cloud
Issues
´ Location
´ As the public cloud is fragmented and is located in different regions, the
access to these clouds involves a lot of data transfers through the Internet
´ For example, a user from India might be using the public cloud and he might
have to access his personal resources from other countries. This is not good as
the data are being stored in some other country
´ Security and data privacy
´ As data are stored in different places around the globe, data security is a very
big issue
´ A user storing the data outside his or her country has a risk of the data being
viewed by other people as that does not come under the jurisdiction of the
user’s country
Public Cloud
Issues
´ Laws and conflicts
´ The data are stored in different places of the world in different countries
´ Hence, data centers are bound to laws of the country in which they are located
´ This creates many conflicts and problems for the service providers and the users
´ Cloud management
´ Here, the number of users is more, and so the management is difficult
´ The jobs here are time critical, and as the number of users increases, it becomes more
difficult
´ Inefficient management of resources will lead to resource shortage, and user service might
be affected
´ It has a direct impact on SLA and may cause SLA violation
Public Cloud
Issues
´ Maintenance
´ This involves continuous check of the resources, network, and other such
parameters for long-lasting efficient delivery of the service
´ The resource provider has to continuously change the resource components from
time to time
´ The task of maintenance is very crucial in the public cloud
´ The good the cloud is maintained, the better is the quality of service
´ Here, the cloud data center is where the maintenance happens; continuously,
the disks are replaced from time to time
Public Cloud
Issues
Public Cloud
Advantages
´ There is no need of establishing infrastructure for setting up a
cloud
´ There is no need for maintaining the cloud
´ They are comparatively less costly than other cloud models
´ Strict SLAs are followed
´ There is no limit for the number of users
´ The public cloud is highly scalable
Public Cloud
Disadvantages
´Security is an issue
´Privacy and organizational autonomy are not possible
Community Cloud 57
Cloud Deployment Models
User 2
User 3
User 3
User 1 User 1
Private organization Private organization
User 2
Cloud
Community Cloud
Characteristics
´Collaborative and distributive maintenance
´Partially secure
´Cost effective
Types of Community Cloud
´ On-premise community cloud
´ Outsourced community cloud
Community Cloud
Advantages
´ It allows establishing a low-cost private cloud
´ It allows collaborative work on the cloud
´ It allows sharing of responsibilities among the
organization
´ It has better security than the public cloud
Community Cloud
Disadvantages
´ Autonomy of an organization is lost
´ Security features are not as good as the private cloud
´ It is not suitable if there is no collaboration
Hybrid Cloud
the hybrid cloud is Eucalyptus [7]. Eucalyptus was initially designed for the pr
vate cloud and is basically a private cloud, but now it also supports hybrid clou
Figure 4.6 shows the hybrid cloud. The hybrid cloud can be further extende
into a vast area of federated clouds that is discussed in subsequent chapters.
Private cloud
(internal)
Public cloud
(external)
Cloud
FIGURE 4.6
Hybrid Cloud
Characteristics
´ Scalable
´ Partially secure
´ Stringent SLAs
´ Complex cloud management
Hybrid Cloud
Advantages
´It gives the power of both the private and public clouds
´It is highly scalable
´It provides better security than the public cloud
Hybrid Cloud
Disadvantages
´The security features are not as good as the
public cloud
´Managing a hybrid cloud is complex
´It has stringent SLAs
Basic cloud service models
infrastructure architects are exempted from maintaining the data
center or underlying infrastructure. The end users are responsible
for managing applications that are running on top of the service
SaaS
(for end users)
PaaS
(for developers)
IaaS
(for IT architects)
User and service provider responsibilities of cloud
service models: (a) IaaS, (b) PaaS, and (c) SaaS
70 Essentials of Cloud Computing
Application
Managed
by
IT
architects
Managed
by
service
provider
Managed
by
developers
Managed
by
service
provider
Managed
by
service
provider
Data
Development/testing platform
Middleware
Operating system
Network
Storage
Compute
Virtualization
Servers
Application
Data
Development/testing platform
Middleware
Operating system
Network
Storage
Compute
Virtualization
Servers
Application
Data
Development/testing platform
Middleware
Operating system
Network
Storage
Compute
Virtualization
Servers
(a) (b) (c)
Overview of IaaS
or IT architects will use the infrastructure resources in the form of VMs as
shown in Figure 5.4.
The targeted audience of IaaS is the IT architect. The IT architect can
design virtual infrastructure, network, load balancers, etc., based on their
needs. The IT architects need not maintain the physical servers as it is
Consumes Load balancing layer
Virtual infrastructure
(virtual compute/network/
storage)
Physical infrastructure
(compute/network/storage)
VM VM VM VM VM
VM VM VM VM VM
VM VM VM VM VM
IaaS consumer
(infrastructure
architect)
Provides
Virtualization layer
IaaS provider
Services provided by IaaS providers
72 Essentials of Cloud Comp
Compute Network
Storage Load balancers
IaaS
Characteristics of IaaS
´ Web access to the resources
´ Centralized management
´ Elasticity and dynamic scaling
´ Shared infrastructure
´ Preconfigured VMs
´ Metered services
Overview of PaaS
ment from local machine to online. PaaS providers provide the development
PaaS from the data center. The developers can consume the services over the
Internet as shown in Figure 5.6.
Consumes Load-balancing layer
Virtual development/testing
platform
(runtime, frameworks, databases,
testing tools, etc.)
Virtualization layer
Development/testing platform
(runtime, frameworks, databases,
testing tools, etc.)
PaaS consumer
(application
developer)
PaaS provider
Provides
VM
VM
VM
VM
VM
VM
PaaS provider
Provides
Services provided by PaaS providers
dors are ClearDB, PostgreSQL, Cloudant, Membase, MongoDB,
and Redis.
4. Other tools: PaaS providers provide all the tools that are required to
develop, test, and deploy an application.
Programming
languages
Application
frameworks
PaaS
Databases Other tools
Characteristics of PaaS
´ All in one
´ Web access to the development platform
´ Offline access
´ Built-in scalability
´ Collaborative platform
´ Diverse client tools
Services provided by SaaS Providers
86 Essentials of Cloud Computi
Business
services
Social networks
Mail services
Document
management
SaaS
Characteristics of SaaS
´ One to many
´ Web access
´ Centralized management
´ Multi device support
´ Better scalability
´ High availability
Suitability of SaaS
´ On-demand software
´ Software for start-up companies
´ Software compatible with multiple devices
´ Software with varying loads
The SaaS delivery model is not the best
option for
´ Real-time applications
´ Applications with confidential data
´ Better on-premise application
SaaS services benefits
´No client-side installation
´Cost savings
´Less maintenance
´Ease of access
´Dynamic scaling
´Disaster recovery
´Multitenancy
The major problems with SaaS services
´Security
´Connectivity requirements
´Loss of control
Summary of Popular SaaS Providers
90 Essentials of Cloud Computing
TABLE 5.3
Summary of Popular SaaS Providers
Provider Services Provided
Salseforce.com On-demand CRM solutions
Google Apps Gmail, Google Calendar, Talk, Docs, and Sites
Microsoft Office 356 Online office suite, software, plus services
NetSuite ERP, accounting, order management, inventory, CRM, professional
services automation (PSA), and e-commerce applications
Concur Integrated travel and expense management solutions
GoToMeeting Online meeting, desktop sharing, and video-conferencing software
Constant Contact E-mail marketing, social-media marketing, online survey, event
marketing, digital storefronts, and local deals tools
Workday, Inc. Human capital management, payroll, and financial management
Oracle CRM CRM applications
Intacct Financial management and accounting software solutions
Other Cloud Service Models
NaaS
´Virtual networks
´Virtual network interface cards (NICs)
´Virtual routers
´Virtual switches
´Virtual private network (VPN)
´Bandwidth on demand (BoD)
´Mobile network virtualization
Other Cloud Service Models
Desktop as a Service (DEaaS)
´ an ability given to the end users to use desktop
virtualization without buying and managing their own
infrastructure
´ is a pay-per-use cloud service delivery model in which
the service provider manages the back-end
responsibilities of data storage, backup, security, and
upgrades
´ The end users are responsible for managing their own
desktop images, applications, and security
´ Accessing the virtual desktop provided by the DEaaS
provider is device, location, and network independent
Other Cloud Service Models
STaaS
´ An ability given to the end users to store the data on the
storage services provided by the service provider
´ Allows the end users to access the les at any time from any
place
´ The STaaS provider provides the virtual storage that is
abstracted from the physical storage of any cloud data
center
´ Is a cloud business model that is delivered as a utility
´ The customers can rent the storage from the STaaS provider
´ Is commonly used as a backup storage for efficient disaster
recovery
Other Cloud Service Models
DBaaS
´ An ability given to the end users to access the database
service without the need to install and maintain it
´ The service provider is responsible for installing and
maintaining the databases
´ The end users can directly access the services and can pay
according to their usage
´ DBaaS automates the database administration process
´ The end users can access the database services through any
API or web UIs provided by the service provider
´ The DBaaS eases the database administration process
´ Popular examples of DBaaS include SimpleDB, DynamoDB,
MongoDB as a Service, GAE datas- tore, and ScaleDB
Other Cloud Service Models
Data as a Service (DaaS)
´ is an ability given to the end users to access the data that are
provided by the service provider over the Internet
´ DaaS provides data on demand
´ The data may include text, images, sounds, and videos
´ DaaS is closely related to other cloud service models such as SaaS
and STaaS
´ DaaS can be easily integrated with SaaS or STaaS for providing the
composite service
´ DaaS is highly used in geography data services and financial data
services
´ The advantages of DaaS include agility, cost effectiveness, and
data quality
Other Cloud Service Models
SECaaS
´ Is an ability given to the end user to access the security
service provided by the service provider on a pay-per-use
basis
´ In SECaaS, the service provider integrates their security
services to benefit the end users
´ Generally, the SECaaS includes authentication, antivirus,
antimalware/spyware, intrusion detection, and security event
management
´ The security services provided by the SECaaS providers are
typically used for securing the on-premise or in-house
infrastructure and applications
´ Some of the SECaaS providers include Cisco, McAfee, Panda
Software, Symantec, Trend Micro, and VeriSign
Other Cloud Service Models
IDaaS
´ Is an ability given to the end users to access the
authentication infrastructure that is managed and provided
by the third-party service provider
´ The end user of IDaaS is typically an organization or enterprise
´ Using IDaaS services, any organization can easily manage
their employees’ identity without any additional overhead
´ Generally, IDaaS includes directory services, federated
services, registration, authentication services, risk and event
monitoring, single sign-on services, and identity and pro le
management.
Other Cloud Service Models
´ Backup as a Service (BaaS)
´ Communication as a Service (CaaS)
´ Hadoop as a Service (HaaS)
´ Disaster Recovery as a Service (DRaaS)
´ Testing as a Service (TaaS)
´ Firewall as a Service (FWaaS)
´ Virtual Private Network as a Service (VPNaaS)
´ Load Balancers as a Service (LBaaS)
´ Message Queue as a Service (MQaaS)
´ Monitoring as a Service (MaaS)
Technological Drivers for Cloud
Computing
Service-oriented architecture (SOA)
´A properly implemented SOA-based system
provides a loosely coupled set of services that
can be used by the service consumers for
meeting their service requirements within various
business domains
Services architectural model of SOA
vices can be used to create dynamic business processes and agile applicat
in heterogeneous computing platforms. SOC uses the services architect
model of SOA as shown in Figure 6.1. This model consists of entities suc
Service
registry
Service
provider
Service
requestor
Publish (WSDL) Find (UDDI)
Bind (SOAP/HTTP)
FIGURE 6.1
Services architectural model of SOA
´ Service providers publish the details of their services in the
service registry using an Extensible Markup Language (XML)
called Web Services Description Language (WSDL)
´ Service requestors find the suitable services from the service
registry using specifications such as Universal Description,
Discovery, and Integration (UDDI)
´ Service providers and service requestors communicate with
each other using protocols such as Simple Object Access
Protocol (SOAP)
´SOAP allows a program or service running on one platform
to communicate with another program or service running
on a different platform, using the Hypertext Transfer
Protocol (HTTP) and its XML as the mechanisms for
information exchange
Benefits of SOA
´Reuse of services
´Agility
´Monitoring
´Extended reach
Technologies Used by SOA
´Web services
´SOAP
´Remote procedure call (RPC)
´RMI-IIOP
´This denotes the Java remote method invocation
(RMI) interface over the Internet Inter-ORB Protocol
(IIOP)
´This proto- col is used to deliver Common Object
Request Broker Architecture (CORBA) distributed
computing capabilities to the Java platform
Technologies Used by SOA
´ REST: Representational State Transfer (REST)
´ is a stateless architecture that runs over HTTP. It is used for
effective interactions between clients and services
´ DCOM: Distributed Component Object Model (DCOM)
´ is a set of Microsoft concepts and program interfaces in
which client program can request the services from a
server program running on other computers in a network
´DCOM is based on the Component Object Model (COM).
´ WCF : Windows Communication Foundation (WCF)
´provides a set of APIs in the .NET Framework for building
connected, service-oriented applications
Similarities between SOA and Cloud
Computing
´ both rely on the service concept to achieve the objectives
´ both promote loose coupling among the components or
services, which ensures the minimum dependencies among
different parts of the system
´ This feature reduces the impact that any single change on
one part of the system makes on the performance of the
overall system
´ Loose coupling helps the implemented services to be separated
and unaware of the underlying technology, topology, life cycle,
and organization
´ The various formats and protocols used in distributed computing,
such as XML, WSDL, Interface Description Language (IDL), and
Common Data Representation (CDR)
Differences between SOA and Cloud
Computing
´The services in SOA
´Mainly focus on business
´May represent one aspect of the business
process
´The services could be combined together to
provide the required complete business
application or business solution, Hence, in this
sense, the services are horizontal
Differences between SOA and Cloud
Computing
´The services in SOA
´SOA is used for defining the application architecture
´The various components or services of the application
are divided based on their roles in the SOA applications
´That means the solution for a business problem
could be achieved by combining the various
abstract services performing the required functions
´The services in the SOA can be reused by other
applications
Differences between SOA and Cloud
Computing
´Various services in cloud computing
´are usually layered such as infrastructure, platform, or
software, and the lower layer services support the
upper services to deliver applications, Hence, the
services in this case are vertical
´Cloud computing is a mechanism for delivering IT
services
Differences between SOA and Cloud
Computing
´Various services in cloud computing
´The various services can be divided or grouped
based on their roles such as infrastructure, platform, or
software
´ In this case, for utilizing the cloud services, the consumer
does not require a problem before defining the cloud
services
´The services in this case could also be reused by other
applications
How SOA Meets Cloud Computing
´ SOA is an architecture, and cloud computing is an instance
of architecture or an architectural option, not an architecture
by itself
´ When used with cloud computing, SOA helps to deliver IT
resources as a service over the Internet, and to mix and
match the resources to meet the business requirements
´ Cloud and SOA are considered to actually complement
each other
´ SOA and cloud together provide the required complete
services-based solution
´ cloud and SOA are required to work together to provide
service visibility and service management
´ Service visibility and governance provide the users the
functionality of service discovery within a cloud, and the SOA
service management helps in managing the life cycle of
services available in cloud
´ through the integration of cloud and SOA, cloud can take
advantage of the SOA governance approach without the
necessity for creating new governance overhead
´ Having SOA and service orientation in place, the companies
or organizations can make adopting cloud services easier
and less complex, because a cloud computing environment
is also based on services
´ Both cloud and SOA are focused on delivering services to the
business with increased agility, speed, and cost effectiveness
How SOA Meets Cloud Computing
Cloud computing open architecture
(CCOA)
´ is an architecture for the cloud environment that incorporates the
SOA
´ The goals of the CCOA
´ To develop an architecture that is reusable and scalable
´ To develop a uniform platform for the cloud application
development
´ This will allow the cloud users to switch between the CSPs without the
need to make significant changes in the application
´ To enable the businesses to run efficiently
´ This goal helps the CSPs to make more money by delivering quality
services successfully
Convergence of SOA and cloud
105
Technological Drivers for Cloud Computing
Cloud services
Internet
SOA
Cloud users
FIGURE 6.2
Convergence of SOA and cloud.
Virtualization
´Is the underlying core technology of cloud
computing
´It helps in creating a multitenant model for the
cloud environment by optimizing the resource
usage through sharing
The benefits of virtualization
´ The lower costs and extended life of the technology,
which has made it a popular option with small- to
medium-sized businesses
´ Using virtualization, the physical infrastructure owned by
the service provider is shared among many users,
increasing the resource utilization
´ Virtualization provides efficient resource utilization and
increased return on investment (ROI)
´ Ultimately, it results in low capital expenditures (CapEx)
and operational expenditures (OpEx)
The benefits of virtualization
´ Better utilization rate of the resources of the service
providers
´ Increased ROI for both the service providers and the
consumers
´ Promotes the green IT by reducing energy wastage
´ Has the drawbacks of the chance of a single point of
failure of the software achieving the virtualization and
the performance overhead of the entire system due to
virtualization
Approaches in Virtualization
´ Full Virtualization
´ Para virtualization
´ Hardware-Assisted Virtualization
Full Virtualization
´ uses a special kind of software called a hypervisor
´ The hypervisor interacts directly with the physical server’s
hardware resources, such as the CPU and storage space,
and acts as a platform for the virtual server’s Oss
´ It helps to keep each virtual server completely independent
and unaware of the other virtual servers running on the
physical machine
´ Each guest server or the virtual machine (VM) is able to run its
own OS
´ That means one virtual server could be running on Linux and
the other one could be running on Windows
´ Examples include VMWare ESX and VirtualBox
The advantages of the full virtualization
´ isolation among the various VMs
´ isolation between the VMs and the hypervisor
´ concurrent execution of multiple Oss
´ no change required in the guest OS
A Disadvantages of the full
virtualization
´the overall system performance may be
affected due to binary translation
Para virtualization
´ VMs do not simulate the underlying hardware
´ uses a special API that a modified guest OS must use
´ Examples include Xen and VMWare ESX server
´ Partial simulation of the underlying hardware infrastructure is
achieved
´ Known as partial virtualization or OS-assisted virtualization
´ the guest OS is aware of the fact that it is running in a
virtualized environment
´ Hyper calls are used for the direct communication between
the guest OS and the hypervisor
´ A modified or para virtualized guest OS is required
Para virtualization
´ An advantage
´ It improves the overall system performance by eliminating the
overhead of binary translation
´ A disadvantage
´ a modification of the guest OS is required
Hardware-Assisted Virtualization
´ Hardware products supporting the virtualization are used
´ Hardware vendors like Intel and AMD have developed
processors supporting the virtualization through the hardware
extension
´ Intel has released its processor with its virtualization
technology VT-x
´ AMD have released its processor with its virtualization
technology AMD-v to support the virtualization
Hardware-Assisted Virtualization
´ An advantage
´ It eliminates the overhead of binary translation and para
virtualization
´ A disadvantage
´ the lack of support from all vendors
Hypervisor
´ Hypervisors are software tools used to create the VMs
´ Produce the virtualization of various hardware resources such
as CPU, storage, and networking devices
´ Are also called virtual machine monitor (VMM) or
virtualization managers
´ Help in the virtualization of cloud data centers (DCs)
´ Help to run multiple OSs concurrently on a physical system
sharing its hardware
´ Allows multiple OSs to share a single hardware host
´ The various hypervisors used are VMware, Xen, Hyper-V, KVM,
etc
Two mainly types of Hypervisors
´ Type 1 hypervisor
´Runs directly on the host computer’s hardware in order to
control the hardware resources and also to manage the
guest Oss
´Is also known as native or bare-metal hypervisors
´Examples include VMware ESXi, Citrix XenServer, and
Microsoft Hyper-V hypervisor
´ Type 2 hypervisor
´Runs within a formal OS environment
´The hypervisor runs as a distinct second layer while the
guest OS runs as a third layer above the hardware
´Known as the hosted hypervisors
´Examples include VMware Workstation and VirtualBox
Depending on the resources virtualized,
types of the process of virtualization
´ OS Virtualization
´ Server Virtualization
´ Memory Virtualization
´ Storage Virtualization
´ Network Virtualization
´ Application Virtualization
Cloud Storage Requirements
´ Scalability: The storage system should support the scalability of the user’s data
´ High availability: The degree of availability of the storage solutions deployed in
cloud should be very high
´ High bandwidth: The cloud storage system should support the required fast data
transfer rate
´ Constant performance: There should not be any performance issues associated
with the cloud storage system, and the performance should be consistent
throughout the contract period
´ Load balancing (LB): In order to achieve effective resource usage, the storage
systems deployed in cloud should be intelligent enough to support automatic LB
of the users’ data
Storage as a Service (STaaS)
112 Essentials of Cloud Computing
Storage service provider
Internet
On-premise applications
Cloud users
Local
storage
Remote
storage
Cloud Presentation.pdf
Cloud Presentation.pdf

Mais conteúdo relacionado

Semelhante a Cloud Presentation.pdf

layering.pdf
layering.pdflayering.pdf
layering.pdfBoostHub
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQMatt Leming
 
Network Programming-Python-13-8-2023.pptx
Network Programming-Python-13-8-2023.pptxNetwork Programming-Python-13-8-2023.pptx
Network Programming-Python-13-8-2023.pptxssuser23035c
 
IP forwarding architectures and Overlay Model
IP forwarding architectures and Overlay ModelIP forwarding architectures and Overlay Model
IP forwarding architectures and Overlay ModelPradnya Saval
 
Performance analysis of container-based networking Solutions for high-perform...
Performance analysis of container-based networking Solutions for high-perform...Performance analysis of container-based networking Solutions for high-perform...
Performance analysis of container-based networking Solutions for high-perform...IJECEIAES
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systemsSri Prasanna
 
CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5Irsandi Hasan
 
CCNA RS_ITN - Chapter 7
CCNA RS_ITN - Chapter 7CCNA RS_ITN - Chapter 7
CCNA RS_ITN - Chapter 7Irsandi Hasan
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Sri Prasanna
 
Java Network Programming.pptx
Java Network Programming.pptxJava Network Programming.pptx
Java Network Programming.pptxRoshniSundrani
 
Adhoc mobile wireless network enhancement based on cisco devices
Adhoc mobile wireless network enhancement based on cisco devicesAdhoc mobile wireless network enhancement based on cisco devices
Adhoc mobile wireless network enhancement based on cisco devicesIJCNCJournal
 
Edge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesisEdge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesisNitinder Mohan
 
Networking Java Socket Programming
Networking Java Socket ProgrammingNetworking Java Socket Programming
Networking Java Socket ProgrammingMousmi Pawar
 
Computer networking (nnm)
Computer networking (nnm)Computer networking (nnm)
Computer networking (nnm)nnmaurya
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerJorge Juan Mendoza
 

Semelhante a Cloud Presentation.pdf (20)

NP-lab-manual.docx
NP-lab-manual.docxNP-lab-manual.docx
NP-lab-manual.docx
 
layering.pdf
layering.pdflayering.pdf
layering.pdf
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQ
 
Ccna1 presentation
Ccna1 presentationCcna1 presentation
Ccna1 presentation
 
Network Programming-Python-13-8-2023.pptx
Network Programming-Python-13-8-2023.pptxNetwork Programming-Python-13-8-2023.pptx
Network Programming-Python-13-8-2023.pptx
 
IP forwarding architectures and Overlay Model
IP forwarding architectures and Overlay ModelIP forwarding architectures and Overlay Model
IP forwarding architectures and Overlay Model
 
Performance analysis of container-based networking Solutions for high-perform...
Performance analysis of container-based networking Solutions for high-perform...Performance analysis of container-based networking Solutions for high-perform...
Performance analysis of container-based networking Solutions for high-perform...
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systems
 
CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5
 
CCNA RS_ITN - Chapter 7
CCNA RS_ITN - Chapter 7CCNA RS_ITN - Chapter 7
CCNA RS_ITN - Chapter 7
 
Lecture9
Lecture9Lecture9
Lecture9
 
Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)Rpc Case Studies (Distributed computing)
Rpc Case Studies (Distributed computing)
 
Java Network Programming.pptx
Java Network Programming.pptxJava Network Programming.pptx
Java Network Programming.pptx
 
Socket Programming w/ C# - IK
Socket Programming w/ C# - IKSocket Programming w/ C# - IK
Socket Programming w/ C# - IK
 
Adhoc mobile wireless network enhancement based on cisco devices
Adhoc mobile wireless network enhancement based on cisco devicesAdhoc mobile wireless network enhancement based on cisco devices
Adhoc mobile wireless network enhancement based on cisco devices
 
Transport layer
Transport layer Transport layer
Transport layer
 
Edge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesisEdge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesis
 
Networking Java Socket Programming
Networking Java Socket ProgrammingNetworking Java Socket Programming
Networking Java Socket Programming
 
Computer networking (nnm)
Computer networking (nnm)Computer networking (nnm)
Computer networking (nnm)
 
Building a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in dockerBuilding a sdn solution for the deployment of web application stacks in docker
Building a sdn solution for the deployment of web application stacks in docker
 

Último

Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 

Último (20)

Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 

Cloud Presentation.pdf

  • 3. The evolution of distributed computing technologies, 1950s 2010s 1950 1960 1970 1980 1990 2000 2010 Mainframes Clusters 1999: Grid Computing Grids Clouds 1966: Flynn’s Taxonomy SISD, SIMD, MISD, MIMD 1969: ARPANET 1970: DARPA’s TCP/IP 1984: DEC’s VMScluster 1984: IEEE 802.3 Ethernet & LAN 1975: Xerox PARC Invented Ethernet 1990: Lee-Calliau WWW, HTTP, HTML 2004: Web 2.0 2005: Amazon AWS (EC2, S3) 1960: Cray’s First Supercomputer 2010: Microsoft Azure 1997: IEEE 802.11 (Wi-Fi) 1989: TCP/IP IETF RFC 1122 2007: Manjrasoft Aneka 2008: Google AppEngine 1951: UNIVAC I, First Mainframe 16 CHAPTER 1 Introduction
  • 4. Distributed systems ´ A distributed system is a collection of independent computers that appears to its users as a single coherent system ´ The primary purpose of distributed systems is to share resources and utilize them better
  • 5. Distributed systems Properties ´ Heterogeneity ´ Openness ´ scalability ´ Transparency ´ Concurrency ´ continuous availability ´ Independent failures
  • 6. Historical developments ´ Three major milestones have led to cloud computing ´ Mainframe computing ´ Cluster computing ´ Grid computing
  • 7. Mainframe computing ´ Powerful ´ Highly reliable computers specialized for large data movement ´ Massive input/output (I/O) operations ´ used by large organizations for bulk data processing tasks ´ Offered large computational power by using multiple processors, which were presented as a single entity to users ´ The ability to be highly reliable computers that were “always on” and capable of tolerating failures transparently ´ Batch processing was the main application of mainframes ´ Evolved versions of such systems are still in use for transaction processing (such as online banking, airline ticket booking, supermarket, and government services)
  • 8. Clusters ´ The technology advancement that created faster and more powerful mainframes and supercomputers eventually generated an increased availability of cheap commodity machines as a side effect ´ These machines could then be connected by a high-bandwidth network and controlled by specific software tools that manage them as a single system
  • 9. Cluster Computer Architecture Sequential Applications Parallel Applications Parallel Programming Environment Cluster Middleware (Single System Image and Availability Infrastructure) Cluster Interconnection Network/Switch PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software PC/Workstation Network Interface Hardware Communications Software Sequential Applications Sequential Applications Parallel Applications Parallel Applications
  • 10. Grid Computing u Grid computing proposed a new approach to access large computati onal power, huge storage facilities, and a variety of services u Users can “consume” resources in the same way as they use other utilit ies such as power, gas, and water u Several clusters in Grid u May include super computers, desktops, laptops, mobile devices
  • 11. Traditional paradigms for distributed computing 14 OGSA AND WSR Figure 2.1 Traditional paradigms for distributed computing TEAM FLY
  • 12. Traditional paradigms for distributed computing Socket Programming ´ a low-level API for writing distributed client/ server applications ´ a socket endpoint needs to be created ´ TCP or UDP in the TCP/IP protocol stack 14 OGSA AND WSRF Figure 2.1 Traditional paradigms for distributed computing (RMI) [9], Distributed Component Object Model (DCOM) [10] and Common Object Request Broker Architecture (CORBA) [11]. In the following sections, we give a brief overview of each technique. 2.2.1 Socket programming Sockets provide a low-level API for writing distributed client/ server applications. Before a client communicates with a server, a socket endpoint needs to be created. The transport protocol cho- sen for communications can be either TCP or UDP in the TCP/IP protocol stack. The client also needs to specify the hostname and port number that the server process is listening on. The stan- dard socket API is well-defined, however the implementation is language dependant. So, this means socket-based programs can be written in any language, but the socket APIs will vary with each language use. Typically, the socket client and server will be implemented in the same language and use the same socket package, but can run on different operating systems (i.e. in the Java case). As mentioned above, socket programming is a low-level com- munication technique, but has the advantage of a low latency and high-bandwidth mechanism for transferring large amount TEAM FLY
  • 13. ´ needs to specify the hostname and port number that the server process is listening on ´ socket-based programs can be written in any language, but the socket APIs will vary with each language use ´ the socket client and server will be implemented in the same language and use the same socket package, but can run on different operating systems Traditional paradigms for distributed computing Socket Programming 14 OGSA AND WSRF Figure 2.1 Traditional paradigms for distributed computing (RMI) [9], Distributed Component Object Model (DCOM) [10] and Common Object Request Broker Architecture (CORBA) [11]. In the following sections, we give a brief overview of each technique. 2.2.1 Socket programming Sockets provide a low-level API for writing distributed client/ server applications. Before a client communicates with a server, a socket endpoint needs to be created. The transport protocol cho- sen for communications can be either TCP or UDP in the TCP/IP protocol stack. The client also needs to specify the hostname and port number that the server process is listening on. The stan- dard socket API is well-defined, however the implementation is language dependant. So, this means socket-based programs can be written in any language, but the socket APIs will vary with each language use. Typically, the socket client and server will be implemented in the same language and use the same socket package, but can run on different operating systems (i.e. in the Java case). As mentioned above, socket programming is a low-level com- munication technique, but has the advantage of a low latency and high-bandwidth mechanism for transferring large amount of data compared with other paradigms. However, sockets are designed for the client/server paradigm, and today many appli- TEAM FLY
  • 14. ´ Advantage ´ A low latency and high-bandwidth mechanism for transferring ´ Disadvantage ´ sockets are designed for the client/server paradigm, and today many applications have multiple components interacting in complex ways Traditional paradigms for distributed computing Socket Programming 14 OGSA AND WSRF Figure 2.1 Traditional paradigms for distributed computing (RMI) [9], Distributed Component Object Model (DCOM) [10] and Common Object Request Broker Architecture (CORBA) [11]. In the following sections, we give a brief overview of each technique. 2.2.1 Socket programming Sockets provide a low-level API for writing distributed client/ server applications. Before a client communicates with a server, a socket endpoint needs to be created. The transport protocol cho- sen for communications can be either TCP or UDP in the TCP/IP protocol stack. The client also needs to specify the hostname and port number that the server process is listening on. The stan- dard socket API is well-defined, however the implementation is language dependant. So, this means socket-based programs can be written in any language, but the socket APIs will vary with each language use. Typically, the socket client and server will be implemented in the same language and use the same socket package, but can run on different operating systems (i.e. in the Java case). As mentioned above, socket programming is a low-level com- munication technique, but has the advantage of a low latency and high-bandwidth mechanism for transferring large amount TEAM FLY
  • 15. Traditional paradigms for distributed computing Remote Procedure Calls (RPC) Compared with socket programming, RPC is arguably easier to use for implementing distributed applications. However, RPC Figure 2.2 Data-flow control in an RPC application
  • 16. ´ Write an RPC interface in RPC IDL ´ Use an RPC compiler to compile the interface to generate a ´ client-side stub and a server-side skeleton ´ Implement the server ´ Implement the client ´ Compile all the code with a RPC library; ´ Start the server ´ Start the client with the IP address of the server Traditional paradigms for distributed computing Remote Procedure Calls (RPC) communicating with a server, a client needs to specify the name or the IP address of the server. Figure 2.2 shows the data control in an RPC-based client/server application. Compared with socket programming, RPC is arguably e to use for implementing distributed applications. However, Figure 2.2 Data-flow control in an RPC application
  • 17. Traditional paradigms for distributed computing Remote Procedure Calls (RPC) mentations are in C. An RPC client and server have to be im mented in the same language and use the same RPC package. W communicating with a server, a client needs to specify the h name or the IP address of the server. Figure 2.2 shows the data-fl control in an RPC-based client/server application. Compared with socket programming, RPC is arguably ea to use for implementing distributed applications. However, R Figure 2.2 Data-flow control in an RPC application • An RPC client and server have to be implemented in the same language • Use the same RPC package • Relies heavily on an Interface Definition Language (IDL) interface
  • 18. ´ Compared with socket programming, RPC is arguably easier ´ When communicating with a server, a client needs to specify the host- name or the IP address of the server Traditional paradigms for distributed computing Remote Procedure Calls (RPC) mented in the same language and use the same RPC packag communicating with a server, a client needs to specify t name or the IP address of the server. Figure 2.2 shows the d control in an RPC-based client/server application. Compared with socket programming, RPC is arguab to use for implementing distributed applications. Howev Figure 2.2 Data-flow control in an RPC application
  • 19. ´ Supports synchronous communication (call/wait) between the client and server ´ the client has to wait until it receives a response from the server ´ RPC is not object-oriented Traditional paradigms for distributed computing Remote Procedure Calls (RPC) mentations are in C. An RPC client and server have to be i mented in the same language and use the same RPC package. W communicating with a server, a client needs to specify the name or the IP address of the server. Figure 2.2 shows the data control in an RPC-based client/server application. Compared with socket programming, RPC is arguably to use for implementing distributed applications. However Figure 2.2 Data-flow control in an RPC application
  • 20. Traditional paradigms for distributed computing Java Remote Method Invocation (RMI) 2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING 17 Figure 2.3 Data-flow control in a Java RMI application
  • 21. Traditional paradigms for distributed computing Java Remote Method Invocation (RMI) ´ Write an RMI interface ´ Write an RMI object to implement the interface ´ Use RMI compiler (rmic) to compile the RMI object to generate a client-side stub and an server-side skeleton ´ Write an RMI server to register the RMI object ´ Write an RMI client ´ Use Java compiler (javac) to compile all the Java source codes ´ Start the RMI name server (rmiregistry) ´ Start the RMI server ´ Start the RMI client. 2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING Figure 2.3 Data-flow control in a Java RMI application
  • 22. ´ is an RPC implementation in Java ´ Java RMI is restricted to the Java language in that an RMI client and server have to be implemented in Java Traditional paradigms for distributed computing Java Remote Method Invocation (RMI) 2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING Figure 2.3 Data-flow control in a Java RMI application different operating systems in distributed locations. When municating with a server, an RMI client has to specify the s hostname (or IP address) and use the Java Remote Method Pr
  • 23. ´ Three interacting entities involved in an RMI application ´ A client that invokes a method on a remote object ´ A server that runs the remote object which is an ordinary object in the address space of the server process ´ The object registry (rmiregistry), which is a name server that relates objects with names Remote objects need to be registered with the registry Traditional paradigms for distributed computing Java Remote Method Invocation (RMI) 2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING Figure 2.3 Data-flow control in a Java RMI application different operating systems in distributed locations. When c municating with a server, an RMI client has to specify the ser hostname (or IP address) and use the Java Remote Method Pro
  • 24. ´ Java RMI uses an object-oriented approach ´ Unlike RPC which needs an IDL interface, a Java RMI interface is written in Java Traditional paradigms for distributed computing Java Remote Method Invocation (RMI) 2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING Figure 2.3 Data-flow control in a Java RMI application different operating systems in distributed locations. Whe municating with a server, an RMI client has to specify the hostname (or IP address) and use the Java Remote Method P
  • 25. ´ The main drawbacks ´ Its limitation to the Java language ´ Its proprietary invocation protocol- JRMP ´ It only supports synchronous communications Traditional paradigms for distributed computing Java Remote Method Invocation (RMI) 2.2 TRADITIONAL PARADIGMS FOR DISTRIBUTED COMPUTING Figure 2.3 Data-flow control in a Java RMI application different operating systems in distributed locations. When municating with a server, an RMI client has to specify the ser hostname (or IP address) and use the Java Remote Method Pro
  • 26. Traditional paradigms for distributed computing Distributed Component Object Model (DCOM) application with DCOM. DCOM is language independent; clients and DCOM components can be implemented in different languages. Although DCOM is available on non-Microsoft platforms, it has only achieved broad popularity on Windows. Another drawback of DCOM is that it Figure 2.4 Data-flow control in a DCOM application
  • 27. Traditional paradigms for distributed computing Distributed Component Object Model (DCOM) ´ Write an MIDL interface; ´ Use an interface compiler (midl) to compile the interface to generate a client-side stub and a server-side skeleton ´ Write the COM component to implement the interface ´ Write a DCOM client ´ Compile all the codes ´ Register the COM component with a DCOM server ´ Start the DCOM server ´ Start the DCOM client Object Remote Procedure Call (ORPC) to invoke remote COM ponents. The ORPC is layered on top of the OSF DCE RPC ification. Figure 2.4 shows the data-flow control in a client/s application with DCOM. DCOM is language independent; clients and DCOM compo can be implemented in different languages. Although DCO available on non-Microsoft platforms, it has only achieved popularity on Windows. Another drawback of DCOM is t Figure 2.4 Data-flow control in a DCOM application
  • 28. ´ The Component Object Model (COM) is a binary standard for building Microsoft-based component applications ´ DCOM is an extension to COM for distributed client/server applications Traditional paradigms for distributed computing Distributed Component Object Model (DCOM) Object Remote Procedure Call (ORPC) to invoke remote COM ponents. The ORPC is layered on top of the OSF DCE RPC ification. Figure 2.4 shows the data-flow control in a client/s application with DCOM. DCOM is language independent; clients and DCOM compo can be implemented in different languages. Although DCO available on non-Microsoft platforms, it has only achieved popularity on Windows. Another drawback of DCOM is t Figure 2.4 Data-flow control in a DCOM application
  • 29. ´ A client-side stub (called proxy in DCOM) ´ a server-side skeleton (called stub in DCOM) using Microsoft’s Interface Definition Language (MIDL) interface ´ uses a protocol called the Object Remote Procedure Call (ORPC) Traditional paradigms for distributed computing Distributed Component Object Model (DCOM) ponents. The ORPC is layered on top of the OSF DCE RP ification. Figure 2.4 shows the data-flow control in a clien application with DCOM. DCOM is language independent; clients and DCOM com can be implemented in different languages. Although DC available on non-Microsoft platforms, it has only achieved popularity on Windows. Another drawback of DCOM is Figure 2.4 Data-flow control in a DCOM application
  • 30. ´ Drawbacks ´ It has only achieved broad popularity on Windows ´ Only supports synchronous communications Traditional paradigms for distributed computing Distributed Component Object Model (DCOM) ponents. The ORPC is layered on top of the OSF DCE RP ification. Figure 2.4 shows the data-flow control in a clien application with DCOM. DCOM is language independent; clients and DCOM com can be implemented in different languages. Although DC available on non-Microsoft platforms, it has only achieved popularity on Windows. Another drawback of DCOM is Figure 2.4 Data-flow control in a DCOM application
  • 31. Traditional paradigms for distributed computing Common Object Request Broker Architecture (CORBA) 20 OGSA AND WSRF Figure 2.5 Data-flow control in a CORBA application
  • 32. ´ Write a CORBA object to implement the interface ´ Write a CORBA server to register the CORBA object ´ Write a CORBA client ´ Compile all the source codes ´ Start a CORBA name server ´ Start the CORBA server ´ Start the CORBA client Traditional paradigms for distributed computing Common Object Request Broker Architecture (CORBA) 20 OGSA AND Figure 2.5 Data-flow control in a CORBA application • Write a CORBA object to implement the interface; • Write a CORBA server to register the CORBA object; • Write a CORBA client;
  • 33. ´ An object-oriented middleware infrastructure from Object Management Group (OMG) ´ Generating a client-side stub and a server- side skeleton through an IDL interface ´ uses Internet-Inter ORB Protocol (IIOP) ´ The Object Request Broker (ORB) is the core of CORBA Traditional paradigms for distributed computing Common Object Request Broker Architecture (CORBA) 20 OGSA AND Figure 2.5 Data-flow control in a CORBA application • Write a CORBA object to implement the interface; • Write a CORBA server to register the CORBA object; • Write a CORBA client;
  • 34. ´ CORBA is independent of location, a particular platform or programming language ´ supports both synchronous and asynchronous communications ´ has an advanced directory service called COSNaming, which provides the mechanisms to allow the transparent location of objects Traditional paradigms for distributed computing Common Object Request Broker Architecture (CORBA) 20 OGSA AND Figure 2.5 Data-flow control in a CORBA application • Write a CORBA object to implement the interface; • Write a CORBA server to register the CORBA object; • Write a CORBA client;
  • 35. A summary on Java RMI, DCOM and CORBA Common features ´ An interface is needed for invoking a remote object or a component ´ The complexity of low-level communications is hidden from the users by automatically generating a client-side stub and a server- side skeleton via the interface definition ´ They use proprietary communication protocols – e.g. Java RMI uses JRMP, DCOM uses ORPC and CORBA uses IIOP – to invoke remote objects or components
  • 36. ´ The interface definition is in binary format ´ It is difficult for client applications to make a query on an interface ´ such as to find out what kinds of methods are defined, inputs/outputs of each method to make a better use of the methods ´ Clients and objects are tightly coupled with their interfaces ´ For example, changing a part of the client means the other parts, such as the server, also need modification A summary on Java RMI, DCOM and CORBA Common features
  • 37. ´ middleware such as Java RMI, DCOM and CORBA are not based on open standards ´ Makes it difficult for them to be ubiquitously taken up in heterogeneous environments ´ is needed is an open standards-based middleware infrastructure for building and integrating applications in heterogeneous environments A summary on Java RMI, DCOM and CORBA Common features
  • 38. WEB SERVICES ´ Web services are based on a Service- Oriented Architecture (SOA) ´ Focus on simple open standards such as XML and HTTP 22 OGSA AND WSRF Figure 2.6 Paradigms including Web services for building distributed applications • Encapsulated: The implementation of a Web service is completely invisible to the client of a service. • Platform and programming language neutral: A Web service can be implemented in any language and deployed on any platform. • Composable: A Web service can be composed from a number of deployed services. • Server-side component: A Web service can range in scope from a complete application to a subroutine that runs on a server. • Described: An XML-based interface is used to describe the func-
  • 39. ´ Loosely coupled ´ A Web service implementation is free to change without unduly impacting the service client as long as the service interface remains the same ´ Encapsulated ´ The implementation of a Web service is completely invisible to the client of a service ´ Platform and programming language neutral ´ A Web service can be implemented in any language and deployed on any platform WEB SERVICES
  • 40. ´ Composable ´ A Web service can be composed from a number of deployed services ´ Server-side component ´ A Web service can range in scope from a complete application to a subroutine that runs on a server ´ Described ´ An XML-based interface is used to describe the functionality and capabilities that a Web service can provide WEB SERVICES
  • 41. ´ Published ´ A Web service can be registered with a service registry that can be accessed on an intranet or on the Internet ´ Discovered ´ A Web service client can discover a service by searching a service registry and match their service requirements ´ Invoked ´ A Web service can be bound to by a service client via standard transport protocols such as HTTP or FTP ´ Internal network or the Internet ´ A Web service can be made available strictly within an organization or it can be offered across the firewall ´ Available to any consumer connected to the Internet WEB SERVICES
  • 42. The core standards of Web services ´ SOAP (Simple Object Access Protocol) ´ Web Services Description Language (WSDL) ´ The Universal Description, Discovery and Integration (UDDI) ´ Web Services Flow Language (WSFL)
  • 43. In addition, it contains information such as routing and delivery settings, authentication an zation assertions, and transaction contexts. The body contains the actual message to be pr The main uses of SOAP messages are method invocation and result retrieval. Figure 2 an example of a SOAP message used to invoke a Web service method that retrieves the Web Service Flow Service Discovery Service Description XML-based Messaging Network Security Service Publication Quality of Service Management WSDL SOAP HTTP,FTP,e-mail, MQ, IIOP, …. Direct → UDDI Static → UDDI WSFL The core standards of Web services
  • 44. ´ UDDI ´ ‫ﺑﻪ‬ ‫و‬ ‫ﺛﺒﺖ‬ ِ‫ﻣﻨﻈﻮر‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﺳﺮوﻳﺲ‬ ‫ھﺎ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻲ‬ ‫ﺷﻮد‬ ´ WSDL ´ ‫ﺑﺮاي‬ ‫ﺗﻮﺻﯿﻒ‬ ‫ﺳﺮوﻳﺲ‬ ‫ﻣﻲ‬ ‫ﻛﺎر‬ ‫ﺑﻪ‬ ‫ھﺎ‬ ‫رود‬ ´ SOAP ´ ‫ﺑﻪ‬ ‫ﻋﻨﻮان‬ ‫ﻳﻚ‬ ‫ﻻﻳﻪ‬ ‫ارﺳﺎل‬ ‫ﺟﮫﺖ‬ ‫اﻧﺘﻘﺎل‬ ‫و‬ ‫ﻧﻘﻞ‬ ‫ﭘﯿﺎم‬ ‫و‬ ‫ﻣﺸﺘﺮي‬ ‫ﺑﯿﻦ‬ ‫ﻋﺮﺿﻪ‬ ‫ﻛﻨﻨﺪه‬ ‫ﺳﺮوﻳﺲ‬ ‫اﺳﺘﻔﺎده‬ ‫ﻣﻲ‬ ‫ﺷﻮد‬ ´ WSFL ´ ‫از‬ ‫ﯾﮑﯽ‬ ‫ھﺎﯾﯽ‬‫ﺗﮑﻨﯿﮏ‬ ‫ﺗﻮﺿﯿﺢ‬ ‫ﮐﻪ‬ ‫اﺳﺖ‬ ‫دھﺪ‬‫ﻣﯽ‬ ‫ﭼﮕﻮﻧﻪ‬ ‫ای‬‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﺧﺪﻣﺎت‬ ‫از‬ ‫وب‬ ‫را‬ ‫ﺗﻮان‬‫ﻣﯽ‬ ‫ﻓﺮآﯾﻨﺪ‬ ‫ﯾﮏ‬ ‫در‬ ‫ﮐﺮد‬ ‫ھﻤﺎھﻨﮓ‬ ‫ﯾﺎ‬ ‫ﮐﺮد‬ ‫ﻣﺮﺗﺐ‬ ‫ﺑﺎﻻﺗﺮ‬ ‫ﺳﻄﺢ‬ ‫ﺗﺠﺎری‬ The core standards of Web services
  • 45. How Web services benefit the Grid Web services core technologies face definitions and endpoint implementation descriptions; for dynamically generating proxies based on (potentially multiple) bindings of specific interfaces. WSDL supports this require- ment by providing a standard mechanism for defining interface Figure 2.13 Web services core technologies
  • 46. ´ An RPC-oriented operation ´ Is one in which the SOAP messages contain parameters and return values ´ The communication in RPC-based message exchanging is synchronous ´ A document-oriented operation ´ Is one in which the SOAP messages contain XML documents ´ The communication in Document-oriented message exchanging is often asynchronous Web services Web Services Description Language (WSDL)
  • 47. Web services SOAP (Simple Object Access Protocol) ´ A simple and lightweight communication protocol for clients and servers ´ To exchange messages in an XML format over a transport-level protocol, which is normally HTTP ´ a SOAP message is encapsulated
  • 48. Web services The structure of a SOAP message authentication, transactions and payments. • The Body is the main payload of the message. When an RPC call is used in the SOAP message, the Body has a single element that contains the method name, arguments and a Uniform Resource Identifier (URI) of the service target address. In addition, the fault entry can be used to explain a failure. Figure 2.7 The structure of a SOAP message
  • 49. ´ It is independent of the underlying transport protocol ´ SOAP messages can be carried over many transport- level protocols such as HTTP, FTP, SMTP or more sophisticated protocols such as Java RMI JRMP or CORBA IIOP ´ Since XML is a universal standard, clients and servers built on different platforms can communicate with SOAP Web services SOAP (Simple Object Access Protocol)
  • 50. Web services Web Services Description Language (WSDL) ´ An XML-based specification that is used to completely describe a Web service ´ With richer semantics to describe a service ´ Defines services as a set of network endpoints or ports using an RPC-based mechanism or a document- oriented message
  • 51. Web services The structure of a WSDL document 2.3 WEB SERVICES 25 Figure 2.8 The structure of a WSDL document
  • 52. Web services The Universal Description, Discovery and Integration (UDDI) ´ An industry standard for service registration (publication) and discovery ´ A service provider uses UDDI to advertise the services that it is making available ´ A client uses UDDI to find the appropriate service(s) for its purposes ´ A UDDI registry is similar to a CORBA trader service
  • 53. ´ A UDDI registry has two kinds of players ´ Businesses that want to publish a service ´ Clients who want to obtain services of a certain kind, and then use them via some binding process Web services The Universal Description, Discovery and Integration (UDDI)
  • 54. ´ UDDI is layered over SOAP, which means that a client uses SOAP to access a UDDI registry ´ A UDDI registry exposes a set of APIs in the form of SOAP- based Web services ´ The API contains Inquiry and Publishing APIs for services discovery and service publication. Web services The Universal Description, Discovery and Integration (UDDI)
  • 55. ´ One technique to describe how a collection of Web services can be arranged or orchestrated into a higher level business process ´ WSFL addresses items like the proper order in which to invoke a set of Web services ´ Essentially, WSFL describes how these individual Web services fit into a bigger picture, such as a business process or a multi-party, multi-operation long running transaction Web services Web Services Flow Language (WSFL)
  • 56. Web services implementations aspects A programming model ´Specifies how to write client codes to access Web services ´How to write service implementations ´How to handle other parts of the SOAP specification, such as headers and attachments
  • 57. ´The framework used to ´deploy a service ´provide a Web service deployment descriptor (a wsdd file) to map the implementation of the service to SOAP messages Web services implementations aspects A deployment model
  • 58. ´ receives SOAP messages and invokes Web service implementations ´ Three frameworks for implementing Web services applications ´ J2EE ´ .Net ´ Apache Axis Web services implementations aspects A SOAP Engine
  • 59. Data-flow control in invoking a Web service with J2EE JAX-RPC 2.3 WEB SERVICES 31 Figure 2.11 Data-flow control in invoking a Web service with J2EE JAX-RPC
  • 60. J2EE provides the following APIs for Web services ´The Java API for XML Processing (JAXP) ´processes XML documents using various parsers ´The Java Architecture for XML Binding (JAXB) ´processes XML documents using schema-derived JavaBeans component classes
  • 61. ´ The Java API for XML-based RPC (JAX-RPC) ´ a standard for RPC ´ It provides APIs for XML RPC invocation ´ Uses base-level protocol bindings with SOAP/HTTP, but is not limited to HTTP ´ The Java API for XML Messaging (JAXM) and SOAP with Attachments API for Java (SAAJ) ´ send SOAP messages over the Web in a standard way ´ The Java API for XML Registries (JAXR) ´ provides a standard way to interact with business UDDI registries J2EE provides the following APIs for Web services
  • 62. Data-flow control in invoking a Web service with Apache Axis Figure 2.11 Data-flow control in invoking a Web service with J2EE JAX-RPC
  • 63. Apache Axis ´ Is a SOAP engine that can be used to exchange SOAP messages between clients and services ´ It also provides support for WSDL operations ´ Java2WSDL can be used to generate a WSDL document from a Java interface ´ WSDL2Java can be used to generate a client-side stub and a server- side skeleton based on the WSDL document ´ Axis does not provide support for service discovery and publication ´ UDDI4Java from IBM can be used together with Axis for this purpose
  • 64. Microsoft .Net ´ A Microsoft Platform for building Web services applications ´ Supports the WSDL specification ´ Uses a WSDL document to describe itself ´ Provides a client-side component that lets a client invoke a Web service described by WSDL
  • 65. Microsoft .Net ´ It also provides a server-side component ´ Maps Web service operations to a COM-object method call as described by the WSDL interface and a Web Services Meta Language (WSML) file, which is needed for Microsoft’s implementation of SOAP ´ Web services can be published using DISCO files or via a UDDI registry ´ DISCO is a Microsoft publishing/discovery technology built into .NET.
  • 67. Cloud computing vision I need to grow my infrastructure, but I do not know for how long… I cannot invest in infrastructure, I just started my business…. I want to focus on application logic and not maintenance and scalability issues I want to access and edit my documents and photos from everywhere.. I have a surplus of infrastructure that I want to make use of I have a lot of infrastructure that I want to rent … I have infrastructure and middleware and I can host applications I have infrastructure and provide application services FIGURE 1.1
  • 68. NIST Definition of Cloud Computing ´ National Institute of Standards and Technology (NIST) ´ “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”
  • 69. Cloud computing ´Three criteria to discriminate whether a service is delivered in the cloud computing style ´The service is accessible via a Web browser (nonproprietary) or a Web services application programming interface (API) ´Zero capital expenditure is necessary to get started ´You pay only for what you use as you use it
  • 70. The essential characteristics of cloud computing 2. Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by hetero- geneous thin or thick client platforms (e.g., mobile phones, laptops, and personal digital assistants [PDAs]). On-demand self services Measured service Cloud computing Rapid elasticity Resource pooling Broad network access
  • 71. The Cloud computing Reference Model Runtime environment for applications Development and data processing platforms Examples : Windows Azure, Hadoop, Google AppEngine, Aneka Platform as a Service Virtualized servers Storage and networking Examples : Amazon EC2, S3, Rightscale, vCloud Infrastructure as a Service End-user applications Scientific applications Office automation, photo editing, CRM, and social networking Examples : Google Documents, Facebook, Flickr, Salesforce Software as a Service Web 2.0 Interfaces 12 CHAPTER 1 Introduction
  • 72. Service Models ´ Cloud SaaS ´ The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure ´ The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based e-mail), or a program interface ´ The consumer does not manage or control the underlying cloud infrastructure
  • 73. ´ Cloud PaaS ´ The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider ´ The consumer does not manage or control the underlying cloud infrastructure but has control over the deployed applications and possibly configuration settings for the application-hosting environment ´ It is a packaged and ready-to-run development or operating framework ´ The PaaS vendor provides the networks, servers, and storage and manages the levels of scalability and maintenance ´ Examples of PaaS providers include Google App Engine and Microsoft Azure Services Service Models
  • 74. ´ Cloud IaaS ´ 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 ´ The consumer does not manage or control the underlying cloud infrastructure but has control over the operating systems, storage, and deployed applications and possibly limited control of select networking components (e.g., host firewalls) ´ The service provider owns the equipment and is responsible for housing, cooling operation, and maintenance. Amazon Web Services (AWS) is a popular example of a large IaaS provider Service Models
  • 75. Cloud Deployment Models ´ 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, and it may exist on or off premises
  • 76. ´ 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. It exists on the premises of the cloud provider Cloud Deployment Models
  • 77. ´ Community cloud ´ The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations) ´ It may be managed by the organizations or a third party and may exist on premise or off premise Cloud Deployment Models
  • 78. ´Hybrid cloud ´ The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability Cloud Deployment Models
  • 79. Actors with some of their possible roles in a cloud ecosystem manages cloud services, that is, provider of SaaS, PaaS, IaaS, or any allied computing infrastructure. 3. Cloud service partners (CSNs): A person or organization (e.g., applica- tion developer; content, software, hardware, and/or equipment pro- vider; system integrator; and/or auditor) that provides support to the building of a service offered by a CSP (e.g., service integration). CSN 1 (application developer) CSN 2 (content provider) CSP 2 (Intercloud) CSN 3 CSU 1 (enterprise) CSU 2 (consumer) CSP 3 (SaaS/PaaS/IaaS/ CaaS/NaaS provider and Intercloud) CSP 1 (SaaS/PaaS/IaaS/CaaS/ NaaS provider and Intercloud) FIGURE 2.4
  • 80. ´ Cloud service user (CSU) ´ A consumer (an individual/person), enterprise (including enterprise administrator), and/or government/ public institution or organization that consumes delivered cloud services ´ Cloud Service Provider (CSP) ´ An organization that provides or delivers and maintains or manages cloud services, that is, provider of SaaS, PaaS, IaaS, or any allied computing infrastructure ´ Cloud service partners (CSN) ´ A person or organization that provides support to the building of a service offered by a CSP Actors with some of their possible roles in a cloud ecosystem
  • 81. The Cloud computing Reference Model ´ The major difference between PaaS and IaaS is the amount of control that users have ´ In essence, PaaS allows vendors to manage everything, while IaaS requires more management from the customer side ´ Generally speaking, organizations that already have a software package or application for a specific purpose and want to install and run it in the cloud should opt to use IaaS instead of PaaS
  • 82. Requirements for Cloud Services ´ Multitenancy ´ Service life cycle management ´ Cloud services are paid as per usage and can be started and ended at any time ´ It is required that a cloud service support automatic service provisioning ´ Metering and charging or billing settlement needs to be pro- vided for services that are dynamically created, modified, and then released in virtual environments. ´ Security ´ The users (tenants) also support the needed secured services, meaning that a cloud provides strict control for tenants’ service access to different resources to avoid the abuse of cloud resources and to facilitate the management of CSUs by CSPs
  • 83. ´ Responsiveness ´ The cloud ecosystem is expected to enable early detection, diagnosis, and fixing of service-related problems in order to help the customers use the services faithfully ´ Intelligent service deployment ´ It is expected that the cloud enables efficient use of resources in service deployment, that is, maximizing the number of deployed services while minimizing the usage of resources and still respecting the SLAs ´ For example, the specific application characteristics (e.g., central processing unit [CPU]-intensive, input/ output [IO]-intensive) that can be provided by developers or via application monitoring may help CSPs in making efficient use of resources Requirements for Cloud Services
  • 84. Requirements for Cloud Services ´ Portability ´ It is expected that a cloud service supports the portability of its features over various underlying resources and that CSPs should be able to accommodate cloud workload portability (e.g., VM portability) with limited service disruption ´ Interoperability ´ It is expected to have available well-documented and well-tested specifications that allow heterogeneous systems in cloud environments to work together
  • 85. ´ Regulatory aspects ´ All applicable regulations shall be respected, including privacy protection ´ Environmental sustainability ´ A key characteristic of cloud computing is the capability to access, through a broad network and thin clients, on-demand shared pools of configurable resources that can be rapidly provisioned and released ´ Cloud computing can then be considered in its essence as an ICT energy consumption consolidation model, supporting mainstream technologies aiming to optimize energy consumption (e.g., in data centers) and application performance ´ Examples of such technologies include virtualization and multitenancy Requirements for Cloud Services
  • 86. ´ Service reliability, service availability, quality assurance ´ CSUs demand for their services end-to-end quality of service (QoS) assurance, high levels of reliability, and continued availability to their CSPs ´ Service access ´ A cloud infrastructure is expected to provide CSUs with access to cloud services from any user device. It is expected that CSUs have a consistent experience when accessing cloud services Requirements for Cloud Services
  • 87. Requirements for Cloud Services ´ Flexibility ´ It is expected that the cloud service be capable of supporting multiple cloud deployment models and cloud service categories ´ Accounting and charging ´ It is expected that a cloud service be capable to support various accounting and charging models and policies ´ Massive data processing ´ It is expected that a cloud supports mechanisms for massive data processing
  • 88. The expected requirements for services in the IaaS category ´ Computing hardware requirements(including processing, memory, disk, network interfaces, and virtual machines) ´ Computing software requirements (including OS and other preinstalled software) ´ Storage requirements (including storage capacity) ´ Network requirements (including QoS specifications, such as bandwidth and traffic volumes) ´ Availability requirements (including protection/backup plan for computing, storage, and network resources)
  • 89. The expected service requirements for services in the PaaS category ´ Requirements similar to those of the IaaS category ´ Deployment options of user-created applications
  • 90. The expected service requirements for services in the SaaS category ´ Application-specific requirements (including licensing options) ´ Network requirements (including QoS specifications such as bandwidth and traffic volumes)
  • 91. Virtualization ´ Encompasses a collection of solutions allowing the abstraction of some of the fundamental elements for computing, such as hardware, runtime environments, storage, and networking ´ Makes cloud computing appealing for users and, at the same time, sustainable for cloud services providers
  • 92. ´ Hardware virtualization ´ Virtual servers on demand, such as Amazon EC2, RightScale, VMware vCloud, and others ´ Virtual machine instances ´ Storage virtualization ´ Network virtualization Virtualization Samples
  • 93. Characteristics and benefits ´ No up-front commitments ‫ﺑﺪون‬ ‫اوﻟﯿﻪ‬ ‫ﺗﻌﮫﺪات‬ ´ On-demand access ‫ﺗﻘﺎﺿﺎ‬ ‫اﺳﺎس‬ ‫ﺑﺮ‬ ‫دﺳﺘﺮﺳﯽ‬ ´ Nice pricing ‫ﺧﻮب‬ ‫ﮔﺬاری‬ ‫ﻗﯿﻤﺖ‬ ´ Simplified application acceleration and scalability ‫ﺷﺘﺎب‬ ‫و‬ ‫ﻣﻘﯿﺎس‬ ‫ﭘﺬﯾﺮی‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺳﺎده‬ ‫ﺷﺪه‬ ´ Efficient resource allocation ‫ﻣﻨﺎﺑﻊ‬ ‫ﮐﺎرآﻣﺪ‬ ‫ﺗﺨﺼﯿﺺ‬ ´ Energy efficiency ‫ﺑﮫﺮه‬ ‫وری‬ ‫اﻧﺮژی‬ ´ Seamless creation and use of third-party services ‫اﯾﺠﺎد‬ ‫ﺷﺨﺺ‬ ‫ﺧﺪﻣﺎت‬ ‫از‬ ‫ﯾﮑﭙﺎرﭼﻪ‬ ‫اﺳﺘﻔﺎده‬ ‫و‬ ‫ﺛﺎﻟﺚ‬
  • 94. Challenges ahead ´ The management of large computing infrastructures ´ The use of virtualization technologies ´ Security in terms of confidentiality, secrecy, and protection of data in a cloud environment ´ Legal issues may also arise ´ Different legislation about privacy in different countries may potentially create disputes as to the rights that third parties (including government agencies) have to your data
  • 95. Chapter 3 Cloud Computing Architecture and Management
  • 96. Cloud Computing Architecture and Management ´ Cloud architecture ´ The hierarchical view of describing a technology ´ The components over which the existing technology is built ´ The components that are dependent on the technology ´ Cloud structure ´ The network connections in the cloud ´ The details about the cloud application need to be known ´ The fine details about managing a cloud application
  • 97. Cloud architecture 29 Cloud Computing Architecture and Management Layer 1: User/client layer Layer 2: Network layer Layer 3: Cloud management layer Layer 4: Hardware resource layer
  • 98. ´ The lowest layer in the cloud architecture ´ The place where the client/user initiates the connection to the cloud ´ The client can be any device such as a thin client, thick client, or mobile or any handheld device that would support basic functionalities to access a web application ´ This layer consists of client devices. Cloud architecture Layer 1 User/client layer
  • 99. ´ This layer allows the users to connect to the cloud ´ The whole cloud infrastructure is dependent on this connection where the services are offered to the customers ´ This is primarily the Internet in the case of a public cloud ´ In the case of a private cloud, the connectivity may be provided by a local area network (LAN) ´ Usually, when accessing the public or private cloud, the users require minimum bandwidth, which is sometimes depended by the cloud providers ´ This layer does not come under the purview of service-level agreements (SLAs), that is, SLAs do not take into account the Internet connection between the user and cloud for quality of service (QoS) Cloud architecture Layer 2 Network layer
  • 100. ´ This layer consists of softwares that are used in managing the cloud ´ The softwares can be ´ a cloud operating system (OS) ´ a software that acts as an interface between the data center (actual resources) and the user ´ a management software that allows managing resources ´ These softwares usually allow ´ resource management (scheduling, provisioning, etc.) ´ optimization (server consolidation, storage workload consolidation) ´ Internal cloud governance Cloud architecture Layer 3 Cloud Management layer
  • 101. ´ This layer comes under the purview of SLAs ´ Any delay in processing or any discrepancy in service provisioning may lead to an SLA violation ´ As per rules, any SLA violation would result in a penalty to be given by the service provider ´ These SLAs are for both private and public clouds ´ Popular service providers are Amazon Web Services (AWS) and Microsoft Azure for public cloud ´ Similarly, OpenStack and Eucalyptus allow private cloud creation, deployment, and management Cloud architecture Layer 3 Cloud Management layer
  • 102. ´ Consists of provisions for actual hardware resources ´ Usually, a data center is used in the back end ´ A data center, which is a huge collection of hardware resources interconnected to each other that is present in a specific location or a high configuration system ´ This layer comes under the purview of SLAs ´ As mentioned, if there is any discrepancy in provisioning the resources or application, the service provider has to pay the penalty ´ Hence, the data center consists of a high-speed network connection and a highly efficient algorithm to transfer the data from the data center to the manager Cloud architecture Layer 3 Hardware Resource layer
  • 103. Cloud structure Cloud Computing Architecture and Management Application Platform Virtualized infrastructure Virtualization Server/storage/datacenters
  • 104. ´ Application ´ The upper layer is the application layer ´ Platform ´ This platform is between the infrastructure and the application. ´ Infrastructure ´ The infrastructure consists of resources over which the other components work ´ This provides computational capability to the user ´ Virtualization ´ Virtualization is the process of making logical components of resources over the existing physical resources ´ The logical components are isolated and independent, which form the infrastructure ´ Physical hardware ´ The physical hardware is provided by server and storage units Cloud structure
  • 105. Applications on the Cloud Computer application evolution Cloud Computing Architecture and Management Web applications Stand-alone applications Cloud applications FIGURE 3.3 Computer application evolution.
  • 106. Applications on the Cloud ´ a stand-alone application ´ Is developed to be run on a single system that does not use network for its functioning ´ These stand-alone systems use only the machine in which they are installed ´ The functioning of these kinds of systems is totally dependent on the resources or features available within the system
  • 107. ´ Web applications ´ The client server architecture that was followed by the web application ´ These systems were totally dependent on the network for its working ´ It can access the web application through the Internet Applications on the Cloud
  • 108. Shortcomings of Web Applications ´ The web application is not elastic and cannot handle very heavy loads, that is, it cannot serve highly varying loads ´ The web application is not multitenant ´ The web application does not provide a quantitative measurement of the services that are given to the users, though they can monitor the user ´ The web applications are usually in one particular platform ´ The web applications are not provided on a pay-as-you-go basis; thus, a particular service is given to the user for permanent or trial use and usually the timings of user access cannot be monitored ´ Due to its nonelastic nature, peak load transactions cannot be handled
  • 109. Features of cloud According to NIST 36 Essentials of Cloud Computin Cloud application features Multitenancy Elasticity Heterogeneous cloud platform Quantitative measurement On-demand service
  • 110. Features of cloud According to NIST Multitenancy ner such that at each point in time, the available resources mat current demand as closely as possible. Elasticity allows the providers to efficiently handle the number of users, from Application User 1/tenant 1 User 2/tenant 2 User 3/tenant 3 User 4/tenant 4
  • 111. ´ Each user will have a separate application instance and the changes in one application would not affect the other ´ Physically, the software is shared and is not independent ´ The degree of physical isolation is very less ´ The logical independence is what is guaranteed ´ There are no restrictions in the number of applications being shared ´ If an application is physically too close, then it becomes difficult to provide multitenancy ´ Web application and cloud application are similar as the users use the same way to access both Features of cloud According to NIST Multitenancy
  • 112. ´ A unique property that enables the cloud to serve ´ Elasticity can be defined as the degree to which a system is able to adapt to workload changes by provisioning and deprovisioning resources in an autonomic manner such that at each point in time, the available resources match the current demand as closely as possible ´ Elasticity allows the cloud providers to efficiently handle the number of users, from one to several hundreds of users at a time ´ It supports the rapid fluctuation of loads, that is, the increase or decrease in the number of users and their usage can rapidly change Features of cloud According to NIST Elasticity
  • 113. ´ The cloud platform supports heterogeneity, wherein any type of application can be deployed in the cloud ´ Because of this property, the cloud is flexible for the developers, which facilitates deployment ´ The applications that are usually deployed can be accessed by the users using a web browser Features of cloud According to NIST Heterogeneous cloud platform
  • 114. ´ The user is usually offered services based on certain charges ´ The application or resources are given as a utility on a pay-per-use basis ´ The use can be monitored and measured ´ This property of measuring the usage is usually not available in a web application and is a unique feature for cloud-based applications. Features of cloud According to NIST Quantitative measurement
  • 115. ´ The cloud applications offer service to the user, on demand, that is, whenever the user requires it ´ The cloud service would allow the users to access web applications usually without any restrictions on time, duration, and type of device used Features of cloud According to NIST On-demand Service
  • 116. Managing the Cloud ´ Cloud management is aimed at efficiently managing the cloud so as to maintain the QoS ´ Cloud management can be divided into two parts ´ Managing the infrastructure of the cloud ´ Managing the cloud application
  • 117. Managing the Cloud Infrastructure ´ The infrastructure of the cloud is considered to be the backbone of the cloud ´ This component is mainly responsible for the QoS factor ´ If the infrastructure is not properly managed, then the whole cloud can fail and QoS would be adversely affected ´ A cloud infrastructure is a very complex system that consists of a lot of resources ´ These resources are usually shared by several users
  • 118. ´ Performance is the most important aspect of the cloud, because everything in the cloud is dependent on the SLAs and the SLAs can be satisfied only if performance is good ´ Efficient management with less cost is required ´ These are power consumption and optimization of multiple objectives to further reduce the cost ´ Consolidation would reduce the energy consumption and in some cases would increase the performance of the cloud ´ Server consolidation by definition is an approach to the efficient usage of computer server resources in order to reduce the total number of servers or server locations that an organization requires Managing the Cloud Infrastructure
  • 119. ´ All the management methodologies are based on load fluctuation ´ Load fluctuation is the point where the workload of the system changes continuously ´ This is one of the important criteria and issues that should be considered for cloud applications ´ Load fluctuation can be divided into two types ´ Predictable ´ Unpredictable Managing the Cloud Infrastructure
  • 120. Managing the Cloud Application ´ The composite nature of cloud applications requires visibility into all the services to determine the overall availability and uptime ´ Cloud application management is to propose solutions to have insight into the application that runs in the cloud, as well as implement or enforce enterprise policies like governance and auditing and environment management while the application is deployed in the cloud ´ application management has to be supported with tools and processes required for managing other environments that might coexist, enabling efficient operations
  • 121. Migrating Application to Cloud ´ Cloud migration encompasses moving one or more enterprise applications and their IT environments from the traditional hosting type to the cloud environment, either public, private, or hybrid ´ Cloud migration presents an opportunity to significantly reduce costs incurred on applications
  • 122. Phases of Cloud Migration ´Evaluation ´Migration strategy ´Prototyping ´Provisioning ´Testing ´Performance and load testing ´failure and recovery testing ´scale-out testing
  • 123. ´ Evaluation is carried out for all the components like ´ Current infrastructure and application architecture ´ Environment in terms of compute ´ Storage, monitoring, and management ´ SLAs ´ Operational processes ´ Financial considerations ´ Risk ´ security ´ Compliance ´ licensing needs are identified to build a business case for moving to the cloud Phases of Cloud Migration Evaluation
  • 124. ´ Based on the evaluation, a migration strategy is used where the applications and their data and interface dependencies are isolated and these applications can be operationalized all at once ´ A fusion strategy is used where the applications can be partially migrated; but for a portion of it, there are dependencies based on existing licenses, specialized server requirements like mainframes, or extensive interconnections with other applications Phases of Cloud Migration Migration strategy
  • 125. ´ Migration activity is preceded by a prototyping activity to validate and ensure that a small portion of the applications are tested on the cloud environment with test data setup Phases of Cloud Migration Prototyping
  • 126. ´ Premigration optimizations identified are implemented ´ Cloud servers are provisioned for all the identified environments, necessary platform softwares and applications are deployed, configurations are tuned to match the new environment sizing, and data- bases and les are replicated ´ All internal and external integration points are properly configured ´ Web services, batch jobs, and operation and management software are set up in the new environments Phases of Cloud Migration Provisioning
  • 127. ´ Postmigration tests are conducted to ensure that migration has been successful ´ Performance and load testing, failure and recovery testing, and scale- out testing are conducted against the expected traffic load and resource utilization levels Phases of Cloud Migration Testing
  • 128. Approaches for Cloud Migration ´Migrate existing applications ´Start from scratch ´Separate company ´Buy an existing cloud vendor
  • 129. ´ Rebuild or rearchitect some or all the applications, taking advantage of some of the virtualization technologies around to accelerate the work ´ But, it requires top engineers to develop new functionality ´ This can be achieved over the course of several releases with the timing determined by customer demand Approaches for Cloud Migration Migrate existing applications
  • 130. ´ Many of the R&D decisions will be different now, and with some of the more sophisticated development environments, one can achieve more even with a small focused working team Approaches for Cloud Migration Start from scratch
  • 131. ´ One may want to create a whole new company with separate brand, management, R&D, and sales ´ The investment and internet protocol (IP) may come from the existing company, but many of the conflicts disappear once a new born in the cloud company is established ´ The separate company may even be a subsidiary of the existing company ´ What is important is that the new company can act, operate, and behave like a cloud-based start-up Approaches for Cloud Migration Separate company
  • 132. ´ The risk of course is that the innovation, drive, and operational approach of the cloud-based company are destroyed as it is merged into the larger acquirer Approaches for Cloud Migration Buy an existing cloud vendor
  • 134. Private/Enterprise Clouds *A public cloud model within a company’s own datacenter/infrastructure for internal and/or partners’ use Public/Internet Clouds *Third-party, multitenant cloud infrastructure and services *Available on a subscription basis to all Hybrid/Inter Clouds * Mixed use of private and public clouds; leasing public cloud services when private cloud capacity is insufficient Cloud Deployment Models FIGURE 1.4 11 1.1 Cloud computing at a glance
  • 135. Private Cloud ´ The cloud environment created for a single organization ´ The private cloud is small in size as compared to other cloud models ´ The cloud is deployed and maintained by the organizations itself. ´ Private cloud can be deployed using Opensource tools such as Openstack, Eucalyptus
  • 136. Certain characteristics of the private cloud ´Secure ´Central control ´Weak SLAs
  • 137. ´ The organizations or enterprises that require a separate cloud for their personal or official use ´ The organizations or enterprises that have a sufficient amount of funds as managing and maintaining a cloud is a costly affair ´ The organizations or enterprises that consider data security to be important ´ ´ The organizations that want autonomy and complete control over the cloud ´ The organizations that have a less number of users ´ The organizations that have prebuilt infrastructure for deploying the cloud and are ready for timely maintenance of the cloud for efficient functioning Private Cloud Suitability
  • 138. ´ The organizations that have high user base ´ The organizations that have financial constraints ´ The organizations that do not have prebuilt infrastructure ´ The organizations that do not have sufficient manpower to maintain and manage the cloud Private Cloud Not Suitable
  • 139. ´ The private cloud can be classified into several types based on their location and management ´ On-premise private cloud ´ The cloud is deployed in organizational premises and is connected to the organizational network ´ Outsourced private cloud ´ The outsourced private cloud has a cloud outsourced to a third party ´ A third party manages the whole cloud. Everything is same as usual private cloud except that here the cloud is outsourced Private Cloud
  • 140. On-Premise Private Cloud 2. Network: The cloud is totally dependent on the network that is laid out The network usually consists of a high bandwidth and has a low latency Private organization User 1 User 2 User 3 Cloud
  • 141. ´ SLA ´ Is defined between an organization and its users, that is, mostly employees ´ Network ´ The network usually consists of a high bandwidth and has a low latency ´ This is because the connection is only inside the organization ´ Network management is easier in this case, and resolving a network issue is easier ´ Performance ´ Since here the networks are managed internally, the performance can be controlled by the network management team, and mostly this would have good performance as the number of resources is low On-premise private cloud Issues
  • 142. ´ Security and data privacy ´ As the data of the users are solely managed by the company and most of the data would be related to the organization or company, here there is a lesser chance that the data will be leaked to people outside as there are no users outside the organization ´ The private cloud is more resistant to attacks than any other cloud type purely because of the type of users and local area network ´ Security breaches are possible if an internal user misuses the privileges On-premise private cloud Issues
  • 143. ´ Location ´ In a private cloud, the data are internal and are usually stored in the same geographical location where the cloud users, that is, organization, are present (on premise cloud) ´ Cloud management ´ The network is small, and the numbers of users and the amount of resources are less ´ Multitenancy ´ As multitenant architecture supports multiple tenants with the same physical or software resource, there is a chance of unwanted access of data, and it will have less effect in the private cloud as all the issues will be intraorganizational On-premise private cloud Issues
  • 144. ´ Maintenance ´ The cloud is maintained by the organization where the cloud is deployed ´ The number of resources is less in the private cloud, so maintenance is comparatively easier On-premise private cloud Issues
  • 145. Outsourced Private Cloud 51 Cloud Deployment Models User 1 User 2 Private organization User 3 Cloud
  • 146. ´ SLA ´ The SLA is between the third party and the outsourcing organization ´ Here, the whole cloud is managed by the third party that will be usually not available on premise ´ The SLAs are usually followed strictly as it is a third-party organization ´ Network ´ The cloud is fully deployed at the third-party site ´ The cloud’s internal network is managed by a third party ´ The organizations connect to the third party by means of either a dedicated connection or through the Internet ´ The internal network of the organization is managed by the organization, and it does not come under the purview of the SLA Outsourced Private Cloud Issues
  • 147. ´ Performance ´ The performance of the cloud depends on the third party that is outsourcing the cloud ´ Security and data privacy ´ Security and privacy need to be considered when the cloud is outsourced ´ Here, the cloud is less secure than the on-site private cloud ´ The privacy and security of the data mainly depend on the hosting third party as they have the control of the cloud ´ But, basically the security threat is from the third party and the internal employee Outsourced Private Cloud Issues
  • 148. ´ Location ´ The private cloud is usually located off site here ´ When there is a change of location, the data need to be transmitted through long distances ´ In few cases, it might be out of the country, which will lead to certain issues regarding the data and its transfer ´ Laws and conflicts ´ If this cloud is deployed outside the country, then the security laws pertaining to that will apply upon the data and the data are still not fully safe ´ Usually, private clouds are not deployed outside, but if the off-site location is outside the country’s boundary, then several problems may arise ´ Maintenance ´ The cloud is maintained by a third-party organization where the cloud is deployed Outsourced Private Cloud Issues
  • 149. Private Cloud ´Advantages ´The cloud is small in size and is easy to maintain ´It provides a high level of security and privacy to the user ´It is controlled by the organization ´Disadvantages ´For the private cloud, budget is a constraint ´The private clouds have loose SLAs
  • 150. Public Cloud go basis; hence, the user has to pay only for what he or she is using (usually on a per-hour basis). And, this does not involve any cost related to the deployment. Public cloud Cloud FIGURE 4.4
  • 151. ´ Provisioned for open use by the general public ´ Public cloud consists of users from all over the world ´ There is no need of any prebuilt infrastructure for using the public cloud ´ These resources are available in the cloud provider’s premises Public Cloud
  • 152. Public Cloud Characteristics ´ Highly scalable ´ The resources in the public cloud are large in number and the service providers make sure that all the requests are granted ´ Hence, the public cloud is considered to be scalable ´ Affordable (reasonably priced) ´ this does not involve any cost related to the deployment ´ Less secure ´ The public cloud is less secure out of all the four deployment models ´ This is because the public cloud is offered by a third party and they have full control over the cloud ´ Though the SLAs ensure privacy, still there is a high risk of data being leaked
  • 153. ´ Highly available ´ The public cloud is highly available because anybody from any part of the world can access the public cloud with proper permission ´ this is not possible in other models as geographical or other access restrictions might be there ´ Stringent SLAs ´ SLA is very stringent in the case of the public cloud ´ As the service provider’s business reputation and customer strength are totally dependent on the cloud services ´ They follow the SLA strictly and violations are avoided ´ These SLAs are very competitive Public Cloud Characteristics
  • 154. ´ The requirement for resources is large, that is, there is large user base ´ The requirement for resources is varying ´ There is no physical infrastructure available ´ An organization has financial constraints Public Cloud Suitability
  • 155. ´ Security is very important ´ Organization expects autonomy ´ Third-party reliability is not preferred Public Cloud Not Suitable
  • 156. ´SLA ´Here the number of users is more and so are the numbers of service agreements ´The service provider is answerable to all the users ´The users here are diverse ´The SLA will cover all the users from all parts of the world ´The service provider has to guarantee all the users a fair share without any priority ´Having the same SLA for all users is what is usually expected, but it depends on the service provider to have the same SLA for all the users irrespective of the place they are Public Cloud Issues
  • 157. ´ Network ´ The services are accessed through the Internet by all the users, and hence, the service delivery wholly depends on the network ´ Here the service provider is not responsible for the network ´ The service provider is responsible for providing proper service to the customer, and once the services are given from the service provider, it goes on in transit to the user ´ The user will be charged for even if he or she has problem due to the network ´ The network usually consists of a high bandwidth and has a low latency ´ This is because the connection is only inside the organization ´ Network management is easier in this case Public Cloud Issues
  • 158. ´ Performance ´ The performance of a cloud delivery model primarily depends on the network and the resources ´ The service provider has to adequately manage the resources and the network ´ As the number of users increases, it is a challenging task for the service providers to give good performance ´ Multitenancy ´ The resources are shared, that is, multiple users share the resources, hence the term multitenant ´ Due to this property, there is a high risk of data being leaked or a possible unprivileged access Public Cloud Issues
  • 159. ´ Location ´ As the public cloud is fragmented and is located in different regions, the access to these clouds involves a lot of data transfers through the Internet ´ For example, a user from India might be using the public cloud and he might have to access his personal resources from other countries. This is not good as the data are being stored in some other country ´ Security and data privacy ´ As data are stored in different places around the globe, data security is a very big issue ´ A user storing the data outside his or her country has a risk of the data being viewed by other people as that does not come under the jurisdiction of the user’s country Public Cloud Issues
  • 160. ´ Laws and conflicts ´ The data are stored in different places of the world in different countries ´ Hence, data centers are bound to laws of the country in which they are located ´ This creates many conflicts and problems for the service providers and the users ´ Cloud management ´ Here, the number of users is more, and so the management is difficult ´ The jobs here are time critical, and as the number of users increases, it becomes more difficult ´ Inefficient management of resources will lead to resource shortage, and user service might be affected ´ It has a direct impact on SLA and may cause SLA violation Public Cloud Issues
  • 161. ´ Maintenance ´ This involves continuous check of the resources, network, and other such parameters for long-lasting efficient delivery of the service ´ The resource provider has to continuously change the resource components from time to time ´ The task of maintenance is very crucial in the public cloud ´ The good the cloud is maintained, the better is the quality of service ´ Here, the cloud data center is where the maintenance happens; continuously, the disks are replaced from time to time Public Cloud Issues
  • 162. Public Cloud Advantages ´ There is no need of establishing infrastructure for setting up a cloud ´ There is no need for maintaining the cloud ´ They are comparatively less costly than other cloud models ´ Strict SLAs are followed ´ There is no limit for the number of users ´ The public cloud is highly scalable
  • 163. Public Cloud Disadvantages ´Security is an issue ´Privacy and organizational autonomy are not possible
  • 164. Community Cloud 57 Cloud Deployment Models User 2 User 3 User 3 User 1 User 1 Private organization Private organization User 2 Cloud
  • 165. Community Cloud Characteristics ´Collaborative and distributive maintenance ´Partially secure ´Cost effective
  • 166. Types of Community Cloud ´ On-premise community cloud ´ Outsourced community cloud
  • 167. Community Cloud Advantages ´ It allows establishing a low-cost private cloud ´ It allows collaborative work on the cloud ´ It allows sharing of responsibilities among the organization ´ It has better security than the public cloud
  • 168. Community Cloud Disadvantages ´ Autonomy of an organization is lost ´ Security features are not as good as the private cloud ´ It is not suitable if there is no collaboration
  • 169. Hybrid Cloud the hybrid cloud is Eucalyptus [7]. Eucalyptus was initially designed for the pr vate cloud and is basically a private cloud, but now it also supports hybrid clou Figure 4.6 shows the hybrid cloud. The hybrid cloud can be further extende into a vast area of federated clouds that is discussed in subsequent chapters. Private cloud (internal) Public cloud (external) Cloud FIGURE 4.6
  • 170. Hybrid Cloud Characteristics ´ Scalable ´ Partially secure ´ Stringent SLAs ´ Complex cloud management
  • 171. Hybrid Cloud Advantages ´It gives the power of both the private and public clouds ´It is highly scalable ´It provides better security than the public cloud
  • 172. Hybrid Cloud Disadvantages ´The security features are not as good as the public cloud ´Managing a hybrid cloud is complex ´It has stringent SLAs
  • 173. Basic cloud service models infrastructure architects are exempted from maintaining the data center or underlying infrastructure. The end users are responsible for managing applications that are running on top of the service SaaS (for end users) PaaS (for developers) IaaS (for IT architects)
  • 174. User and service provider responsibilities of cloud service models: (a) IaaS, (b) PaaS, and (c) SaaS 70 Essentials of Cloud Computing Application Managed by IT architects Managed by service provider Managed by developers Managed by service provider Managed by service provider Data Development/testing platform Middleware Operating system Network Storage Compute Virtualization Servers Application Data Development/testing platform Middleware Operating system Network Storage Compute Virtualization Servers Application Data Development/testing platform Middleware Operating system Network Storage Compute Virtualization Servers (a) (b) (c)
  • 175. Overview of IaaS or IT architects will use the infrastructure resources in the form of VMs as shown in Figure 5.4. The targeted audience of IaaS is the IT architect. The IT architect can design virtual infrastructure, network, load balancers, etc., based on their needs. The IT architects need not maintain the physical servers as it is Consumes Load balancing layer Virtual infrastructure (virtual compute/network/ storage) Physical infrastructure (compute/network/storage) VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM IaaS consumer (infrastructure architect) Provides Virtualization layer IaaS provider
  • 176. Services provided by IaaS providers 72 Essentials of Cloud Comp Compute Network Storage Load balancers IaaS
  • 177. Characteristics of IaaS ´ Web access to the resources ´ Centralized management ´ Elasticity and dynamic scaling ´ Shared infrastructure ´ Preconfigured VMs ´ Metered services
  • 178. Overview of PaaS ment from local machine to online. PaaS providers provide the development PaaS from the data center. The developers can consume the services over the Internet as shown in Figure 5.6. Consumes Load-balancing layer Virtual development/testing platform (runtime, frameworks, databases, testing tools, etc.) Virtualization layer Development/testing platform (runtime, frameworks, databases, testing tools, etc.) PaaS consumer (application developer) PaaS provider Provides VM VM VM VM VM VM PaaS provider Provides
  • 179. Services provided by PaaS providers dors are ClearDB, PostgreSQL, Cloudant, Membase, MongoDB, and Redis. 4. Other tools: PaaS providers provide all the tools that are required to develop, test, and deploy an application. Programming languages Application frameworks PaaS Databases Other tools
  • 180. Characteristics of PaaS ´ All in one ´ Web access to the development platform ´ Offline access ´ Built-in scalability ´ Collaborative platform ´ Diverse client tools
  • 181. Services provided by SaaS Providers 86 Essentials of Cloud Computi Business services Social networks Mail services Document management SaaS
  • 182. Characteristics of SaaS ´ One to many ´ Web access ´ Centralized management ´ Multi device support ´ Better scalability ´ High availability
  • 183. Suitability of SaaS ´ On-demand software ´ Software for start-up companies ´ Software compatible with multiple devices ´ Software with varying loads
  • 184. The SaaS delivery model is not the best option for ´ Real-time applications ´ Applications with confidential data ´ Better on-premise application
  • 185. SaaS services benefits ´No client-side installation ´Cost savings ´Less maintenance ´Ease of access ´Dynamic scaling ´Disaster recovery ´Multitenancy
  • 186. The major problems with SaaS services ´Security ´Connectivity requirements ´Loss of control
  • 187. Summary of Popular SaaS Providers 90 Essentials of Cloud Computing TABLE 5.3 Summary of Popular SaaS Providers Provider Services Provided Salseforce.com On-demand CRM solutions Google Apps Gmail, Google Calendar, Talk, Docs, and Sites Microsoft Office 356 Online office suite, software, plus services NetSuite ERP, accounting, order management, inventory, CRM, professional services automation (PSA), and e-commerce applications Concur Integrated travel and expense management solutions GoToMeeting Online meeting, desktop sharing, and video-conferencing software Constant Contact E-mail marketing, social-media marketing, online survey, event marketing, digital storefronts, and local deals tools Workday, Inc. Human capital management, payroll, and financial management Oracle CRM CRM applications Intacct Financial management and accounting software solutions
  • 188. Other Cloud Service Models NaaS ´Virtual networks ´Virtual network interface cards (NICs) ´Virtual routers ´Virtual switches ´Virtual private network (VPN) ´Bandwidth on demand (BoD) ´Mobile network virtualization
  • 189. Other Cloud Service Models Desktop as a Service (DEaaS) ´ an ability given to the end users to use desktop virtualization without buying and managing their own infrastructure ´ is a pay-per-use cloud service delivery model in which the service provider manages the back-end responsibilities of data storage, backup, security, and upgrades ´ The end users are responsible for managing their own desktop images, applications, and security ´ Accessing the virtual desktop provided by the DEaaS provider is device, location, and network independent
  • 190. Other Cloud Service Models STaaS ´ An ability given to the end users to store the data on the storage services provided by the service provider ´ Allows the end users to access the les at any time from any place ´ The STaaS provider provides the virtual storage that is abstracted from the physical storage of any cloud data center ´ Is a cloud business model that is delivered as a utility ´ The customers can rent the storage from the STaaS provider ´ Is commonly used as a backup storage for efficient disaster recovery
  • 191. Other Cloud Service Models DBaaS ´ An ability given to the end users to access the database service without the need to install and maintain it ´ The service provider is responsible for installing and maintaining the databases ´ The end users can directly access the services and can pay according to their usage ´ DBaaS automates the database administration process ´ The end users can access the database services through any API or web UIs provided by the service provider ´ The DBaaS eases the database administration process ´ Popular examples of DBaaS include SimpleDB, DynamoDB, MongoDB as a Service, GAE datas- tore, and ScaleDB
  • 192. Other Cloud Service Models Data as a Service (DaaS) ´ is an ability given to the end users to access the data that are provided by the service provider over the Internet ´ DaaS provides data on demand ´ The data may include text, images, sounds, and videos ´ DaaS is closely related to other cloud service models such as SaaS and STaaS ´ DaaS can be easily integrated with SaaS or STaaS for providing the composite service ´ DaaS is highly used in geography data services and financial data services ´ The advantages of DaaS include agility, cost effectiveness, and data quality
  • 193. Other Cloud Service Models SECaaS ´ Is an ability given to the end user to access the security service provided by the service provider on a pay-per-use basis ´ In SECaaS, the service provider integrates their security services to benefit the end users ´ Generally, the SECaaS includes authentication, antivirus, antimalware/spyware, intrusion detection, and security event management ´ The security services provided by the SECaaS providers are typically used for securing the on-premise or in-house infrastructure and applications ´ Some of the SECaaS providers include Cisco, McAfee, Panda Software, Symantec, Trend Micro, and VeriSign
  • 194. Other Cloud Service Models IDaaS ´ Is an ability given to the end users to access the authentication infrastructure that is managed and provided by the third-party service provider ´ The end user of IDaaS is typically an organization or enterprise ´ Using IDaaS services, any organization can easily manage their employees’ identity without any additional overhead ´ Generally, IDaaS includes directory services, federated services, registration, authentication services, risk and event monitoring, single sign-on services, and identity and pro le management.
  • 195. Other Cloud Service Models ´ Backup as a Service (BaaS) ´ Communication as a Service (CaaS) ´ Hadoop as a Service (HaaS) ´ Disaster Recovery as a Service (DRaaS) ´ Testing as a Service (TaaS) ´ Firewall as a Service (FWaaS) ´ Virtual Private Network as a Service (VPNaaS) ´ Load Balancers as a Service (LBaaS) ´ Message Queue as a Service (MQaaS) ´ Monitoring as a Service (MaaS)
  • 196. Technological Drivers for Cloud Computing
  • 197. Service-oriented architecture (SOA) ´A properly implemented SOA-based system provides a loosely coupled set of services that can be used by the service consumers for meeting their service requirements within various business domains
  • 198. Services architectural model of SOA vices can be used to create dynamic business processes and agile applicat in heterogeneous computing platforms. SOC uses the services architect model of SOA as shown in Figure 6.1. This model consists of entities suc Service registry Service provider Service requestor Publish (WSDL) Find (UDDI) Bind (SOAP/HTTP) FIGURE 6.1
  • 199. Services architectural model of SOA ´ Service providers publish the details of their services in the service registry using an Extensible Markup Language (XML) called Web Services Description Language (WSDL) ´ Service requestors find the suitable services from the service registry using specifications such as Universal Description, Discovery, and Integration (UDDI) ´ Service providers and service requestors communicate with each other using protocols such as Simple Object Access Protocol (SOAP) ´SOAP allows a program or service running on one platform to communicate with another program or service running on a different platform, using the Hypertext Transfer Protocol (HTTP) and its XML as the mechanisms for information exchange
  • 200. Benefits of SOA ´Reuse of services ´Agility ´Monitoring ´Extended reach
  • 201. Technologies Used by SOA ´Web services ´SOAP ´Remote procedure call (RPC) ´RMI-IIOP ´This denotes the Java remote method invocation (RMI) interface over the Internet Inter-ORB Protocol (IIOP) ´This proto- col is used to deliver Common Object Request Broker Architecture (CORBA) distributed computing capabilities to the Java platform
  • 202. Technologies Used by SOA ´ REST: Representational State Transfer (REST) ´ is a stateless architecture that runs over HTTP. It is used for effective interactions between clients and services ´ DCOM: Distributed Component Object Model (DCOM) ´ is a set of Microsoft concepts and program interfaces in which client program can request the services from a server program running on other computers in a network ´DCOM is based on the Component Object Model (COM). ´ WCF : Windows Communication Foundation (WCF) ´provides a set of APIs in the .NET Framework for building connected, service-oriented applications
  • 203. Similarities between SOA and Cloud Computing ´ both rely on the service concept to achieve the objectives ´ both promote loose coupling among the components or services, which ensures the minimum dependencies among different parts of the system ´ This feature reduces the impact that any single change on one part of the system makes on the performance of the overall system ´ Loose coupling helps the implemented services to be separated and unaware of the underlying technology, topology, life cycle, and organization ´ The various formats and protocols used in distributed computing, such as XML, WSDL, Interface Description Language (IDL), and Common Data Representation (CDR)
  • 204. Differences between SOA and Cloud Computing ´The services in SOA ´Mainly focus on business ´May represent one aspect of the business process ´The services could be combined together to provide the required complete business application or business solution, Hence, in this sense, the services are horizontal
  • 205. Differences between SOA and Cloud Computing ´The services in SOA ´SOA is used for defining the application architecture ´The various components or services of the application are divided based on their roles in the SOA applications ´That means the solution for a business problem could be achieved by combining the various abstract services performing the required functions ´The services in the SOA can be reused by other applications
  • 206. Differences between SOA and Cloud Computing ´Various services in cloud computing ´are usually layered such as infrastructure, platform, or software, and the lower layer services support the upper services to deliver applications, Hence, the services in this case are vertical ´Cloud computing is a mechanism for delivering IT services
  • 207. Differences between SOA and Cloud Computing ´Various services in cloud computing ´The various services can be divided or grouped based on their roles such as infrastructure, platform, or software ´ In this case, for utilizing the cloud services, the consumer does not require a problem before defining the cloud services ´The services in this case could also be reused by other applications
  • 208. How SOA Meets Cloud Computing ´ SOA is an architecture, and cloud computing is an instance of architecture or an architectural option, not an architecture by itself ´ When used with cloud computing, SOA helps to deliver IT resources as a service over the Internet, and to mix and match the resources to meet the business requirements ´ Cloud and SOA are considered to actually complement each other ´ SOA and cloud together provide the required complete services-based solution ´ cloud and SOA are required to work together to provide service visibility and service management
  • 209. ´ Service visibility and governance provide the users the functionality of service discovery within a cloud, and the SOA service management helps in managing the life cycle of services available in cloud ´ through the integration of cloud and SOA, cloud can take advantage of the SOA governance approach without the necessity for creating new governance overhead ´ Having SOA and service orientation in place, the companies or organizations can make adopting cloud services easier and less complex, because a cloud computing environment is also based on services ´ Both cloud and SOA are focused on delivering services to the business with increased agility, speed, and cost effectiveness How SOA Meets Cloud Computing
  • 210. Cloud computing open architecture (CCOA) ´ is an architecture for the cloud environment that incorporates the SOA ´ The goals of the CCOA ´ To develop an architecture that is reusable and scalable ´ To develop a uniform platform for the cloud application development ´ This will allow the cloud users to switch between the CSPs without the need to make significant changes in the application ´ To enable the businesses to run efficiently ´ This goal helps the CSPs to make more money by delivering quality services successfully
  • 211. Convergence of SOA and cloud 105 Technological Drivers for Cloud Computing Cloud services Internet SOA Cloud users FIGURE 6.2 Convergence of SOA and cloud.
  • 212. Virtualization ´Is the underlying core technology of cloud computing ´It helps in creating a multitenant model for the cloud environment by optimizing the resource usage through sharing
  • 213. The benefits of virtualization ´ The lower costs and extended life of the technology, which has made it a popular option with small- to medium-sized businesses ´ Using virtualization, the physical infrastructure owned by the service provider is shared among many users, increasing the resource utilization ´ Virtualization provides efficient resource utilization and increased return on investment (ROI) ´ Ultimately, it results in low capital expenditures (CapEx) and operational expenditures (OpEx)
  • 214. The benefits of virtualization ´ Better utilization rate of the resources of the service providers ´ Increased ROI for both the service providers and the consumers ´ Promotes the green IT by reducing energy wastage ´ Has the drawbacks of the chance of a single point of failure of the software achieving the virtualization and the performance overhead of the entire system due to virtualization
  • 215. Approaches in Virtualization ´ Full Virtualization ´ Para virtualization ´ Hardware-Assisted Virtualization
  • 216. Full Virtualization ´ uses a special kind of software called a hypervisor ´ The hypervisor interacts directly with the physical server’s hardware resources, such as the CPU and storage space, and acts as a platform for the virtual server’s Oss ´ It helps to keep each virtual server completely independent and unaware of the other virtual servers running on the physical machine ´ Each guest server or the virtual machine (VM) is able to run its own OS ´ That means one virtual server could be running on Linux and the other one could be running on Windows ´ Examples include VMWare ESX and VirtualBox
  • 217. The advantages of the full virtualization ´ isolation among the various VMs ´ isolation between the VMs and the hypervisor ´ concurrent execution of multiple Oss ´ no change required in the guest OS
  • 218. A Disadvantages of the full virtualization ´the overall system performance may be affected due to binary translation
  • 219. Para virtualization ´ VMs do not simulate the underlying hardware ´ uses a special API that a modified guest OS must use ´ Examples include Xen and VMWare ESX server ´ Partial simulation of the underlying hardware infrastructure is achieved ´ Known as partial virtualization or OS-assisted virtualization ´ the guest OS is aware of the fact that it is running in a virtualized environment ´ Hyper calls are used for the direct communication between the guest OS and the hypervisor ´ A modified or para virtualized guest OS is required
  • 220. Para virtualization ´ An advantage ´ It improves the overall system performance by eliminating the overhead of binary translation ´ A disadvantage ´ a modification of the guest OS is required
  • 221. Hardware-Assisted Virtualization ´ Hardware products supporting the virtualization are used ´ Hardware vendors like Intel and AMD have developed processors supporting the virtualization through the hardware extension ´ Intel has released its processor with its virtualization technology VT-x ´ AMD have released its processor with its virtualization technology AMD-v to support the virtualization
  • 222. Hardware-Assisted Virtualization ´ An advantage ´ It eliminates the overhead of binary translation and para virtualization ´ A disadvantage ´ the lack of support from all vendors
  • 223. Hypervisor ´ Hypervisors are software tools used to create the VMs ´ Produce the virtualization of various hardware resources such as CPU, storage, and networking devices ´ Are also called virtual machine monitor (VMM) or virtualization managers ´ Help in the virtualization of cloud data centers (DCs) ´ Help to run multiple OSs concurrently on a physical system sharing its hardware ´ Allows multiple OSs to share a single hardware host ´ The various hypervisors used are VMware, Xen, Hyper-V, KVM, etc
  • 224. Two mainly types of Hypervisors ´ Type 1 hypervisor ´Runs directly on the host computer’s hardware in order to control the hardware resources and also to manage the guest Oss ´Is also known as native or bare-metal hypervisors ´Examples include VMware ESXi, Citrix XenServer, and Microsoft Hyper-V hypervisor ´ Type 2 hypervisor ´Runs within a formal OS environment ´The hypervisor runs as a distinct second layer while the guest OS runs as a third layer above the hardware ´Known as the hosted hypervisors ´Examples include VMware Workstation and VirtualBox
  • 225. Depending on the resources virtualized, types of the process of virtualization ´ OS Virtualization ´ Server Virtualization ´ Memory Virtualization ´ Storage Virtualization ´ Network Virtualization ´ Application Virtualization
  • 226. Cloud Storage Requirements ´ Scalability: The storage system should support the scalability of the user’s data ´ High availability: The degree of availability of the storage solutions deployed in cloud should be very high ´ High bandwidth: The cloud storage system should support the required fast data transfer rate ´ Constant performance: There should not be any performance issues associated with the cloud storage system, and the performance should be consistent throughout the contract period ´ Load balancing (LB): In order to achieve effective resource usage, the storage systems deployed in cloud should be intelligent enough to support automatic LB of the users’ data
  • 227. Storage as a Service (STaaS) 112 Essentials of Cloud Computing Storage service provider Internet On-premise applications Cloud users Local storage Remote storage