0% found this document useful (0 votes)
5 views80 pages

Understanding Cloud Architecture Layers

The document outlines the architecture of cloud computing, detailing its various layers including Physical Infrastructure, Core Middleware, IaaS, PaaS, and SaaS. It discusses the characteristics, advantages, and drawbacks of IaaS, PaaS, and SaaS, emphasizing their roles in providing scalable, on-demand services for IT needs. Additionally, it highlights the importance of virtualization, security concerns, and the potential for vendor lock-in in cloud services.

Uploaded by

goopika41
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)
5 views80 pages

Understanding Cloud Architecture Layers

The document outlines the architecture of cloud computing, detailing its various layers including Physical Infrastructure, Core Middleware, IaaS, PaaS, and SaaS. It discusses the characteristics, advantages, and drawbacks of IaaS, PaaS, and SaaS, emphasizing their roles in providing scalable, on-demand services for IT needs. Additionally, it highlights the importance of virtualization, security concerns, and the potential for vendor lock-in in cloud services.

Uploaded by

goopika41
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

Unit-2

Chapter-1
CLOUD ARCHITECTURE
Cloud Computing Architecture(reference
model)
 Cloud computing supports any IT service that can be consumed as a
utility and delivered through a network, most likely the Internet.
Such characterization includes quite different aspects: infrastructure,
development platforms, application and services.
Cloud Computing Architecture(reference
model)
 Cloud Computing can be viewed as different layers as shown in the figure above.
 Physical Infrastructure: This is where the actual hardware and resources are
located, like data centres with many computers. It can be a mix of different
technologies and includes storage and database systems.
 Core Middleware: This manages the physical infrastructure to create a suitable
environment for applications. It uses virtualization to divide resources efficiently.
It also handles quality, monitoring, and other functions.
 IaaS (Infrastructure-as-a-Service): This combines the management layer and
the physical infrastructure. Some provide only the management layer. It's good
for designing system infrastructure but doesn't offer many application services.
 PaaS (Platform-as-a-Service): This is for developing applications specifically
for the cloud. It includes tools and a development platform. Some PaaS options
also include the infrastructure, while "Pure PaaS" provides only the development
tools.
 SaaS (Software-as-a-Service): These are cloud-based applications, like web
applications, that use the cloud to serve users. It's what most people use on the
internet
 The reference model described above also introduces the concept of Everything
as a Service (XaaS). Different cloud services can be combined to create a
complete system. For example, you can use virtual machines from one service
and add your software to run applications.
Infrastructure- and hardware-as-a-service
 Infrastructure- and Hardware-as-a-Service (IaaS/HaaS) solutions are the most
popular and developed market segment of cloud computing.
 They deliver customizable infrastructure on demand. IaaS changes computing
from a physical infrastructure to a virtual infrastructure.
 IaaS provides virtual computing, storage, and network resources by abstracting
physical resources. Technology virtualization is used to provide virtual resources.
 The implementation of IaaS involves 3 layers:
 The user interface layer: It provides access to the services exposed by the
software management infrastructure. Such an interface is generally based on Web
2.0 technologies. These technologies allow either applications or final users to
access the services exposed by the underlying infrastructure.
 The Software Management Infrastructure layer: A central role is played by
the scheduler, which is in charge of allocating the execution of virtual machine
instances.
 The scheduler interacts with the other components that perform a variety of tasks:
 The pricing and billing component takes care of the cost of executing each virtual
machine instance and maintains data that will be used to charge the user.
 The monitoring component tracks the execution of each virtual machine instance
and maintains data required for reporting and analyzing the performance of the
system.
 The reservation component stores the information of all the virtual machine
instances that have been executed or that will be executed in the future.
 The QoS /SLA management component is used to ensure that a given virtual
machine instance is executed with the desired quality of service.
 The VM repository component provides a catalog of virtual machine images that
users can use to create virtual instances.
 A VM pool manager component is responsible for keeping track of all the live
instances.
 The physical infrastructure layer: The bottom layer is composed of the
physical infrastructure. The specific infrastructure used depends on the specific
use of the cloud. A service provider will most likely use a massive data centre
containing hundreds or thousands of nodes. A cloud infrastructure developed in
house, in a small or medium-sized enterprise or within a university department,
will most likely rely on a cluster.
 IaaS providers: In the case of complete IaaS solutions, all three levels are
offered as service.
 Example: Amazon, GoGrid, Joyent, Rightscale, Terremark, Rackspace,
ElasticHosts, and Flexiscale, These service providers own large datacenters and
give access to their computing infrastructures using an IaaS approach.
 Characteristics of IaaS:
 Web access to the resources: The IaaS model enables the IT users to access
infrastructure resources over the Internet.
 Centralized management: Even though the physical resources are distributed,
the management will be from a single place.
 Elasticity and dynamic scaling: IaaS provides elastic services where the usage
of resources can be increased or decreased according to the requirements.
 Shared infrastructure: IaaS follows a one-to-many delivery model and allows
multiple IT users to share the same physical infrastructure.
 Preconfigured VMs: IaaS providers offer preconfigured VMs with operating
systems (OSs), network configuration, etc.
 Metered services: IaaS allows the IT users to rent computing resources instead
of buying them.
 Suitability of IaaS
 IaaS can be used in the following situations:
 Unpredictable spikes in usage: When there is a significant spike in usage of
computing resources, IaaS is the best option for IT industries. When demand is
very volatile, we cannot predict the spikes and troughs in terms of demand of the
infrastructure. In this situation, we cannot add or remove infrastructure
immediately according to the demand in a traditional infrastructure. If there is an
unpredictable demand for infrastructure, then it is recommended to use IaaS
services.
 Limited capital investment: New start-up companies cannot invest more on
buying infrastructure for their business needs. And so, by using IaaS, start-up
companies can reduce the capital investment on hardware. IaaS is the suitable
option for start-up companies with less capital investment in hardware.
 Infrastructure on demand: Some organizations may require large infrastructure
for a short period of time. For this purpose, an organization cannot afford to buy
more on-premises resources. Instead, they can rent the required infrastructure for
 Advantages of IaaS:
 Pay-as-you-use model: The IaaS services are provided to the customers on a
pay-per-use basis. This ensures that the customers are required to pay for what
they have used. This model eliminates the unnecessary spending on buying
hardware.
 Reduced TCO (Total Cost of Ownership): Since IaaS providers allow the IT
users to rent the computing resources, they need not buy physical hardware for
running their business. The IT users can rent the IT infrastructure rather than buy
it by spending large amount. IaaS reduces the need for buying hardware
resources and thus reduces the TCO.
 Elastic resources: IaaS provides resources based on the current needs. IT users
can scale up or scale down the resources whenever they want. This dynamic
scaling is done automatically using some load balancers. This load balancer
transfers the additional resource request to the new server and improves
application efficiency.
 Better resource utilization: Resource utilization is the most important criteria to
 Drawbacks of IaaS
 Security issues: Since IaaS uses virtualization as the enabling technology,
hypervisors play an important role. There are many attacks that target the
hypervisors to compromise it. If hypervisors get compromised, then any VMs
can be attacked easily. Most of the IaaS providers are not able to provide 100%
security to the VMs and the data stored on the VMs.
 Interoperability issues: There are no common standards followed among the
different IaaS providers. It is very difficult to migrate any VM from one IaaS
provider to the other. Sometimes, the customers might face the vendor lock-in
problem.
 Performance issues: IaaS is nothing but the consolidation of available resources
from the distributed cloud servers. Here, all the distributed servers are connected
over the network. The latency of the network plays an important role in deciding
the performance. Because of latency issues, sometimes the VM contains issues
with its performance.
PaaS (Platform-as-a-Service):
 Platform-as-a-Service (PaaS) solutions provide a development and deployment
platform for running applications in the cloud.
 They constitute the middleware on top of which applications are built. PaaS
consumers or developers can consume language runtimes, application
frameworks, databases, message queues, testing tools, and deployment tools as a
service over the Internet.
 The implementation of PaaS involves 3 layers:
 The user interface layer: This layer allows programming and deploying
applications on the cloud. These can be in the form of a Web-based interface or in
the form of programming APIs and libraries. The user interface is responsible for
presenting the application's interface to users.
 The middleware layer: Application management is the core functionality of the
middleware. PaaS implementations provide applications with a runtime
environment and do not expose any service for managing the underlying
[Link] core middleware is in charge of managing the resources and
scaling applications on demand or automatically, according to the commitments
 The Physical infrastructure layer: There are two ways of using infrastructure:
 PaaS provides the tools or software to build the application and it provides the
infrastructure to run the application.
 PaaS provides the tools or software to build the application and the user must
install it on his premises. This is known as Pure PaaS.
 Categories of PaaS:
 The various PaaS solutions can be categorized into three types: PaaS-I, PaaS-II, and
PaaS-III.
 PaaS-I: These follow the full cloud computing approach. They provide a web-based
environment for creating and deploying applications. Example: [Link] and
Longjump, which offer both middleware and infrastructure.
 PaaS-II: These focus on scalable infrastructure for web applications, like websites.
Developers use the provider's APIs to build apps.
 Google AppEngine is a popular example, offering a scalable runtime for Java and
Python. AppScale is an open-source version of it. Joyent Smart Platform offers similar
features. Heroku and Engine Yard help with scalability for Ruby and Ruby on Rails-
based websites.
 PaaS-III: These solutions provide cloud programming platforms for various
applications, not just web apps.
 Microsoft Windows Azure is a well-known example, offering tools for building service-
oriented cloud applications using .NET technology. Other options in this category
include Manjrasoft Aneka, Apprenda SaaSGrid, Appistry Cloud IQ Platform,
 Characteristics of PaaS:
 Runtime Framework: This is like the software foundation of PaaS. It's what
runs your programs based on your settings.
 Abstraction: PaaS makes things simpler. Instead of dealing with just virtual
machines, it focuses on how applications work in the cloud.
 Automation: PaaS automatically does tasks like putting your application in the
cloud and adding more resources when needed, based on agreements between
users and providers.
 Cloud Services: PaaS offers tools and shortcuts for developers to make cloud
applications easily. These tools help create flexible and reliable cloud
applications. Different PaaS options have different tools and features.
 Suitability of PaaS
 Collaborative Development: When a project needs a place where developers
and others can work together efficiently, PaaS provides a collaborative
environment. It's great for projects where teamwork is essential.
 Automated Testing and Deployment: PaaS offers tools for automated testing
and deploying applications. This speeds up development by reducing the time
spent on manual testing. It's the right choice when you want to focus more on
building and less on testing and deploying.
 Quick Time to Market: PaaS follows development methods that get your
application to market fast. For example, it's perfect for agile development. If you
want your software out there as soon as possible, PaaS is the way to go.
 Advantages of PaaS
 Quick Development and Deployment: PaaS offers tools for developing, testing,
and deploying software in one place. It automates testing and deployment,
making it faster than traditional methods.
 Reduces Costs: PaaS eliminates the need to buy expensive development and
testing tools. It also doesn't require high-end infrastructure, reducing costs for
development companies.
 Supports Agile Development: Nowadays, most of the new generation
applications are developed using agile methodologies. PaaS supports agile
methodologies, which are popular for modern app development.
 Collaborative Work: PaaS allows teams from different places to collaborate on
projects using an online platform.
 Collaborative Work: PaaS allows teams from different places to collaborate on
projects using an online platform.
 User-Friendly: PaaS offers various tools like web interfaces and APIs, making it
easier for developers of all kinds to use.
 Less Maintenance: PaaS providers handle the underlying hardware and
maintenance, freeing developers from that responsibility.
 Scalability: PaaS provides built-in scalability for web and SaaS applications,
which can handle extra load without the need for additional servers.
 Drawbacks of PaaS
 Vendor Lock-in: One major drawback is that PaaS providers may lock you into their
services. This happens because there are no common standards among different
providers, and they often use technologies that are specific to them. This can make it
hard to switch between providers.
 Security Concerns: Security is a big concern in PaaS, as data is stored on third-party
servers. While many providers have security measures in place, some developers worry
about safety compared to on-premises solutions. It's important for developers to carefully
review the security policies of their chosen PaaS provider.
 Limited Flexibility: PaaS platforms may not allow developers to fully customize their
application stack. While they offer various programming languages and tools, they may
not cover all needs. Only a few PaaS providers allow extending tools with custom
languages.
 Internet Dependency: Using PaaS requires a stable internet connection. While some
providers allow offline access, most rely on being online. Slow internet can affect the
usability and efficiency of the platform.
SaaS (Software-as-a-Service):
 Software-as-a-Service (SaaS) is a software delivery model that provides access to
applications through the Internet as a Web-based service.
 Since SaaS is delivered as an on-demand service over the Internet, there is no need
to install the software to the end user’s devices.
 SaaS services can be accessed or disconnected at any time based on the end user’s
needs. SaaS services can be accessed from any lightweight web browsers on any
devices such as laptops, tablets, and smartphones.
 Characteristics of SaaS:
 One-to-many: A single instance of the application can be shared by multiple
tenants or customers
 Web access: It allows the end user to access the application from any location if
the device is connected to the Internet.
 Centralized management: Since SaaS services are hosted and managed from
the central location, management of the SaaS application becomes easier.
Normally, the SaaS providers will perform automatic updates that ensure that
each tenant is accessing the most recent version of the application without any
user-side updates.
 Multidevice support: SaaS services can be accessed from any end user devices
such as desktops, laptops, tablets and smartphones.
 Better scalability: Since most of the SaaS services leverage PaaS and IaaS for
its development and deployment, it ensures a better scalability than the
traditional software. The dynamic scaling of underlying cloud resources makes
SaaS applications work efficiently even with varying loads.
 High availability: SaaS services ensure the 99.99% availability of user data as
proper backup and recovery mechanisms are implemented at the back end.
 API integration: SaaS services have the capability of integrating with other
software or services through standard APIs.
 Suitability of SaaS:
 On-demand software: The licensing-based software model requires buying full
packaged software and increases the spending on buying software. If the end users are
looking for on demand software rather than the licensing-based full-term software, then
the SaaS model is the best option.
 Software for start-up companies: When using any traditional software, the end user
should buy devices with minimum requirements specified by the software vendor. This
increases the investment in buying hardware for start-up companies. Since SaaS services
do not require high-end infrastructure for accessing, it is a suitable option for start-up
companies that can reduce the initial expenditure on buying high-end hardware.
 Software compatible with multiple devices: Some of the applications like word
processors or mail services need better accessibility from different devices. The SaaS
applications are adaptable with almost all devices.
 Software with varying loads: We cannot predict the load on popular applications such
as social networking sites. The user may connect or disconnect from applications
anytime. It is very difficult to handle varying loads with the traditional infrastructure.
With the dynamic scaling capabilities, SaaS applications can handle varying loads
efficiently without disrupting the normal behavior of the application
 Advantages of SaaS
 No client-side installation: SaaS services do not require client-side installation of the
software. The end users can access the services directly from the service provider data center
without any installation. There is no need for high-end hardware to consume services. It can
be accessed from thin clients or any handheld devices, thus reducing the initial expenditure
on buying high-end hardware.
 Cost savings: Since SaaS services follow the utility-based billing or pay-as-you-go billing, it
demands the end users to pay for what they have used. Most of the SaaS providers offer
different subscription plans to benefit different customers. Sometimes, the generic SaaS
services such as word processors are given for free to the end users.
 Less maintenance: SaaS services eliminate the additional overhead of maintaining the
software from the client side. For example, in the traditional software, the end user is
responsible for performing bulk updates. But in SaaS, the service provider itself maintains the
automatic updates, monitoring, and other maintenance activities of the applications.
 Ease of access: SaaS services can be accessed from any device if it is connected to the
Internet. Accessibility of SaaS services is not restricted to any particular device. It is
adaptable to all the devices as it uses the responsive web UI.
 Dynamic scaling: SaaS services are popularly known for elastic dynamic
scaling. It is very difficult for on-premises software to provide dynamic scaling
capability as it requires additional hardware. Since the SaaS services leverage
elastic resources provided by cloud computing, it can handle any type of varying
loads without disrupting the normal behavior of the application.
 Disaster recovery: With proper backup and recovery mechanisms, replicas are
maintained for every SaaS service. The replicas are distributed across many
servers. If any server fails, the end user can access the SaaS from other servers. It
eliminates the problem of single point of failure. It also ensures the high
availability of the application.
 Multitenancy: Multitenancy is the ability given to the end users to share a single
instance of the application. Multitenancy increases resource utilization from the
service provider side.
 Drawbacks of SaaS
 Security: Security is the major concern in migrating to SaaS application. Since the
SaaS application is shared between many end users, there is a possibility of data
leakage. Here, the data is stored in the service provider data centre. The end user
should be careful while selecting the SaaS provider to avoid unnecessary data loss.
 Connectivity requirements: SaaS applications require Internet connectivity for
accessing it. Sometimes, the end user’s Internet connectivity might be very slow. In
such situations, the user cannot access the services with ease. The dependency on
high-speed Internet connection is a major problem in SaaS applications.
 Loss of control: Since the data is stored in a third-party and off premise location,
the end user does not have any control over the data. The degree of control over the
SaaS application and data is lesser than the on-premises application.
 Deployment Models
 Cloud Deployment Model functions as a virtual computing environment with a
deployment architecture that varies depending on the amount of data you want to
store and who has access to the infrastructure.
 The models for deploying and accessing cloud computing environments are
Public clouds
Private/enterprise clouds
Hybrid clouds
Community clouds
 Public clouds
 The public cloud makes it possible for anybody to access
systems and services. The public cloud may be less secure as
it is open to everyone.
 The public cloud is one in which cloud infrastructure
services are provided over the internet to the general people
or major industry groups.
 The infrastructure in this cloud model is owned by the entity
that delivers the cloud services, not by the consumer.
 It is a type of cloud hosting that allows customers and users
to easily access systems and services.
 This form of cloud computing is an excellent example of
cloud hosting, in which service providers supply services to a
variety of customers.
 In this arrangement, storage backup and retrieval services are
given for free, as a subscription, or on a per-user basis. For
example, Google App Engine etc.
Advantages of the Public Cloud Model
 Minimal Investment: Because it is a pay-per-use service, there is no substantial
upfront fee, making it excellent for enterprises that require immediate access to
resources.
 No setup cost: The entire infrastructure is fully subsidized by the cloud service
providers, thus there is no need to set up any hardware.
 Infrastructure Management is not required: Using the public cloud does not
necessitate infrastructure management.
 No maintenance: The maintenance work is done by the service provider (not
users).
 Dynamic Scalability: To fulfill your company’s needs, on-demand resources are
accessible
Disadvantages of the Public Cloud Model
 Data Security and Privacy Concerns - Since it is accessible to all, it does not
fully protect against cyber-attacks and could lead to vulnerabilities.
 Reliability Issues - Since the same server network is open to a wide range of users,
it can lead to malfunction and outages
 Service/License Limitation - While there are many resources you can exchange
with tenants, there is a usage cap.
 Private cloud
 The private cloud deployment model is the exact opposite
of the public cloud deployment model.
 It’s a one-on-one environment for a single user
(customer). There is no need to share your hardware with
anyone else.
 The distinction between private and public clouds is in
how you handle all of the hardware. It is also called the
“internal cloud” & it refers to the ability to access
systems and services within a given border or
organization.
 The cloud platform is implemented in a cloud-based
secure environment that is protected by powerful
firewalls and under the supervision of an organization’s
IT department.
 The private cloud gives greater flexibility of control over
cloud resources.
Advantages of the Private Cloud Model

 Better Control: You are the sole owner of the property. You gain complete
command over service integration, IT operations, policies, and user behavior.
 Data Security and Privacy: It’s suitable for storing corporate information to
which only authorized staff have access. By segmenting resources within the same
infrastructure, improved access and security can be achieved.
 Supports Legacy Systems: This approach is designed to work with legacy systems
that are unable to access the public cloud.
 Customization: Unlike a public cloud deployment, a private cloud allows a
company to tailor its solution to meet its specific needs.
Disadvantages of the Private Cloud Model
 Less scalable: Private clouds are scaled within a certain range as there is less
number of clients.
 Costly: Private clouds are more costly as they provide personalized facilities.
Hybrid Cloud
 By bridging the public and private worlds with a
layer of proprietary software, hybrid cloud
computing gives the best of both worlds.
 With a hybrid solution, you may host the app in a
safe environment while taking advantage of the
public cloud’s cost savings.
 Organizations can move data and applications
between different clouds using a combination of two
or more cloud deployment methods, depending on
their needs.
Advantages of the Hybrid Cloud Model
 Flexibility and control: Businesses with more flexibility can design personalized
solutions that meet their particular needs.
 Cost: Because public clouds provide scalability, you’ll only be responsible for
paying for the extra capacity if you require it.
 Security: Because data is properly separated, the chances of data theft by attackers
are considerably reduced.
Disadvantages of the Hybrid Cloud Model
Difficult to manage: Hybrid clouds are difficult to manage as it is a combination of
both public and private cloud. So, it is complex.
Slow data transmission: Data transmission in the hybrid cloud takes place through
the public cloud so latency occurs.
Community Cloud
 It allows systems and services to be accessible by a
group of organizations.
 It is a distributed system that is created by
integrating the services of different clouds to address
the specific needs of a community, industry, or
business.
 The infrastructure of the community could be shared
between the organization which has shared concerns
or tasks.
 It is generally managed by a third party or by the
combination of one or more organizations in the
community.
Disadvantages of the Community Cloud Model
 Limited Scalability: Community cloud is relatively less scalable as many
organizations share the same resources according to their collaborative interests.
 Rigid in customization: As the data and resources are shared among different
organizations according to their mutual interests if an organization wants some
changes according to their needs they cannot do so because it will have an impact
on other organizations.
Advantages of the Community Cloud Model
 Cost Effective: It is cost-effective because the cloud is shared by multiple
organizations or communities.
 Security: Community cloud provides better security.
 Shared resources: It allows you to share resources, infrastructure, etc. with
multiple organizations.
 Collaboration and data sharing: It is suitable for both collaboration and data
sharing.
Unit-2
Chapter-2
VIRTUALIZATION
 Virtualization is one of the hardware reducing, cost saving and energy saving
technology that is rapidly transforming the IT landscape and fundamentally
changing the way that people compute.
 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.
 The technology that works behind virtualization is known as a virtual machine
monitor (VM), or virtual manager which separates compute environments from the
actual physical infrastructure.
 Virtualization technologies have gained a renewed interested recently due to the
confluence of different phenomena
Increased performance and computing capacity : Modern desktop PCs, even
average ones, have sufficient power to handle everyday tasks while still having
unused resources. These PCs can run virtual machines efficiently. High-end systems,
like supercomputers, can manage hundreds or thousands of virtual machines
effectively due to their even greater capacity.
Underutilized hardware and software resources :Desktop PCs in many enterprises
are underutilized, with resources often going unused after work hours. Virtualization
can help maximize efficiency by creating separate environments for additional tasks
without impacting the primary use during business hours.
Lack of space: The growing demand for storage and computing power causes data
centers to expand rapidly. Companies like Google and Microsoft build massive data
centers to host thousands of nodes. Due to hardware underutilization, server
consolidation—which relies on virtualization—has become a key technique to
optimize resources.
Greening initiatives :Recently, companies are increasingly looking for ways to
reduce the amount of energy they consume and to reduce their carbon footprint. Data
centers are one of the major power consumers; they contribute consistently to the
impact that a company has on the environment. Virtualization technologies can
provide an efficient way of consolidating servers.
Rise of administrative costs :Administrative costs have risen as power and cooling
expenses now surpass the cost of IT equipment. The demand for more servers
increases these costs further. Virtualization helps reduce the number of servers needed
for a given workload, lowering administrative expenses.
Characteristics / Feature of Virtualization
In a virtualized environment, the guest interacts with a virtualized layer instead of the
host, which is the physical hardware or system. The virtualization layer recreates the
environment where the guest operates.
In hardware virtualization, the guest is a system image (OS and apps) running on
virtual hardware managed by the virtualization layer.
The host is the physical hardware or system running the virtual machine manager.
Virtual storage and networking follow similar concepts, where clients or users interact
with virtualized storage or network environments.
Characteristics / Feature of Virtualization
Virtualization reference model
Characteristics / Feature of Virtualization Solution
Increased Security – The ability to transparently control guest programs allows for a
secure execution environment. Guest operations are managed by the virtual machine,
which applies them to the host. The virtual machine manager can filter guest
activities, preventing harmful actions and protecting host resources. This increased
security is essential when dealing with untrusted code.
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. This basic feature is used to reduce the number of active
servers and limit power consumption.
 Aggregation –Virtualization enables both sharing and aggregation of resources.
Sharing allows multiple guests to use a single physical resource, while aggregation
combines several hosts into a single virtual host. This aggregation is managed by
cluster management software, which pools the resources of multiple machines to
present them as one unified resource.
 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.
 Isolation –Virtualization provides guests (like operating systems or applications)
with isolated environments to operate in. They interact with an abstraction layer
that manages access to the physical resources and can filter harmful actions.
Virtualization also enables performance tuning by allowing fine adjustments to
resource properties, supporting effective quality-of-service (QoS) management
thanks to advancements in hardware and software.
Portability: In virtualization means the ability to move and run software across
different environments. For hardware virtualization, the guest is packaged into a
virtual image that can be transferred between virtual machines. In programming-level
virtualization, like JVM or .NET, application code (e.g., jars or assemblies) can run on
any compatible virtual machine without needing to be recompiled.
 Types of Virtualizations
Hardware Virtualization:Hardware virtualization creates an abstract hardware
environment that allows a guest operating system to run on physical hardware. The
host is the physical machine, the guest is the OS, and the virtual machine is an
emulation managed by a hypervisor. The hypervisor abstracts hardware, enabling
virtual machines to access the system’s ISA. This type of virtualization is also called
system virtualization, distinct from process virtual machines that expose ABI to
virtual machines.
 Hypervisors
A fundamental element of hardware virtualization is the hypervisor, or virtual
machine manager (VMM). It recreates a hardware environment in which guest
operating systems are installed. There are two major types of hypervisors: Type I and
Type II
 Type I hypervisors run directly on top of the hardware. Therefore, they take the
place of the operating systems and interact directly with the ISA(Instruction Set
Architecture) interface exposed by the underlying hardware, and they emulate this
interface in order to allow the management of guest operating systems. This type of
hypervisor is also called a native virtual machine since it runs natively on hardware
 Type II hypervisors require the support of an operating system to provide
virtualization services. This means that they are programs managed by the
operating system, which interact with it through the ABI and emulate the ISA of
virtual hardware for guest operating systems. This type of hypervisor is also called
a hosted virtual machine since it is hosted within an operating system
 In hardware virtualization, three main modules work together: the dispatcher,
allocator, and interpreter. The dispatcher acts as the entry point, rerouting VM
instructions to either the allocator or interpreter. The allocator manages system
resources for the VM, triggered when a VM instruction alters resources. The
interpreter handles privileged instructions by executing routines when a trap is
triggered.
 Three properties have to be satisfied:
Equivalence: A guest running under the control of a virtual machine manager should
exhibit the same behaviour as when it is executed directly on the physical host.
Resource control: The virtual machine manager should be incomplete control of
virtualized resources.
Efficiency: A statistically dominant fraction of the machine instructions should be
executed without the intervention from the virtual machine manager.
 Popek and Goldberg proposed three theorems to define the properties of hardware
instructions for efficient virtualization:
 Theorem 1: A VMM can be created if the sensitive instructions of the system are a
subset of the privileged instructions.
 Theorem 2: A system is recursively virtualizable if it is virtualizable and a VMM
without timing dependencies can be built.
 Theorem 3: A hybrid VMM can be built for any conventional third-generation
computer.
Server Virtualization Application server virtualization abstracts a collection of
application servers that provide the same services as a single virtual application server
by using load-balancing strategies and providing a high-availability infrastructure for
the services hosted in the application server. This is a particular form of virtualization
and serves the same purpose of storage virtualization: providing a better quality of
service rather than emulating a different environment.
Application Virtualization Application virtualization allows applications to run in
environments that don't fully support them. It focuses on emulating parts of the file
system, libraries, and operating system components. A thin layer, like a program or
OS component, manages the application's execution. This emulation can also run
programs made for different hardware types. In this case, one of the following
strategies can be implemented:
 Interpretation:Interpretation is a technique where every source instruction is
emulated to execute native ISA instructions. While it has minimal startup cost, it
results in poor performance due to the high overhead of emulating each instruction.
 Binary translation: it converts each source instruction into equivalent native
instructions. Once a block is translated, it's cached for reuse. Although it has a high
initial overhead, performance improves over time as cached blocks are executed
directly. Wine, a popular solution for application virtualization, enables Unix-like
systems to run Windows programs. It includes a container for guest applications
and Wine lib, a library for developers to port applications to Unix systems.
Storage virtualization :it is a system administration method that separates physical
hardware from its logical representation. This allows users to access data via a logical
path without needing to know its physical location. One common technique is
network-based virtualization through storage area networks (SANs), which provide
storage over a high-bandwidth network connection.
Operating system virtualization
 Operating system virtualization creates separate environments for applications
running concurrently. It doesn't use a virtual machine manager or hypervisor.
Instead, the OS kernel provides multiple isolated user spaces and manages system
resources.
 This technique evolved from Unix's chroot, which isolates processes by changing
their root directory. In Unix, devices are part of the file system, allowing complete
process isolation.
 Compared to hardware virtualization, OS-level virtualization has minimal
overhead. Applications directly use OS system calls without emulation, and no
modifications to hardware or software are needed. However, all instances must
share the same OS, reducing flexibility.
 This method is efficient for server consolidation, where multiple servers using the
same technology run on one physical machine in isolated spaces. Examples include
FreeBSD Jails, IBM LPAR, Solaris Zones, and OpenVZ.
Virtualization and cloud computing
 Virtualization is key in cloud computing, offering customization, security, isolation,
and manageability for on-demand IT services. It provides configurable computing
environments and storage. Hardware virtualization powers Infrastructure-as-a-
Service (IaaS), while programming language virtualization supports Platform-as-a-
Service (PaaS).
 Virtualization creates isolated environments that can share the same resources
without interference. If resources are sufficient, this sharing is seamless. Server
consolidation reduces active resources by hosting multiple virtual machines on
fewer physical ones. Virtual machine migration, or live migration, moves instances
without disrupting their operation, though it is more complex to implement.
 Server consolidation and virtual machine migration are primarily used in hardware
virtualization, though they are technically possible in programming language
virtualization. Storage virtualization is another key aspect, often complementing
execution virtualization and offering additional flexibility and efficiency.
Pros and cons of virtualization
 Pros of Virtualization in Cloud Computing :
Utilization of Hardware Efficiently: Virtualization optimizes hardware use, reducing
physical systems and costs, while eliminating the need for companies to maintain their
own servers.
Availability increases with Virtualization:Virtualization improves availability by
enabling seamless server migration, safeguarding data, and allowing access from any
location or device.
Disaster Recovery is efficient and easy: Virtualization simplifies data recovery and
backup with real-time capabilities, ensuring minimal to zero data loss, unlike
traditional methods.
Virtualization saves Energy: Virtualization reduces the need for physical servers,
lowering power and cooling costs, saving money, and decreasing carbon emissions for
a cleaner environment.
Quick and Easy Set up –Traditional system setups are time-consuming, involving
purchasing, shipping, and installation. Virtualization streamlines the process, enabling
faster setups and boosting productivity.
Cloud Migration becomes easy: Cloud migration simplifies the shift from existing
servers, offering a cost-effective solution that reduces expenses on maintenance,
power, cooling, and staff.
Cons of Virtualization :
 Data can be at Risk – Using virtual instances on shared resources exposes data to
vulnerabilities, making it susceptible to hacking and unauthorized access. Without
proper security solutions, data remains at risk.
 Learning New Infrastructure – As organizations transition to the cloud, they need
skilled IT staff, leading to increased costs for hiring or training employees.
 High Initial Investment – While virtualization can reduce costs, cloud services
often require high initial investments. Unskilled organizations may purchase
unnecessary services, leading to wasted expenses.
Technology examples
Xen: paravirtualization:
 Xen is an open-source virtualization platform based on paravirtualization,
developed at the University of Cambridge. It has strong community support and is
offered commercially as Xen Source by Citrix, used for desktop and server
virtualization, as well as cloud computing via the Xen Cloud Platform (XCP).
 The Xen Hypervisor is the core technology for Xen solutions, known for its high-
performance paravirtualization. Unlike full virtualization, it modifies portions of
guest operating systems to efficiently handle special instructions, making it less
transparent.
 A Xen-based system is managed by the Xen hypervisor, which controls guest OS
access to hardware. Guest OSes run in domains, with Domain 0 having privileged
access to manage other guest OSes and hosting an HTTP server for virtual machine
management.
VMware: full virtualization:
 VMware uses full virtualization, replicating hardware for the guest OS, which runs
without modifications. It employs Type II hypervisors for desktops and Type I for
servers, achieving virtualization through direct execution and binary translation on
x86 architecture.
 The key advantage is that guest OSes can run unmodified, essential for systems like
Windows where source code isn't available. Binary translation provides portability
with some runtime overhead, as only certain instructions are translated, while
others are executed directly on hardware.
 VMware has expanded to virtualize hardware, infrastructure, applications, and
services for cloud computing. It includes device emulations and VMware Tools for
better guest-host integration. VMware also helped develop the vendor-independent
Virtual Machine Interface (VMI) for a host-agnostic paravirtualization approach.
Microsoft Hyper-V:
Hyper-V is an infrastructure virtualization solution developed by Microsoft for server
virtualization. As the name recalls, it uses a hypervisor-based approach to hardware
virtualization, which leverages several techniques to support a variety of guest
operating systems.
Architecture:
 Architecture:
 Hyper-V supports the concurrent execution of multiple guest operating systems
through partitions. A partition is an isolated environment where an OS is installed
and runs. Hyper-V controls the hardware, and the host OS becomes a virtual
machine with special privileges, known as the parent or root partition.
 The parent partition has direct hardware access and runs the virtualization stack. It
also hosts drivers needed for guest OSes and creates child partitions via the
hypervisor. Child partitions host guest OSes but lack direct hardware access. Their
interaction with the hardware is managed by the parent partition or the hypervisor.
 It is logically defined by the following components:
 Hypercalls interface: This is the entry point for all the partitions for the execution
of sensitive instructions. This interface is used by drivers in the partitioned
operating system to contact the hypervisor using the standard Windows calling
convention. The parent partition also uses this interface to create child partitions.
 Memory service routines (MSRs): These are the set of functionalities that control
the memory and its access from partitions. By leveraging hardware-assisted
virtualization, the hypervisor uses the Input/Output Memory Management Unit to
fast-track access to devices from partitions by translating virtual memory addresses
 Advanced programmable interrupt controller (APIC): This component
represents the interrupt controller, which manages the signals coming from the
underlying hardware when some event occurs. The hypervisor is responsible of
dispatching, when appropriate, the physical interrupts to the synthetic interrupt
controllers.
 Scheduler: This component schedules the virtual processors to run on available
physical processors. The scheduling is controlled by policies that are set by the
parent partition.
 Address manager. This component is used to manage the virtual network
addresses that are allocated to each guest operating system.
 Partition manager: This component is in charge of performing partition creation,
finalization, destruction, enumeration, and configurations. Its services are available
through the hyper calls interface API previously discussed
 Cloud computing and infrastructure management: Hyper-V is the core of
Microsoft's virtualization platform. Windows Server Core in Windows Server
2008 improves virtual environment performance. System Centre Virtual Machine
Manager (SCVMM) 2008, part of Microsoft System Center, offers advanced
virtual machine management and integrates virtual infrastructure into the IT
lifecycle.
 Observations: The hypervisor uses paravirtualization with hypercalls for guest
OS services and VMBus for fast I/O. Xen installs on hardware, while Hyper-V
installs as a system role, supporting flexible virtualization but facing hardware and
software limitations.

You might also like