0% found this document useful (0 votes)
7 views40 pages

Unit 4

The document discusses Cloud Enabling Technologies, focusing on Service-Oriented Architecture (SOA) and virtualization. SOA is a design pattern for building distributed systems through loosely coupled services, while virtualization allows sharing physical resources among multiple users. It also covers various types of virtualization, including server, desktop, and application virtualization, along with their benefits, features, and Google App Engine as a cloud computing platform.

Uploaded by

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

Unit 4

The document discusses Cloud Enabling Technologies, focusing on Service-Oriented Architecture (SOA) and virtualization. SOA is a design pattern for building distributed systems through loosely coupled services, while virtualization allows sharing physical resources among multiple users. It also covers various types of virtualization, including server, desktop, and application virtualization, along with their benefits, features, and Google App Engine as a cloud computing platform.

Uploaded by

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

UNIT IV

CLOUD ENABLING TECHNOLOGIES


Service Oriented Architecture
A Service-Oriented Architecture or SOA is a design pattern which is
designed to build distributed systems that deliver services to other
applications through the protocol. It is only a concept and not limited
to any programming language or platform.
What is Service?
A service is a well-defined, self-contained function that represents a
unit of functionality. A service can exchange information from
another service. It is not dependent on the state of another service. It
uses a loosely coupled, message-based communication model to
communicate with applications and other services.
Service Connections
The figure given below illustrates the service-oriented architecture.
Service consumer sends a service request to the service provider, and
the service provider sends the service response to the service
consumer. The service connection is understandable to both the
service consumer and service provider.
Service-Oriented Terminologies
o Services - The services are the logical entities defined by one or more
published interfaces.
o Service provider - It is a software entity that implements a service
specification.
o Service consumer - It can be called as a requestor or client that calls a
service provider. A service consumer can be another service or an end-
user application.
o Service locator - It is a service provider that acts as a registry. It is
responsible for examining service provider interfaces and service
locations.
o Service broker - It is a service provider that pass service requests to
one or more additional service providers.
Characteristics of SOA
o They are loosely coupled.
o They support interoperability.
o They are location-transparent
o They are self-contained.
Components of service-oriented architecture
Web Services
• The Internet is the worldwide connectivity of hundreds of thousands of
computers belonging to many different networks.
• A web service is a standardized method for propagating messages between
client and server applications on the World Wide Web. A web service is a
software module that aims to accomplish a specific set of tasks. Web services
can be found and implemented over a network in cloud computing.
• The web service would be able to provide the functionality to the client that
invoked the web service.
• A web service is a set of open protocols and standards that allow data
exchange between different applications or systems. Web services can be
used by software programs written in different programming languages and
on different platforms to exchange data through computer networks such as
the Internet. In the same way, communication on a computer can be inter-
processed.
Web services functions
It is possible to access it via the Internet or intranet network.
XML messaging protocol that is standardized.
Operating system or programming language independent.
Using the XML standard is self-describing.
Web Service Components
1. SOAP (Simple Object Access Protocol)
2. UDDI (Universal Description, Search, and Integration)
3. WSDL (Web Services Description Language)
1. SOAP (Simple Object Access Protocol)
SOAP stands for "Simple Object Access Protocol". It is a transport-
independent messaging protocol. SOAP is built on sending XML data in
the form of SOAP messages.
2. UDDI (Universal Description, Search, and Integration)
UDDI is a standard for specifying, publishing and searching online
service providers. It provides a specification that helps in hosting the data
through web services. UDDI provides a repository where WSDL files
can be hosted
3. WSDL (Web Services Description Language)
The client implementing the web service must be aware of the location of
the web service. If a web service cannot be found, it cannot be used.
Second, the client application must understand what the web service does
to implement the correct web service.
web service work

Features of Web Service


(a) XML-based
(b) Loosely Coupled
(c) Ability to be synchronous or asynchronous
(d) Supports remote procedural calls
(e) Supports document exchanges
Basics of Virtualization
Virtualization is the "creation of a virtual (rather than actual) version of
something, such as a server, a desktop, a storage device, an operating
system or network resources".
In other words, Virtualization is a technique, which allows to share a single
physical instance of a resource or an application among multiple customers
and organizations. It does by assigning a logical name to a physical storage
and providing a pointer to that physical resource when demanded.
The machine on which the virtual machine is going to create is known
as Host Machine and that virtual machine is referred as a Guest Machine

Basic Types of Virtualization:


Hardware Virtualization.
Operating system Virtualization.
Server Virtualization.
Storage Virtualization.
Benefits of Virtualization
More flexible and efficient allocation of resources.
Enhance development productivity.
It lowers the cost of IT infrastructure.
Remote access and rapid scalability.
High availability and disaster recovery.
Pay peruse of the IT infrastructure on demand.
Enables running multiple operating systems.
Characteristics of Virtualization
Increased Security: The ability to control the execution of a guest program
in a completely transparent manner opens new possibilities for delivering a
secure, controlled execution environment..
Managed Execution: In particular, sharing, aggregation, emulation, and
isolation are the most relevant features.
Sharing: Virtualization allows the creation of a separate computing
environment within the same host.
Aggregation: It is possible to share physical resources among several guests,
but virtualization also allows aggregation, which is the opposite process.
Emulation
• In computing, the emulator is a hardware or software that enables
one device (named Host) to function like other systems
(named Guest).
• It is a perfect way to execute the hardware and software in any
system. Emulation brings greater overhead, but it also has its
benefits.
• It is relatively inexpensive, easily accessible and allows us to run
programs that have become redundant in the available system.
• An emulator changes the CPU instructions required for the
architecture and executes it on another architecture successfully.
• The emulation systems could be accessed remotely by anyone and
are very simpler to use. Without affecting the underlying OS, it is
an excellent capacity for embedded and OS development. Without
considering the host's capabilities, emulation will usually manage
the size of the design under test (DUT).
Types of Virtualization
Application Virtualization
Network Virtualization
Desktop Virtualization
Storage Virtualization
Server Virtualization
Data virtualization
1. Application Virtualization:
Application virtualization helps a user to have remote access to an application
from a server. The server stores all personal information and other characteristics
of the application but can still run on a local workstation through the internet.
2. Network Virtualization:
The ability to run multiple virtual networks with each having a separate control
and data plan. It co-exists together on top of one physical network. It can be
managed by individual parties that are potentially confidential to each
other. Network virtualization provides a facility to create and provision virtual
networks, logical switches, routers, firewalls, load balancers,
Virtual Private Networks (VPN), and workload security within days or even
weeks.
3. Desktop Virtualization:
Desktop virtualization allows the users’ OS to be remotely stored on a server in
the data center. It allows the user to access their desktop virtually, from any
location by a different machine.
4. Storage Virtualization: Storage virtualization is an array of servers that are
managed by a virtual storage system. The servers aren’t aware of exactly where
their data is stored and instead function more like worker bees in a hive
5. Server Virtualization: This is a kind of virtualization in which the masking
of server resources takes place. Here, the central server (physical server) is
divided into multiple different virtual servers by changing the identity number,
and processors. So, each system can operate its operating systems in an
isolated manner.
6. Data Virtualization:
This is the kind of virtualization in which the data is collected from various
sources and managed at a single place without knowing more about the
technical information like how data is collected, stored & formatted then
arranged that data logically so that its virtual view can be accessed by its
interested people and stakeholders, and users through the various cloud
services remotely. Many big giant companies are providing their services like
Oracle, IBM, At scale, C data, etc.
Uses of Virtualization
Data-integration
Business-integration
Service-oriented architecture data-services
Searching organizational data
Implementation levels of Virtualization
The main function of the software layer for virtualization is to virtualize the
physical hardware of a host machine into virtual resources to be used by the
VMs, exclusively. This can be implemented at various operational levels, as
we will discuss shortly.
• Instruction Set Architecture Level
At the ISA level, virtualization is performed by emulating a given ISA by
the ISA of the host machine. For example, MIPS binary code can run on
an x86-based host machine with the help of ISA emulation. With this
approach, it is possible to run a large amount of legacy binary code writ-
ten for various processors on any given new hardware host machine.
• Hardware Abstraction Level
Hardware-level virtualization is performed right on top of the bare
hardware. On the one hand, this approach generates a virtual hardware
environment for a VM. On the other hand, the process manages the
underlying hardware through virtualization.
• Operating System Level
This refers to an abstraction layer between traditional OS and user
applications. OS-level virtualization creates isolated containers on a
single physical server and the OS instances to utilize the hard-ware and
software in data centers.
• Library Support Level
Most applications use APIs exported by user-level libraries rather than using
lengthy system calls by the OS. Since most systems provide well-documented
APIs, such an interface becomes another candidate for virtualization.
• User-Application Level
Virtualization at the application level virtualizes an application as a VM. On a
traditional OS, an application often runs as a process. Therefore, application-
level virtualization is also known as process-level virtualization. The most
popular approach is to deploy high level language (HLL)
VIRTUALIZATION STRUCTURES/TOOLS AND MECHANISMS
virtualization, and host-based virtualization. The hypervisor is also known as the
VMM (Virtual Machine Monitor). They both perform the same virtualization
operations.
Hypervisor and Xen Architecture
Binary Translation with Full Virtualization
Para-Virtualization with Compiler Support
1. Hypervisor and Xen Architecture
The hypervisor provides hyper calls for the guest OSes and applications.
Depending on the functionality, a hypervisor can assume a micro-kernel
architecture like the Microsoft Hyper-V.
A) The Xen Architecture
Xen is an open source hypervisor program developed by Cambridge
University. Xen is a micro-kernel hypervisor, which separates the policy from
the mechanism. The Xen hypervisor implements all the mechanisms, leaving
the policy to be handled by Domain 0
2. Binary Translation with Full Virtualization
Depending on implementation technologies, hardware virtualization can be
classified into two cate-gories: full virtualization and host-based
virtualization.
A) Full Virtualization
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. Both the hypervisor and VMM approaches are
considered full virtualization.
B) Binary Translation of Guest OS Requests Using a VMM
This approach was implemented by VMware and many other software
companies. As shown in VMware puts the VMM at Ring 0 and the guest OS
at Ring 1. The VMM scans the instruction stream and identifies the
privileged, control- and behavior-sensitive instructions.
C) Host-Based Virtualization
An alternative VM architecture is to install a virtualization layer on top of the
host OS. This host OS is still responsible for managing the hardware. The
guest OSes are installed and run on top of the virtualization layer. Dedicated
applications may run on the VMs. Certainly, some other applications
3. Para-Virtualization with Compiler Support
Para-virtualization needs to modify the guest operating systems. A para-
virtualized VM provides special APIs requiring substantial OS
modifications in user applications.
A) Para-Virtualization Architecture
When the x86 processor is virtualized, a virtualization layer is inserted
between the hardware and the OS. According to the x86 ring definition,
the virtualization layer should also be installed at Ring 0.
B) KVM (Kernel-Based VM)
This is a Linux para-virtualization system—a part of the Linux version
2.6.20 kernel. Memory management and scheduling activities are carried
out by the existing Linux kernel.
The KVM does the rest, which makes it simpler than the hypervisor that
controls the entire machine.
C) Para-Virtualization with Compiler Support
The guest OS running in a guest domain may run at Ring 1 instead of at Ring
0. This implies that the guest OS may not be able to execute some privileged
and sensitive instructions.
The privileged instructions are implemented by hypercalls to the hypervisor.
After replacing the instructions with hypercalls, the modified guest OS
emulates the behavior of the original guest OS.
Virtualization of CPU, Memory & I/O Devices
o 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. Thus,
unprivileged instructions of VMs run directly on the host machine for higher
efficiency.
Hardware-Assisted CPU Virtualization
This technique attempts to simplify virtualization because full or para
virtualization is complicated.
o Memory Virtualization
Virtual memory virtualization is similar to the virtual memory support provided
by modern operat-ing systems. 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.
o 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
• Full device emulation is the first approach for I/O virtualization.
Generally, this approach emulates well-known, real-world devices.
Desktop Virtualization
Desktop virtualization creates a software-based (or virtual) version of an
end user's desktop environment and operating system (OS) that is
decoupled from the end user's computing device or client.
This enables the user to access his or her desktop from any computing
device.
4 Main Types Of Desktop Virtualization
Hosted Virtual Desktops
Virtual Desktop Infrastructure
Remote Desktop Services
Local Desktop Virtualization
1. Hosted Virtual Desktops
Many employees in the workforce might be residing in different locations,
and workforce management then can be difficult. One of the solutions can
be an employee management system.
2. Virtual Desktop Infrastructure
Like HVDs, Virtual Desktop Infrastructure, or VDI, allows users to approach
their desktop or applications remotely from any device. VDI usually works
on the servers by creating a virtual machine to host OS systems, applications,
and user information.
3. Remote Desktop Services
RDS also helps with remote access. However, it can be easily customized for
different needs. RDS users can easily reduce or increase the storage capacity,
virtualization, and session management.
precisely in 2009, Terminal Services was renamed to Remote Desktop
Services powered by Windows Server 2008 R2.
4. Local Desktop Virtualization
This model does not operate on a physical machine but generally functions
on virtual machines created on the end user’s physical machine. It is an
independent OS with software, settings, and files.
Server Virtualization
Server Virtualization Definition
Server virtualization is the process of dividing a physical server into
multiple unique and isolated virtual servers by means of a software
application. Each virtual server can run its own operating systems
independently.

Key Benefits of Server Virtualization:


Higher server ability
Cheaper operating costs
Eliminate server complexity
Increased application performance
Deploy workload quicker
Advantages of Server Virtualization
1. Independent Restart
2. Low Cost
3. Disaster Recovery
4. Faster deployment of resources
5. Security
Disadvantages of Server Virtualization
6. The biggest disadvantage of server virtualization is that when the
server goes offline, all the websites that are hosted by the server will
also go down.
7. There is no way to measure the performance of virtualized
environments.
8. It requires a huge amount of RAM consumption.
9. It is difficult to set up and maintain.
10. Some core applications and databases are not supported virtualization.
11. It requires extra hardware resources.
Google App Engine
Google App Engine is a cloud computing Platform as a Service (PaaS)
which provides Web app developers and businesses with access to Google’s
scalable hosting in Google managed data centers and tier 1 Internet service.
These applications are required to be written in, namely: Java, Python,
PHP, Go, Node.JS, . NET, and Ruby.
Google App Engine Environments
1) Standard Environment
with constrained environments and support for languages such as Python,
Go, node.js
2) Flexible Environment
where developers have more flexibility such as running custom runtimes
using Docker, longer request & response
Features of Google App Engine
Language support
Flexibility
Diagnostics
Traffic splitting
Security
Advantages of Google App Engine
Easy to build and use the platform
Scalability
Various API sets
Amazon AWS
AWS
AWS tutorial provides basic and advanced concepts. Our AWS tutorial is
designed for beginners and professionals.
AWS stands for Amazon Web Services which uses distributed IT
infrastructure to provide different IT resources on demand.
What is AWS
• AWS stands for Amazon Web Services.
• The AWS service is provided by the Amazon that uses distributed IT
infrastructure to provide different IT resources available on demand.
• Amazon launched AWS, a cloud computing platform to allow the
different organizations to take advantage of reliable IT infrastructure.
Uses of AWS
• A small manufacturing organization uses their expertise to expand their
business by leaving their IT management to the AWS.
• A large enterprise spread across the globe can utilize the AWS to deliver
the training to the distributed workforce.
• An architecture consulting company can use AWS to get the high-
compute rendering of construction prototype.
Pay-As-You-Go
Computing
Programming models
Database storage
Networking
Federation in the Cloud.
• Cloud Federation, also known as Federated Cloud is the deployment
and management of several external and internal cloud computing
services to match business needs.
• It is a multi-national cloud system that integrates private, community,
and public clouds into scalable computing platforms.
• Federated cloud is created by connecting the cloud environment of
different cloud providers using a common standard.
The architecture of Federated Cloud:
1. Cloud Exchange
2. Cloud Coordinator
3. Cloud Broker
Benefits of Federated Cloud:
o It minimizes the consumption of energy.
o It increases reliability.
o It minimizes the time and cost of providers due to dynamic scalability.
o It connects various cloud service providers globally. The providers may
buy and sell services on demand.
o It provides easy scaling up of resources.
Federated Cloud technologies:
1. OpenNebula
It is a cloud computing platform for managing heterogeneous distributed data
center infrastructures.
2. Aneka coordinator
The Aneka coordinator is a proposition of the Aneka services and Aneka peer
components (network architectures) which give the cloud ability and
performance to interact with other cloud services.
3. Eucalyptus
Eucalyptus defines the pooling computational, storage, and network resources
that can be measured scaled up or down as application workloads change in
the utilization of the software.

You might also like