Service Oriented Architecture – REST and Systems of Systems – Web Services – PublishSubscribe Model – Basics of Virtualization – Types of Virtualization – Implementation Levels ofVirtualization – Virtualization Structures – Tools and Mechanisms – Virtualization of CPU –Memory – I/O Devices –Virtualization Support and Disaster Recovery.
1. UNIT II
CLOUD ENABLING TECHNOLGIES
KARTHIKA J (Ph.D.)
Assistant Professor/CSE
Agni College of Technology
2. Topics
• 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.
3. Service Oriented Architecture (SOA)
• A service-oriented architecture (SOA) is an architectural pattern in
computer software design in which application components provide
services to other components via a communications protocol, typically
over a network.
• What is Service?
• Definition1: A service is a self-contained unit of functionality, such as
retrieving an online bank statement. By that definition, a service is an
operation that may be discretely invoked
• Definition2: A service is a function that is well-defined, self-contained,
and does not depend on the context or state of other services
4.
5. Properties
• The World Wide Web Consortium (W3C) defines SOA as a form of
distributed systems architecture characterized by the following
properties:
• Logical view
• Message Orientation
• Description Orientation
• Granularity Services
• Network orientation Services
• Platform-neutral Messages
6. REST and Systems of Systems
• REST is a software architecture style for distributed systems,
particularly distributed hypermedia systems, such as the World Wide
Web.
• It has recently gained popularity among enterprises such as Google,
Amazon, Yahoo!, and especially social networks such as Facebook and
Twitter because of its simplicity, and its ease of being published and
consumed by clients.
7. The REST architectural style is based on four
principles:
• Resource Identification through URIs: The RESTful web service
exposes a set of resources which identify targets of interaction with
its clients. The key abstraction of information in REST is a resource.
• Uniform, Constrained Interface: Interaction with RESTful web services
is done via the HTTP standard, client/server cacheable protocol.
Resources are manipulated using a fixed set of four CRUD (create,
read, update, delete) verbs or operations: PUT, GET, POST, and
DELETE.
8. The REST architectural style is based on four
principles: (Cont)
• Self-Descriptive Message: A REST message includes enough
information to describe how to process the message.
• Stateless Interactions: The REST interactions are “stateless” in the
sense that the meaning of a message does not depend on the state of
the conversation.
11. Example: RESTful Web Service in Amazon S3
Interface
• A good example of RESTful web service application in
high-performance computing systems is the REST
Request REST Response Amazon S3 is data storage for
Internet applications.
• It provides simple web services to store and retrieve
data from anywhere at any time via the web.
• S3 keeps fundamental entities, “objects,” which are
named pieces of data accompanied by some metadata
to be stored in containers called “buckets,” each
identified by a unique key.
13. Technologies of
Web Services
Simple Object Access Protocol (SOAP):
SOAP 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.
14. Technologies of
Web Services
Web Services Description Language (WSDL):
WSDL describes the interface, a set of
operations supported by a web service in a
standard format.
Universal Description, Discovery, and
Integration (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.
16. Message-
Oriented
Middleware
Publish-
Subscribe
model
• An important concept here is “publish-subscribe” which
describes a particular model for linking source and
destination for a message bus.
• Here the producer of the message (publisher) labels the
message in some fashion; often this is done by
associating one or more topic names from a (controlled)
vocabulary.
• Then the receivers of the message (subscriber) will
specify the topics for which they wish to receive
associated messages.
• Alternatively, one can use content-based delivery
systems where the content is queried in some format
such as SQL.
17. Basic of
Virtualization
Virtual
Machines
and
Virtualization
Middleware
• Virtual machines (VMs) offer novel solutions to
underutilized resources, application inflexibility,
software manageability, and security concerns in
existing physical machines.
• Virtual Machines
• A Virtual Machine is software that creates a
virtualized environment between the
computer platform and the end user in which
the end user can operate software.
• Hypervisor
• Hypervisor is known as Virtual Machine
Monitor/Manager) is a software that allows
multiple OS to share a single Hardware host.
18.
19. VM Primitive Operations
• The VMM provides the VM abstraction to the guest OS. With full virtualization, the VMM exports
a VM abstraction identical to the physical machine so that a standard OS such as Windows 2000
or Linux can run just as it would on the physical hardware.
• First, the VMs can be multiplexed between hardware machines, as shown in Figure 1.13(a).
• Second, a VM can be suspended and stored in stable storage, as shown in Figure 1.13(b).
• Third, a suspended VM can be resumed or provisioned to a new hardware platform, as shown in
Figure 1.13(c).
• Finally, a VM can be migrated from one hardware platform to another, as shown in Figure
1.13(d).
20. Virtualization
• Virtualization is the creation of a virtual (rather than
actual) version of something, such as an operating
system, a server, a storage device or network
resources.
• Advantages: The purpose of a VM is to enhance
resource sharing by many users and improve
computer performance in terms of resource
utilization and application flexibility.
23. Virtualization Structures/Tools and
Mechanisms
• Figure 3.1 showed the architectures of a machine before and after
virtualization.
• Before virtualization, the operating system manages the hardware. After
virtualization, a virtualization layer is inserted between the hardware and the
operating system.
• Depending on the position of the virtualization layer, there are several classes
of VM architectures, namely the
• Hypervisor and Xen architecture,
• Binary Translation with Full Virtualization
• Para-virtualization, and
• Host-based virtualization
24. Hypervisor and Xen Architecture
• The hypervisor supports hardware-level virtualization (see Figure 3.1(b))
on bare metal devices like CPU, memory, disk and network interfaces.
25. Xen Architecture
• Xen is an open source hypervisor program developed by Cambridge
University. Xen is a micro-kernel hypervisor.
• The Xen hypervisor implements all the mechanisms, leaving the policy
to be handled by Domain 0, as shown in Figure 3.5.
26. Binary Translation with Full Virtualization
• Depending on implementation technologies, hardware virtualization can be
classified into two categories:
• full virtualization and
• host-based virtualization.
• Full Virtualization
• With full virtualization, noncritical instructions run on the hardware
directly while critical instructions are discovered and replaced with traps
into the VMM to be emulated by software.
• Definition of Binary Translation
• This approach was implemented by VMware and many other software companies.
As shown in Figure 3.6, VMware puts the VMM at Ring 0 and the guest OS at Ring 1.
27.
28. • Host-Based Virtualization
• This approach install a virtualization layer on top of the host OS. This host OS
is still responsible for managing the hardware. Para-Virtualization
• Para-virtualization
• Para virtualization needs to modify the guest operating systems. A para-
virtualized VM provides special APIs requiring substantial OS modifications in
user applications.
29. Virtualization of CPU, Memory, and I/O
Devices
• Hardware Support for Virtualization
• Modern operating systems and processors permit multiple processes to run
simultaneously. If there is no protection mechanism in a processor, all
instructions from different processes will access the hardware directly and
cause a system crash.
• CPU Virtualization
• A VM is a duplicate of an existing computer system in which a majority of the
VM instructions are executed on the host processor in native mode.
30. • Memory Virtualization
• In a traditional execution environment, the operating system maintains mappings of virtual
memory to machine memory using page tables, which is a one-stage mapping from virtual
memory to machine memory.
• All modern x86 CPUs include a memory management unit (MMU) and a translation lookaside
buffer (TLB) to optimize virtual memory performance. I/O Virtualization
• I/O virtualization involves managing the routing of I/O requests between virtual devices and the
shared physical hardware.
• At the time of this writing, there are three ways to implement I/O virtualization:
• Full device emulation,
• Para-virtualization, and
• Direct I/O.
31. Virtual Clusters and Resource Management
• Physical versus Virtual Clusters
• Defintion of Physical Clusters: A physical cluster is a collection of
servers (physical machines) interconnected by a physical network
such as a LAN.
• Definition of Virtual Clusters: Virtual clusters are built with VMs
installed at distributed servers from one or more physical clusters.
The VMs in a virtual cluster are interconnected logically by a virtual
network across several physical networks.
32.
33. Virtualization for Data-Center Automation
• A data center (or datacenter) is a facility composed of networked
computers and storage that businesses or other organizations use to
organize, process, store and disseminate large amounts of data.
• It is a large group of networked computer servers typically used by
organizations for the remote storage, processing, or distribution of
large amounts of data.
34. Virtual Storage Management
• Storage virtualization was largely used to describe the aggregation and repartitioning of disks at
very coarse time scales for use by physical machines. In system virtualization, virtual storage
includes the storage managed by VMMs and guest OSes.
• The data stored in this environment can be classified into two categories: VM images - special to
the virtual environment
• Application data - includes all other data which is the same as the data in traditional OS
environments.
• Drawbacks
• The storage primitives used by VMs are not nimble. Hence, operations such
• as remapping volumes across hosts and check pointing disks are frequently
• clumsy and esoteric, and sometimes simply unavailable.