Cloud Computing Unit-2
Cloud Computing Unit-2
UNIT-2
(Cloud Enabling Technologies Service Oriented
Architecture)
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.
1. ENHANCED PERFORMANCE-
Currently, the end user system i.e. PC is sufficiently
powerful to fulfill all the basic computation requirements of the user,
with various additional capabilities which are rarely used by the user.
Most of their systems have sufficient resources which can host a
virtual machine manager and can perform a virtual machine with
acceptable performance so far.
3. SHORTAGE OF SPACE-
The regular requirement for additional capacity, whether
memory storage or compute power, leads data centers raise rapidly.
Companies like Google, Microsoft and Amazon develop their
infrastructure by building data centers as per their needs. Mostly,
enterprises unable to pay to build any other data center to
accommodate additional resource capacity. This heads to the diffusion
of a technique which is known as server consolidation.
4. ECO-FRIENDLY INITIATIVES-
At this time, corporations are actively seeking for various
methods to minimize their expenditures on power which is consumed
by their systems. Data centers are main power consumers and
maintaining a data center operations needs a continuous power supply
as well as a good amount of energy is needed to keep them cool for
well-functioning. Therefore, server consolidation drops the power
consumed and cooling impact by having a fall in number of servers.
Virtualization can provide a sophisticated method of server
consolidation.
5. ADMINISTRATIVE COSTS-
Furthermore, the rise in demand for capacity surplus, that
convert into more servers in a data center, accountable for a significant
increase in administrative costs. Hardware monitoring, server setup
and updates, defective hardware replacement, server resources
monitoring, and backups are included in common system
administration tasks. These are personnel-intensive operations. The
administrative costs is increased as per the number of servers.
Virtualization decreases number of required servers for a given
workload, hence reduces the cost of administrative employees.
Characteristics of Virtualization
Sharing –
Virtualization allows the creation of a separate computing
environment within the same host. This basic feature is used to reduce
the number of active servers and limit power consumption.
Aggregation –
It is possible to share physical resources among several guests,
but virtualization also allows aggregation, which is the opposite
process. A group of separate hosts can be tied together and represented
to guests as a single virtual host.
Emulation –
Guest programs are executed within an environment that is
controlled by the virtualization layer, which ultimately is a program.
Also, a completely different environment with respect to the host can
be emulated, thus allowing the execution of guest programs requiring
specific characteristics that are not present in the physical host.
Portability –
The concept of portability applies in different ways according
to the specific type of virtualization considered.
In the case of a hardware virtualization solution, the guest is packaged
into a virtual image that, in most cases, can be safely moved and
executed on top of different virtual machines.
In the case of programming-level virtualization, as implemented by the
JVM or the .NET runtime, the binary code representing application
components (jars or assemblies) can run without any recompilation on
any implementation of the corresponding virtual machine.
Resource sharing:
Virtualization allows multiple virtual machines to share the
resources of a single physical machine, such as CPU, memory, storage,
and network bandwidth. This improves hardware utilization and
reduces the need for additional physical servers.
Flexibility:
Virtualization allows IT administrators to quickly and easily
create, modify, or delete virtual machines as needed, without the need
to purchase and configure additional physical hardware.
Hardware independence:
Virtual machines are hardware-independent, which means
they can run on different types of physical hardware and can be easily
moved between physical servers without needing to reconfigure the
virtual machine.
Scalability:
Virtualization allows organizations to scale their computing
resources up or down as needed, depending on changing business
requirements.
Management:
Virtualization provides centralized management tools that
allow IT administrators to monitor and manage multiple virtual
machines from a single console, making it easier to troubleshoot and
maintain the virtualized environment.virtualization provides a
powerful and flexible technology that can help organizations maximize
their hardware utilization, improve their IT infrastructure scalability,
and simplify their IT management.
Disaster Recovery:
Virtualization enables organizations to implement disaster
recovery solutions more easily and cost-effectively. By replicating
virtual machines to remote sites, organizations can quickly recover
from a disaster and resume operations.
Testing and Development:
Virtualization allows organizations to easily create test and
development environments without the need for additional physical
hardware. This enables developers to test new applications and
configurations in a controlled environment before deploying them to
production.
Energy Efficiency:
Virtualization can help organizations reduce their energy
consumption by consolidating multiple physical servers onto a single
machine. This can result in lower electricity bills and a reduced carbon
footprint.
Cost Savings:
Virtualization can help organizations save money by reducing
the need for additional physical hardware, lowering electricity bills,
and streamlining IT operations. This can result in significant cost
savings over time.
Improved Security Management:
Virtualization can help organizations improve their security
posture by isolating applications and workloads from each other. This
can prevent security breaches from spreading to other parts of the
environment and reduce the attack surface.
Cloud Migration: Virtualization can be a stepping stone for
organizations looking to migrate to the cloud. By virtualizing their
existing infrastructure, organizations can make it easier to move
workloads to the cloud and take advantage of cloud-based services.
Drawback of Virtualization
Hypervisor
The term “hypervisor”, coined in the 70s, was born from another term
traditionally used to refer to the kernel of an operating system (OS):
“supervisor”. By using the prefix “hyper-”, the “hypervisor” is
considered the supervisor of “supervisors”. A hypervisor, also known as
a Virtual Machine Monitor (VMM), is a layer of virtualization
software that allows the creation and running of several virtual
machines within a single server, as well as different operating systems.
The server where the hypervisor runs one or more virtual machines is
commonly known as a “host machine”, while each individual VM is
commonly known as a “guest machine”.
Hypervisors are in charge of separating the resources of the
virtual machine from the hardware system and of distributing them
properly. As an essential part of the technology supporting the cloud,
hypervisors make the migration to the cloud easier, enabling the
reduction of hardware expenditures and the increase of accessibility and
scalability inherent to the cloud.
Types of Hypervisor –
TYPE-1 Hypervisor:
The hypervisor runs directly on the underlying host system. It is also
known as a “Native Hypervisor” or “Bare metal hypervisor”. It does
not require any base server operating system. It has direct access to
hardware resources. Examples of Type 1 hypervisors include VMware
ESXi, Citrix XenServer, and Microsoft Hyper-V hypervisor.
TYPE-2 Hypervisor:
A Host operating system runs on the underlying host system. It is also
known as ‘Hosted Hypervisor”. Such kind of hypervisors doesn’t run
directly over the underlying hardware rather they run as an application
in a Host system (physical machine). Basically, the software is
installed on an operating system. Hypervisor asks the operating system
to make hardware calls. An example of a Type 2 hypervisor includes
VMware Player or Parallels Desktop. Hosted hypervisors are often
found on endpoints like PCs. The type-2 hypervisor is very useful for
engineers, and security analysts (for checking malware, or malicious
source code and newly developed applications).
Pros & Cons of Type-2 Hypervisor:
Pros: Such kind of hypervisors allows quick and easy access to a guest
Operating System alongside the host machine running. These
hypervisors usually come with additional useful features for guest
machines. Such tools enhance the coordination between the host
machine and the guest machine.
Cons: Here there is no direct access to the physical hardware resources
so the efficiency of these hypervisors lags in performance as compared
to the type-1 hypervisors, and potential security risks are also there an
attacker can compromise the security weakness if there is access to the
host operating system so he can also access the guest operating system.
Types of Virtualization
Application Virtualization
Network Virtualization
Desktop Virtualization
Storage Virtualization
Server Virtualization or hardware virtualization
Data virtualization
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. An example of this would
be a user who needs to run two different versions of the same software.
Technologies that use application virtualization are hosted applications
and packaged applications.
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.
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. Users who
want specific operating systems other than Windows Server will need
to have a virtual desktop. The main benefits of desktop virtualization
are user mobility, portability, and easy management of software
installation, updates, and patches.
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. It makes managing storage from multiple
sources be managed and utilized as a single repository. storage
virtualization software maintains smooth operations, consistent
performance, and a continuous suite of advanced functions despite
changes, breaks down, and differences in the underlying equipment.
Server Virtualization or hardware 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. Where each sub-server knows
the identity of the central server. It causes an increase in performance
and reduces the operating cost by the deployment of main server
resources into a sub-server resource. It’s beneficial in virtual
migration, reducing energy consumption, reducing infrastructural
costs, etc.
Software vendors use various techniques to implement server
virtualization or hardware virtualization. Which are as follows:-
1.Full Virtualization:-
In the full virtualization technique, the hypervisor completely
simulates the underlying hardware. The main advantage of this
technique is that it allows the running of the unmodified OS. In full
virtualization, the guest OS is completely unaware that it’s being
virtualized.
Full virtualization uses a combination of direct execution and binary
translation. This allows direct execution of non-sensitive CPU
instructions, whereas sensitive CPU instructions are translated on the fly.
To improve performance, the hypervisor maintains a cache of the
recently translated instructions.
VMware’s ESXi server uses this technique to achieve server
virtualization.
2.Paravirtualization
In paravirtualization, the hypervisor doesn’t simulate
underlying hardware. Instead, it provides hypercalls. The guest OS
uses hypercalls to execute sensitive CPU instructions. This technique is
not as portable as full virtualization, as it requires modification in the
guest OS. However, it provides better performance because the guest OS
is aware that it’s being virtualized.
Hypercalls are similar to kernel system calls. They allow the guest OS to
communicate with the hypervisor.
The open-source Xen project uses the paravirtualization technique.
3.Hardware-assisted Virtualization:-
Also known as native virtualization, in this
technique, underlying hardware provides special CPU instructions to
aid virtualization. This technique is also highly portable as the
hypervisor can run an unmodified guest OS. This technique makes
hypervisor implementation less complex and more maintainable.
Intel’s Intel-VT and AMD’s AMD-V processors provide CPU
virtualization instructions that software vendors use to implement
hardware-assisted virtualization.
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, Cdata, etc.
Implementation Levels of Virtualization
It is not simple to set up virtualization. Your computer runs on
an operating system that gets configured on some particular hardware. It
is not feasible or easy to run a different operating system using the same
hardware.
To do this, you will need a hypervisor. Now, what is the role
of the hypervisor? It is a bridge between the hardware and the virtual
operating system, which allows smooth functioning.
Talking of the Implementation levels of virtualization in Cloud
Computing., there are a total of five levels that are commonly used.
Let us now look closely at each of these levels of
virtualization implementation in Cloud Computing.
1. Instruction Set Architecture Level (ISA) ISA virtualization can work
through ISA emulation. ...
2.Hardware Abstraction Level (HAL) ...
3. Operating System Level. ...
4.Library Level. ...
5.Application Level
4) Library Level
The operating system is cumbersome, and this is when the applications
use the API from the libraries at a user level. These APIs are
documented well, and this is why the library virtualization level is
preferred in these scenarios. API hooks make it possible as it controls
the link of communication from the application to the system.
5) Application Level
The application-level virtualization is used when there is a desire to
virtualize only one application and is the last of the implementation
levels of virtualization in Cloud Computing. One does not need to
virtualize the entire environment of the platform.
This is generally used when you run virtual machines that use high-level
languages. The application will sit above the virtualization layer, which
in turn sits on the application program.
It lets the high-level language programs compiled to be used at the
application level of the virtual machine run seamlessly.
Conclusion
There are in total of five implementation levels of virtualization in Cloud
Computing. However, every enterprise may not use each one of the
different levels of virtualization implementation in Cloud Computing.
The level used is based on the working of the company and also on its
preference for the level of virtualization. The company will use the
virtual machine to develop and test across multiple platforms. Cloud-
based applications are on the rise, making virtualization a must-have
thing for enterprises worldwide.
Architecture of SOA:-
Service provider:-
The service provider creates, maintains, and provides one or more
services that others can use. Organizations can create their own services
or purchase them from third-party service vendors.
Service consumer:-
The service consumer requests the service provider to run a
specific service. It can be an entire system, application, or other service.
The service contract specifies the rules that the service provider and
consumer must follow when interacting with each other. Service
providers and consumers can belong to different departments,
organizations, and even industries.
Service registry:-
A service registry, or service repository, is a network-accessible
directory of available services. It stores service description documents
from service providers. The description documents contain information
about the service and how to communicate with it. Service consumers
can easily discover the services they need by using the service registry.
Web service providers publish their web services on web-service
registries. The service consumer searches for web services by querying
the broker. Finally the service consumer incorporates the web-services
in his application and invokes them when needed.
Advantages of SOA:
Service reusability: In SOA, applications are made from existing
services. Thus, services can be reused to make many applications.
Easy maintenance: As services are independent of each other they can
be updated and modified easily without affecting other services.
Platform independent: SOA allows making a complex application by
combining services picked from different sources, independent of the
platform.
Availability: SOA facilities are easily available to anyone on request.
Reliability: SOA applications are more reliable because it is easy to
debug small services rather than huge codes
Scalability: Services can run on different servers within an
environment, this increases scalability
Disadvantages of SOA:
High overhead: A validation of input parameters of services is done
whenever services interact this decreases performance as it increases
load and response time.
High investment: A huge initial investment is required for SOA.
Complex service management: When services interact they exchange
messages to tasks. the number of messages may go in millions. It
becomes a cumbersome task to handle a large number of messages.
Practical applications of SOA: SOA is used in many ways
around us whether it is mentioned or not.
1. SOA infrastructure is used by many armies and air forces to deploy
situational awareness systems.
2. SOA is used to improve healthcare delivery.
3. Nowadays many apps are games and they use inbuilt functions to
run. For example, an app might need GPS so it uses the inbuilt GPS
functions of the device. This is SOA in mobile solutions.
4. SOA helps maintain museums a virtualized storage pool for their
information and content.
Web Service
Web service is a standardized medium to propagate
communication between the client and server applications on the WWW
(World Wide Web). A web service is a software module that is designed
to perform a certain set of tasks.
Web services in cloud computing can be searched for over the network
and can also be invoked accordingly.
When invoked, the web service would be able to provide the
functionality to the client, which invokes that web service.
The above diagram shows a very simplistic view of how a web service
would actually work. The client would invoke a series of web service
calls via requests to a server which would host the actual web service.
These requests are made through what is known as remote procedure
calls. Remote Procedure Calls(RPC) are calls made to methods which
are hosted by the relevant web service.
As an example, Amazon provides a web service that provides prices for
products sold online via amazon.com. The front end or presentation
layer can be in .Net or Java but either programming language would
have the ability to communicate with the web service.
Every framework needs some sort of architecture to make sure the entire
framework works as desired, similarly, in web services.
The Web Services Architecture consists of three distinct roles as
given below:
Provider – The provider creates the web service and makes it available
to client applications who want to use it.
Requestor – A requestor is nothing but the client application that needs
to contact a web service. The client application can be a .Net, Java, or
any other language based application which looks for some sort of
functionality via a web service.
Broker – The broker is nothing but the application which provides
access to the UDDI. The UDDI,enables the client application to locate
the web service.
The diagram below showcases how the Service provider, the Service
requestor and Service registry interact with each other.
Publish – A provider informs the broker (service registry) about the
existence of the web service by using the broker’s publish interface to
make the service accessible to clients
Find – The requestor consults the broker to locate a published web
service
Bind – With the information it gained from the broker(service registry)
about the web service, the requestor is able to bind, or invoke, the web
service.
Disadvantages of a REST :-
Although REST APIs have many advantages, they also have some
disadvantages that you should be aware of, especially if you are looking
to specialize in web development.
Some of the main disadvantages are:
1. Increased design complexity:-
Although they are easier to use, the design of a REST API can be more
complex than other APIs, especially if you are not familiar with web
architecture.
The REST API uses architectural principles that you need to be familiar
with in order to develop your API.
2. Web connection:-
All changes to your REST API must be executed on the web and only on
the web. It’s impossible to edit the API from your desktop without an
internet connection, unlike HTML web files, for example. You must
always connect to make the slightest change.
A REST API requires an Internet connection to function, which means it
may be less useful in offline environments.
3. Variable performance and flexibility:-
On the other hand, REST APIs can have slightly lower performance than
other APIs, depending on the servers and their internet speed.
2) SOAP stands for Simple Object REST stands for Representational State Transfer.
Access Protocol.
3) SOAP can't use REST because REST can use SOAP web services because it is a conc
it is a protocol. and can use any protocol like HTTP, SOAP.
4) SOAP uses services interfaces REST uses URI to expose business logic.
to expose the business logic.
5) JAX-WS is the java API for JAX-RS is the java API for RESTful web services.
SOAP web services.
6) SOAP defines standards to be REST does not define too much standards like SOAP.
strictly followed.
7) SOAP requires more REST requires less bandwidth and resource than SOAP
bandwidth and resource than
REST.
8) SOAP defines its own security. RESTful web services inherits security measures from
underlying transport.
9) SOAP permits XML data REST permits different data format such as Plain text,
format only. HTML, XML, JSON etc.
Lnuy
Wmdows
huest os2
Gvest os)
yhev'san (vmm )
CpU
Host as t as
imvoLves a omgls cpu athing
CPU Viortealizotonsehenate cpUs. b allow% dm 0S to
mutplu þowen t'n
Wee
vtilye he cpu
effechey aond efiuetly
the Computen sothat t ns feste
Alt he scgrans and Lmstchons ae gUming physital
gwing he feeling like
torougf virval machine ae bandled by G)
wosstato Al the oberatons
trols oftae to tUn attodtng
emulata hat (on
to it.
Yhes of cA vrhlyahon
based cr virtaligahon.
+ Sofhwas Vittohahon.
Handcsaot Assisted GU
cpU vitalzahon2 Tn tt aelcaton
Softuae based Ccole gets exeUted
Oon the foocesaT aod the kinidged cocde gets tons
Aated nst and that tnoqslated Code gets exewted.
oon he gcess0r.
socess
kyoCéss VkAd hu ts
is nown ds
The r0avs latron
Cbhysical muomony)
virtv aligahon to the psoces of onscl'dact'ng
Meamay UsOU1(es foem smdividval sstems
tOndom memoNy acces
Cemtesy 0999ugates them and them
in the datd )
Users weth the helb
krovioles them to the mdividual
of vsrhaliyation vsng Aybenuisous.
Basically thsuu ayors o memay au pusent,
|- Host mochine mumay
bronides a Corntigusus nmnt shate fas tha Use.
by ibrtealnachene
9 Guest oberating Syotem biyoical mLomay
Kemil
Bus esrted to the vm (viortvalnachne ) byvm
3e buest oberatng Syten viatoal mLmOny
fasented o afplicoth ns by the guest os
Pouocess of Mumoy Viohalgahion ’
Too ky Conetts au Uscd an the ptocess of
Device
Dsuyes
bhyical tand 'ae
lemulated disk
s
.e.to the
Cll he Uajvests doe semt o the host
Visntucl omkine a! the host.
clieant
ehost
L Roblishn feblistu will boblish thu sENkeschoml
benvices at sem mesages to he
Oubysuber- Subdoube to a caiegay of mues
3- Chomel Ricenves misages f n bublisAer aonol
murtan subAOubei subscouphion.
I'socess ’ Tl bublishen wants to bublish oony tortentt vsng
to Ghamel ,Ae semds the myiage to the omel using
bublsh Command. As scon as the Cortent is bublishad to
he chemel, ll he scbssubes gets a onohfcahon)
he sgmme dond can check the Cortent ds0.
hu acivihes thct the subsoube com
- Sulosciber caon Bubiube o the chomel
Subscsiber caon nsubibe fotom he Chenel
Sebsiber follous the swles Qomd sbstibton methods
bitoided by he chamnel.
Aelvotages loo Cojling on the blistr' end
-Redvced Cognthve lo ad on the subscibets
Sya-seherchon of Concems
- Tom bstoved testablty
5. Tomjstovecd Stcwsty.
DIsachaoriaze > Inflwiblity of data Send by the jablishun
chaonging he fomat of he mesag e s not an eaiy task. Tt
stayunaus aftnmahon of all the bulolishurs.
Tastabiley of celivery
the subsouber
fublioher does not Have the hetfect soha cl
he
bometis Umwateol ost palst subsubers caon he
sttcton that stops a buces on achvy prom kaogud
Bottlenks>A
Somtims load sges Can slow dowen mesage
subscoiben gets a selks in the susbonse
btding an
Am
Vbrlal dlsasjes sutovery is a ghe of disaster suDve
hat tsitally mvolves sahlitcdhon dnd eables a user to
fail over to vibrhalizd woklonds
Fon the oost efluent viual disasten uoveny,
csgondscthon ahovld coby vm woskloacs ofß-site on
Rsl'tahon essehaly moks a sual stione
d sugulan bas's stamgthmmg DR
a sebatrate tocahon ,
Coby of vma tin
tei'saste suLovey )
Bemufts of vistal Disaster Raov eny
Vtualgah mkoovids oribilty in disaster utovey.
Whenevens ate vibrtvalgd ,, thy ate ontatineuzed sosto
Vms ndebenndleont fom he ndoyoj hasdsasu hyskal
does anet neeol the some
fhn cgaouscthon seconolay olkaste
bevers dt he kmay site as at sts
olecovery site.
vibtual diaster Saceveny mclude ease, effereong,
sheed aad byovide hgh oyadlob,lt in the eveant of faile
vÛhdlgahon Aushs ango9sahons mct Rcovery Time
Cbjectves CRTO) aond Recovery foÝtt oyecthves CRPO ) as
súpducach on s done as fouayvennty
Aouayuemty as onecded.
hblecahorm ,Computer, nutoart on oystem Com be
a Hen a9n Unexbected odi'saster, faclve o
lonpanokle event toks Alace
osDomain o
Xem wihdaws
Harduae dovces
's Bheeial dloman o Aa ContooL am d
The yem achitechot a7blicathons
quest domaions
demain5 faa
fa vseI
/0 and evenal
olbilty ta callud
"hu quat os, thieth has ConrokDomain U. Doman 0
Domaitn 0, dord the oths au called
is o bivil1geo gvest 0s ofthenXem.
loaded xem bootA wHhavt any fle
Ais frs dugned to
aviloble- Domabs o s
sysem douVeus kung manage dwices
agress hadluae dliuctly oond Domaon O
syboonslbileh es of
one of he
snd mah hadwou swoUNces fonhe
ds to dlbotate
quest domnaurt.
In case ; doma) o tauls hen he ohe
domats U also tail.
SOAP CSimþle obyct Aces Aotocol) ,