2. OBJECTIVES:
*To understand the concept of cloud computing.
*To appreciate the evolution of cloud from the
existing technologies.
*To have knowledge on the various issues in cloud
computing.
*To be familiar with the lead players in cloud.
*To appreciate the emergence of cloud as the next
generation computing paradigm.
3. COURSE OUTCOMES:
On Completion of the course, the students should be able to:
CO1: Articulate the main concepts, key technologies,
strengths and limitations of cloud computing.
CO2: Learn the key and enabling technologies that help in
the development of cloud.
CO3: Develop the ability to understand and use the
architecture of compute and storage cloud, service and
delivery models.
CO4: Explain the core issues of cloud computing such as
resource management and security.
CO5: Be able to install and use current cloud technologies.
CO6: Evaluate and choose the appropriate technologies,
algorithms and approaches for implementation and use of
cloud.
4. Syllabus
UNIT I - INTRODUCTION 9
Introduction to Cloud Computing – Definition of Cloud – Evolution of Cloud
Computing – Underlying Principles of Parallel and Distributed Computing –
Cloud Characteristics – Elasticity in Cloud – On-demand Provisioning.
UNIT II - CLOUD ENABLING TECHNOLOGIES 10
Service Oriented Architecture – REST and Systems of Systems – Web
Services – Publish- Subscribe Model – Basics of Virtualization – Types of
Virtualization – Implementation Levels of Virtualization – Virtualization
Structures – Tools and Mechanisms – Virtualization of CPU – Memory – I/O
Devices –Virtualization Support and Disaster Recovery.
5. Syllabus
UNIT III CLOUD ARCHITECTURE, SERVICES AND STORAGE 8
Layered Cloud Architecture Design – NIST Cloud Computing Reference
Architecture – Public, Private and Hybrid Clouds - laaS – PaaS – SaaS –
Architectural Design Challenges – Cloud Storage – Storage-as-a-Service –
Advantages of Cloud Storage – Cloud Storage Providers – S3.
UNIT IV - RESOURCE MANAGEMENT AND SECURITY IN CLOUD
10
Inter Cloud Resource Management – Resource Provisioning and Resource
Provisioning Methods – Global Exchange of Cloud Resources – Security
Overview – Cloud Security Challenges – Software-as-a-Service Security –
Security Governance – Virtual Machine Security – IAM – Security Standards.
6. Syllabus
UNIT V CLOUD TECHNOLOGIES AND ADVANCEMENTS 8
Hadoop – MapReduce – Virtual Box -- Google App Engine – Programming
Environment for Google App Engine –– Open Stack – Federation in the Cloud
– Four Levels of Federation – Federated Services and Applications – Future
of Federation.
TEXT BOOKS:
1. Kai Hwang, Geoffrey C. Fox, Jack G. Dongarra, "Distributed and Cloud
Computing, From Parallel Processing to the Internet of Things", Morgan
Kaufmann Publishers, 2012.
2. Rittinghouse, John W., and James F. Ransome, ―Cloud Computing:
Implementation, Management and Security‖, CRC Press, 2017
7. UNIT II
CLOUD ENABLING TECHNOLOGIES
• Service Oriented Architecture – REST and
Systems of Systems – Web Services – Publish-
Subscribe Model – Basics of Virtualization –
Types of Virtualization – Implementation
Levels of Virtualization – Virtualization
Structures – Tools and Mechanisms –
Virtualization of CPU – Memory – I/O Devices
–Virtualization Support and Disaster Recovery.
9. What is Service Oriented Architecture (SOA)?
• The Service Oriented Architecture is an architectural
design which includes collection of services in a
network which communicate with each other. The
complication of each service is not noticeable to
other service.
• The service is a kind of operation which is well
defined, self contained that provides separate
functionality such as checking customer account
details, printing bank statements etc and does not
depend on the sate of other services.
10. History
• The first report published on SOA by the
analysts Roy W. Schulte and Yefim V.Natis in
1996.
11. Why to use SOA?
• SOA is widely used in market which responds quickly
and makes effective changes according to market
situations.
• The SOA keep secret the implementation details of
the subsystems.
• It allows interaction of new channels with customers,
partners and suppliers.
• It authorizes the companies to select software or
hardware of their choice as it acts as platform
independence.
12. Features
• SOA uses interfaces which solves the difficult
integration problems in large systems.
• SOA communicates customers, providers and
suppliers with messages by using the XML schema.
• It uses the message monitoring to improve the
performance measurement and detects the security
attacks.
• As it reuses the service, there will be lower software
development and management costs.
13. Service Oriented Architecture
In grids/web services, Java, and CORBA, an
entity is, respectively, a service, a Java object,
and a CORBA distributed object in a variety of
languages. These architectures build on the
traditional seven Open Systems
Interconnection (OSI) layers that provide the
base networking abstractions.
14. Layered Architecture for Web
Services and Grids
The entity interfaces correspond to the Web Services
Description Language (WSDL), Java method, and
CORBA interface definition language (IDL)
specifications in these example distributed systems.
These interfaces are linked with customized, high-
level communication systems: SOAP, RMI, and IIOP
in the three examples.
15. Layered Architecture for Web
Services and Grids
These communication systems support features
including particular message patterns (such as
Remote Procedure Call or RPC), fault recovery, and
specialized routing the features in the Web Services
Reliable Messaging (WSRM)
Security is a critical capability that either uses or
reemployments the capabilities seen in concepts such
as Internet Protocol Security (IPsec) and secure
sockets in the OSI layers.
16. Layered Architecture for Web
Services and Grids
JNDI (Jini and Java Naming and Directory Interface)
illustrating different approaches within the Java
distributed object model. The CORBA Trading
Service, UDDI (Universal Description, Discovery,
and Integration), LDAP (Lightweight Directory
Access Protocol), and ebXML (Electronic Business
using eXtensible Markup Language) are other
examples of discovery and information services
described
18. Web Services and Tools
Loose coupling and support of heterogeneous
implementations make services more attractive than
distributed objects. corresponds to two choices of
service architecture: web services or REST systems
(these are further discussed in . Both web services
and REST systems have very distinct approaches to
building reliable interoperable systems. In web
services, one aims to fully specify all aspects of the
service and its environment
19. Web Services and Tools
In CORBA and Java, the distributed entities are
linked with RPCs, and the simplest way to build
composite applications is to view the entities as
objects and use the traditional ways of linking them
together. For Java, this could be as simple as writing a
Java program with method calls replaced by Remote
Method Invocation (RMI), while CORBA supports a
similar model with a syntax reflecting the C++ style
of its entity (object) interfaces
20. The Evolution of SOA
Service-Oriented Architecture (SOA) has evolved over
the years. SOA applies to building grids, clouds, grids
of clouds, clouds of grids, clouds of clouds (also
known as interclouds), and systems of systems in
general.
A large number of sensors provide data-collection
services, denoted in the figure as SS (sensor service).
A sensor can be a ZigBee device, a Bluetooth device, a
WiFi access point, a personal computer, a GPA, or a
wireless phone, among other things. Raw data is
collected by sensor services.
21. The Evolution of SOA
The evolution of SOA: grids of clouds and grids,
where ―SS‖ refers to a sensor service and ―fs‖ to a
filter or transforming service Most distributed
systems require a web interface or portal. For raw
data collected by a large number of sensors to be
transformed into useful information or knowledge,
the data stream may go through a sequence of
compute, storage, filter, and discovery clouds.
Finally, the inter-service messages converge at the
portal, which is accessed by all users
23. Grids versus Clouds
The boundary between grids and clouds are getting
unclear in recent years. For web services, workflow
technologies are used to coordinate or arrange
services with certain specifications used to define
critical business process models such as two-phase
transactions
24. Grids versus Clouds
In general, a grid system applies static resources,
while a cloud emphasizes elastic resources. For some
researchers, the differences between grids and clouds
are limited only in dynamic resource allocation based
on virtualization and autonomic computing.
Thus one may end up building with a system of
systems: such as a cloud of clouds, a grid of clouds,
or a cloud of grids, or inter-clouds as a basic SOA
architecture
26. REST – In a Nutshell
• REST is about resources and how to represent
resources in different ways.
• REST is about client-server communication.
• REST is about how to manipulate resources.
• REST offers a simple, interoperable and
flexible way of writing web services that can
be very different from other techniques.
• Comes from Roy Fielding’s Thesis study.
27. REST is NOT !
• A protocol.
• A standard.
• A replacement for SOAP.
28. REST System of Systems
REpresentational State Transfer (REST) is a
way of getting information content from a
website by reading a designated web page
that contains an XML file that describes and
includes the preferred content.
29. REST System of Systems
For instance, REST could be used by your cloud
provider to provide updated subscription
information. Every so often, the provider could
prepare a web page that includes content and XML
statements that are described in the code.
Subscribers only need to know the uniform resource
locator (URL) for the page where the XML file is
located, read it with a web browser, understand the
content using XML information, and display it
appropriately.
30. REST System of Systems
Clients send a request to the web server for information, using the same
URL. The web site has updated its content, and uses REST to send the
information back to the clients.
31. REST System of Systems
A simple REST interaction between user and server in HTTP specification.
32. REST System of Systems
REST was developed in a PhD dissertation by Roy
Fielding, and he calls it an “architectural style.” He
says REST exploits existing technology and
protocols of the Web including HTTP and XML.
REST is similar in function to the Simple Object
Access Protocol (SOAP), but is easier to use. SOAP
requires writing or using a data server program and
a client program (to request the data). However,
SOAP offers more capability.
33. REST Resources
Resources An important component in REST is the
existence of resources. Resources are sources of
specific information and each one is referenced by a
global identifier, like a URL in HTTP. To
manipulate these resources, network components
communicate via a standard interface (like HTTP)
and exchange representations of the resources (for
instance, the actual documents conveying the
information).
35. REST Benefits
• It gives better response time and reduced
server load due to its support for the caching
of representations.
• Server scalability is improved by reducing
the need to maintain session state.
• A single browser can access any application
and any resource, so less client-side software
needs to be written.
36. REST Benefits
• A separate resource discovery mechanism is
not needed, due to the use of hyperlinks in
representations.
•Better long-term compatibility and
resolvability characteristics exist than in
RPC.
37. REST Benefits
This is due to:
• The ability of documents, like HTML, to
evolve with both forward- and backward-
compatibility.
• Resources can add support for new content
types as they are defined, without eliminating
support for older content types.
38. REST Benefits
A benefit when using RESTful applications on
the cloud is that REST allows users to
bookmark specific queries and allows those
queries to be sent to others via email or instant
messaging.
This “representation” of a path or entry point
into an application becomes very portable.
40. Services and Web Services
The term “web service” is often referred to a
self-contained, self-describing, modular
application designed to be used and accessible
by other software applications across the web.
Once a web service is deployed, other
applications and other web services can
discover and invoke the deployed service
41. Services and Web Services
In fact, a web service is one of the most
common instances of an SOA implementation.
The W3C working group defines a web service
as a software system designed to support
interoperable machine-to-machine interaction
over a network. According to this definition, a
web service has an interface described in a
machine-executable format (specifically Web
Services Description Language or WSDL).
42. Services and Web Services
A simple web service interaction among provider, user, and the UDDI registry.
43. Web Services - SOAP
SOAP- (Simple Object Access Protocol)
provides a standard packaging structure for
transmission of XML documents over various
Internet protocols, such as SMTP, HTTP, and
FTP. By having such a standard message
format, heterogeneous middleware systems can
achieve interoperability.
44. Web Services - SOAP
A SOAP message consists of a root element
called envelope, which contains a header: a
container that can be extended by
intermediaries with additional application-level
elements such as routing information,
authentication, transaction management,
message parsing instructions, and Quality of
Service (QoS) configurations, as well as a body
element that carries the payload of the message.
45. Web Services - WSDL
WSDL- (Web Services Description Language)
describes the interface, a set of operations
supported by a web service in a standard
format. It standardizes the representation of
input and output parameters of its operations as
well as the service’s protocol binding, the way
in which the messages will be transferred on
the wire. Using WSDL enables disparate clients
to automatically understand how to interact
with a web service.
46. Web Services - UDDI
UDDI provides a global registry for advertising
and discovery of web services, by searching for
names, identifiers, categories, or the
specification implemented by the web service.
47. Web Services - WS-I Protocol Stack –
(We service )
Unlike RESTful web services that do not cover QoS
and contractual properties, several optional
specifications have been proposed for SOAP-based
web services to define nonfunctional requirements and
to guarantee a certain level of quality in message
communication as well as reliable, transactional
policies, such as WS-Security, WS-Agreement, WS-
ReliableMessaging, WS-Transaction, and WS-
Coordination
48. Web Services - WS-I
Protocol Stack
WS-I protocol stack and its related specifications.
49. Web Services - WS-I
Protocol Stack
As mentioned, SOAP messages are encoded using
XML, which requires that all self-described data be
sent as ASCII strings. The description takes the form
of start and end tags which often constitute half or
more of the message’s bytes Transmitting data using
XML leads to a considerable transmission overhead,
increasing the amount of transferred data by a factor 4
to 10 .
50. Web Services - WS-I
Protocol Stack
Since SOAP can combine the strengths of XML and
HTTP, as a standard transmission protocol for data, it
is an attractive technology for heterogeneous
distributed computing environments, such as grids and
clouds, to ensure interoperability.
51. Web Services - WS-I
Protocol Stack
A SOAP message consists of an envelope used by the
applications to enclose information that need to be
sent. An envelope contains a header and a body block.
The EncodingStyle element refers to the URI address
of an XML schema for encoding elements of the
message. Each element of a SOAP message may have
a different encoding, but unless specified, the
encoding of the whole message is as defined in the
XML schema of the root element.
56. Publish – Subscribe Model
Publish - Subscribe is an asynchronous messaging
service that decouples services that produce events
from services that process events.
You can use Publish - Subscribe as messaging-
oriented middleware or event ingestion and delivery
for streaming analytics pipelines.
57. Publish – Subscribe Model -
Core concepts
Topic: A named resource to which messages are sent
by publishers.
Subscription: A named resource representing the
stream of messages from a single, specific topic, to be
delivered to the subscribing application. For more
details about subscriptions and message delivery
semantics.
58. Publish – Subscribe Model -
Core concepts
Message: The combination of data and (optional)
attributes that a publisher sends to a topic and is
eventually delivered to subscribers.
Message attribute: A key-value pair that a publisher
can define for a message. For example,
key iana.org/language_tag and value en could be
added to messages to mark them as readable by an
English-speaking subscriber.
59. Publisher-subscriber
relationships
A publisher application creates and sends messages to
a topic. Subscriber applications create
a subscription to a topic to receive messages from it.
Communication can be one-to-many (fan-out), many-
to-one (fan-in), and many-to-many.
61. Publish - Subscriber
message flow
A publisher application creates a topic in the Publish -
Subscribe service and sends messages to the topic. A
message contains a payload and optional attributes
that describe the payload content.
The service ensures that published messages are
retained on behalf of subscriptions. A published
message is retained for a subscription until it is
acknowledged by any subscriber consuming messages
from that subscription.
62. Publish - Subscriber
message flow
Publish - Subscribe forwards messages from a topic to all of
its subscriptions, individually.
A subscriber receives messages either by Publish -
Subscribe pushing them to the subscriber's chosen endpoint,
or by the subscriber pulling them from the service.
The subscriber sends an acknowledgement to the Publish -
Subscribe service for each received message.
The service removes acknowledged messages from the
subscription's message queue.
64. Publisher and subscriber
endpoints
Publishers can be any application that can make HTTPS
requests to pubsub.googleapis.com: an App Engine app, a
web service hosted on Google Compute Engine or any
other third-party network, an app installed on a desktop or
mobile device, or even a browser.
Pull subscribers can also be any application that can make
HTTPS requests to pubsub.googleapis.com.
Push subscribers must be Webhook endpoints that can
accept POST requests over HTTPS.
67. Common use cases
Balancing workloads in network clusters. For example,
a large queue of tasks can be efficiently distributed among
multiple workers, such as Google Compute Engine
instances.
Implementing asynchronous workflows. For example,
an order processing application can place an order on a
topic, from which it can be processed by one or more
workers.
Distributing event notifications. For example, a service
that accepts user signups can send notifications whenever
a new user registers, and downstream services can
subscribe to receive notifications of the event.
68. Common use cases
Refreshing distributed caches. For example, an
application can publish invalidation events to update
the IDs of objects that have changed.
Logging to multiple systems. For example, a Google
Compute Engine instance can write logs to the
monitoring system, to a database for later querying,
and so on.
69. Common use cases
Data streaming from various processes or
devices. For example, a residential sensor can stream
data to backend servers hosted in the cloud.
Reliability improvement. For example, a single-zone
Compute Engine service can operate in additional
zones by subscribing to a common topic, to recover
from failures in a zone or region.
71. CONTENTS
1. Introduction of virtualization
2. Architecture of virtualization
3. Types of virtualization
4. Hardware Virtualization.
5. Operating system Virtualization.
6. Server Virtualization.
7. Storage Virtualization.
8. Advantage and Disadvantage of virtualization.
9. Cloud v/s virtualization
10. Conclusion.
72. INTRODUCTION OFVIRTUALIZATION
• Virtualization is a technique, which allows to share single physical
instance of an application or resource among multiple organizations
or tenants (customers)..
• Virtualization is a proved technology that makes it possible to run
multiple operating system and applications on the same server at
same time.
• Virtualization is the process of creating a logical(virtual) version of a
server operating system, a storage device, or network services.
• The technology that work behind virtualization is known as a virtual
machine monitor(VM), or virtual manager which separates compute
environments from the actual physical infrastructure.
73. WhatistheconceptbehindtheVirtualization
• Creation of a virtual machine over existing operating system
and hardware.
• Host machine: The machine on which the virtual machine is
created.
• Guest machine: virtual machines referred as a guest machine.
• Hypervisor: Hypervisor is a firmware or low-level program that
acts as a Virtual Machine Manager.
76. Types of Virtualization
1. Hardware
Virtualization.
2. Operating system
Virtualization.
3. Server Virtualization.
4. Storage
Virtualization.
77. 1. Hardware
Virtualization
• When the virtual machine software or virtual machine
manager (VMM) is directly installed on the hardware system
is known as hardware virtualization.
• The main job of hypervisor is to control and monitoring the
processor, memory and other
hardware resources.
Usage:
• Hardware virtualization is mainly done for the server platforms,
because controlling virtual machines is much easier than
controlling a physical server.
78.
79. 2. Operating System
Virtualization
• When the virtual machine software or virtual machine
manager (VMM) is installed on the Host operating system
instead of directly on the hardware system is known as
operating system virtualization.
Usage:
• Operating System Virtualization is mainly used for testing the
applications on different platforms of OS.
81. 3. Server
Virtualization:
• When the virtual machine software or virtual machine
manager (VMM) is directly installed on the Server system is
known as server virtualization.
Usage:
• Server virtualization is done because a single physical server
can be divided into multiple servers on the demand basis
and for balancing the load.
82.
83.
84. 4. Storage
Virtualization
• Storage virtualization is the process of grouping the physical
storage from multiple network storage devices so that it looks
like a single storage device.
• Storage virtualization is also implemented by using software
applications.
Usage:
• Storage virtualization is mainly done for back-up and recovery
purposes.
85.
86. Cloud vs
Virtualization
• Cloud computer is internet based computing where virtual
shared provide Software, Infrastructure, platform.
• Virtualized
• API
• Pay-as-per-use
• Scalability
Virtualization can exist without the cloud but cloud computing
cannot exist without virtualization.
87.
88. Advantages of
Virtualization
1. Reduced Costs.
2. Efficient hardware Utilization.
3. Virtualization leads to better resource Utilization and
increase performance
4. Testing for software development.
5. IncreaseAvailability
6. Save energy
7. Shifting all your Local Infrastructure to Cloud in a day
8. Possibility to Divide Services
9. Running application not supported by the host.
90. Conclusio
n
Mainly Virtualization means, running multiple operating systems on a
single machine but sharing all the hardware resources and it helps us to
provide the pool of IT resources so that we can share these IT
resources in order get benefits in the business.
One of the main cost-saving, hardware-reducing, and energy-saving
techniques used by cloud providers is virtualization
With OS virtualization each VM can use a different operating system
(OS), and each OS is
isolated from the others.
Use VMs to enabling different services to run in separate VMs on the
93. Types of Hardware virtualization
Hardware virtualization is further subdivided into the
following types:
Full Virtualization – In it, the complete simulation of
the actual hardware takes place to allow software to
run an unmodified guest OS.
Para Virtualization – In this type of virtualization,
software unmodified runs in modified OS as a
separate system.
Partial Virtualization – In this type of hardware
virtualization, the software may need modification to
run.
94. NetworkVirtualization
Internal Network Virtualization: It refers to the management
and monitoring of a computer network as a single
managerial entity from a single softwarebased
administrator’s console. It is intended to allow network
optimization of data transfer rates, scalability,reliability,
flexibility, and security. It also automates many network
administrative tasks. Network virtualization is specifically
useful for networks experiencing a huge, rapid, and
unpredictable increase of usage.
External Network Virtualization: Combine many networks, or
parts of networks into a virtual unit. External Network
Virtualization involves and actual physical device that
caters to your network.
This type of virtualization has been around for some time
now, a
typical example of this would be a CISCO networking switch
that provides VLAN (virtual LAN) capabilities through its
internal CISCO iOS software.
95. Storage
Virtualization
In this type of virtualization, multiple network storage
resources are present as a single storage device for easier
and more efficient management of these resources. It
provides various advantages as follows:
Improved storage management in a heterogeneous IT
environment
Easy updates, better availability
Reduced downtime
Better storage utilization
Automated management
In general, there are two types of storage virtualization:
Block virtualization It works before the file system exists. It
replaces controllers and takes over at the disk level.
File virtualization The server that uses the storage must have
software installed on it in order to enable filelevel usage.
96. MemoryVirtualization
It introduces a way to decouple memory from the server to
provide a shared, distributed or networked function. It
enhances performance by providing greater memory
capacity without any addition to the main memory.
That’s why a portion of the disk drive serves as an
extension of the main memory.
Application level integration – Applications running on
connected computers directly connect to the memory
pool through an API or the file system.
98. SoftwareVirtualization
• It provides the ability to the main computer
to run and create oneor more virtual
environments. It is used to enable a
complete computer system in order to allow
a guest OS to run. For instance letting
Linux torun asa guest that is
natively running a Microsoft Windows
OS (or vice versa, running
Windows as a guest on Linux) Types:
• Operating system
• Application virtualization
• Service virtualization
99. DataVirtualization
Without any technical details, you can easily
manipulate data and know how it is formatted or
where it is physically located. It decreases the data
errors and workload.
100. Desktopvirtualization
y
It provides the work convenience and security. As one
can access remotely, you are able to work from any
location and on any PC. It provides a lot of flexibility for
employees to work from home or on the go. It also
protects confidential data from being lost or stolen by
keeping it safe on central servers.
Notes de l'éditeur
B. RAVIKUMAR AP/CSE – VELAMMAL ENGINEERING COLLEGE
B. RAVIKUMAR AP/CSE – VELAMMAL ENGINEERING COLLEGE
UDDI stands for Universal Description, Discovery, and Integration