0% found this document useful (0 votes)
47 views

Cloud Computing Virtualization

Virtualization allows a single physical computer to be divided into multiple virtual machines (VMs), with each VM able to run its own operating system. This enables more efficient use of hardware resources and greater return on hardware investments. A hypervisor is a thin layer of software that supports virtualization by enabling multiple operating systems to run on the same physical machine simultaneously in isolated VMs. There are two main types of hypervisors: type 1 hypervisors run directly on hardware while type 2 hypervisors run within a conventional operating system. VMware ESXi is a popular type 1 hypervisor that installs directly onto physical servers to partition hardware resources among VMs.

Uploaded by

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

Cloud Computing Virtualization

Virtualization allows a single physical computer to be divided into multiple virtual machines (VMs), with each VM able to run its own operating system. This enables more efficient use of hardware resources and greater return on hardware investments. A hypervisor is a thin layer of software that supports virtualization by enabling multiple operating systems to run on the same physical machine simultaneously in isolated VMs. There are two main types of hypervisors: type 1 hypervisors run directly on hardware while type 2 hypervisors run within a conventional operating system. VMware ESXi is a popular type 1 hypervisor that installs directly onto physical servers to partition hardware resources among VMs.

Uploaded by

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

Unit 3

Virtualization:
It is a technique, where we can use Single Physical Instance into multiple customers by
creating multiple Virtual Machines. Simply we can say “In a single Physical Instance, we
can create many Virtual Machines.”
Virtualization uses software to create an abstraction layer over computer hardware that
allows the hardware elements of a single computer—processors, memory, storage and
more—to be divided into multiple virtual computers, commonly called virtual machines
(VMs). Each VM runs its own operating system (OS) and behaves like an independent
computer, even though it is running on just a portion of the actual underlying computer
hardware.
It follows that virtualization enables more efficient utilization of physical computer
hardware and allows a greater return on an organization’s hardware investment.

Key Properties of Virtualization


VMs have the following characteristics, which offer several benefits.
Partitioning

● Run multiple operating systems on one physical machine.

● Divide system resources between virtual machines.

Isolation

● Provide fault and security isolation at the hardware level.

● Preserve performance with advanced resource controls.


Encapsulation

● Save the entire state of a virtual machine to files.

● Move and copy virtual machines as easily as moving and copying files.

Hardware Independence

● Provision or migrate any virtual machine to any physical server.

Hypervisors
Cloud computing wouldn’t be possible without virtualization. Virtualization wouldn’t be
possible without the hypervisor. This thin layer of software supports the entire cloud
ecosystem.
Before hypervisors hit the mainstream, most physical computers could only run one
operating system (OS) at a time. This made them stable because the computing
hardware only had to handle requests from that one OS. The downside of this approach
was that it wasted resources because the operating system couldn’t always use all of the
computer’s power.
A hypervisor solves that problem. It is a small software layer that enables multiple
operating systems to run alongside each other, sharing the same physical computing
resources. These operating systems come as virtual machines (VMs)—files that mimic an
entire computing hardware environment in software.
The hypervisor, also known as a virtual machine monitor (VMM), manages these VMs as
they run alongside each other. It separates VMs from each other logically, assigning
each its own slice of the underlying computing power, memory, and storage. This
prevents the VMs from interfering with each other; so if, for example, one OS suffers a
crash or a security compromise, the others survive.
Characteristics of Hypervisors
There are different categories of hypervisors and different brands of hypervisors within
each category. The market has matured to make hypervisors a commodity product in
the enterprise space, but there are still differentiating factors that should guide your
choice. Here’s what to look for:
● Performance: Look for benchmark data that show how well the hypervisor
performs in a production environment. Ideally, bare-metal hypervisors should
support guest OS performance close to native speeds.

● Ecosystem: You will need good documentation and technical support to


implement and manage hypervisors across multiple physical servers at scale.
Also, look for a healthy community of third-party developers that can support the
hypervisor with their own agents and plugins that offer capabilities, such as
backup and restore capacity analysis and fail-over management.

● Management tools: Running VMs isn’t the only thing you must manage when
using a hypervisor. You must provision the VMs, maintain them, audit them, and
clean up disused ones to prevent "VM sprawl." Ensure that the vendor or third-
party community supports the hypervisor architecture with comprehensive
management tools. (Note: VM sprawl, also known as virtualization sprawl,
happens when an administrator can no longer effectively control and manage all
the virtual machines on a network).

● Live migration: This enables you to move VMs between hypervisors on different
physical machines without stopping them, which can be useful for both fail-over
and workload balancing.

● Cost: Consider the cost and fee structure involved in licensing hypervisor
technology. Don’t just think about the cost of the hypervisor itself. The
management software that makes it scalable to support an enterprise
environment can often be expensive. Lastly, examine the vendor’s licensing
structure, which may change depending on whether you deploy it in the cloud or
locally.
There are two types of hypervisors:

● A Type 1 hypervisor runs directly on the underlying computer’s physical


hardware, interacting directly with its CPU, memory, and physical storage. For
this reason, Type 1 hypervisors are also referred to as bare-metal hypervisors. A
Type 1 hypervisor takes the place of the host operating system. Eg: ESXi
● A Type 2 hypervisor doesn’t run directly on the underlying hardware. Instead, it
runs as an application in an OS. Type 2 hypervisors rarely show up in server-based
environments. Instead, they’re suitable for individual PC users needing to run
multiple operating systems. Examples include engineers, security professionals
analyzing malware, and business users that need access to applications only
available on other software platforms.
Type 2 hypervisors often feature additional toolkits for users to install into the
guest OS. These tools provide enhanced connections between the guest and the
host OS, often enabling the user to cut and paste between the two or access host
OS files and folders from within the guest VM. Eg: Vitualbox

VMware ESXi: The Purpose-Built Bare Metal Hypervisor (Type 1 Hypervisor)


Discover a robust, bare-metal hypervisor that installs directly onto your physical server.
With direct access to and control of underlying resources, VMware ESXi effectively
partitions hardware to consolidate applications and cut costs. It’s the industry leader for
efficient architecture, setting the standard for reliability, performance, and support.
What ESXi Delivers
IT teams are under constant pressure to meet fluctuating market trends and heightened
customer demands. At the same time, they must stretch IT resources to accommodate
increasingly complex projects. Fortunately, ESXi formerly known as ESX helps balance
the need for both better business outcomes and IT savings. VMware ESXi enables you
to:

● Consolidate hardware for higher capacity utilization.

● Increase performance for a competitive edge.

● Streamline IT administration through centralized management.

● Reduce CapEx(capital expenditure) and OpEx(Operational Expenditure).

● Minimize hardware resources needed to run the hypervisor, meaning greater


efficiency.
FEATURES
By consolidating multiple servers onto fewer physical devices, ESXi reduces space,
power and IT administrative requirements while driving high-speed performance.
Small Footprint
With a footprint of just 150MB, ESXi lets you do more with less while minimizing
security threats to your hypervisor.
Reliable Performance
Accommodate apps of any size. Configure virtual machines up to 128 virtual
CPUs, 6 TB of RAM and 120 devices to satisfy all your application needs. Consult
individual solution limits to ensure you do not exceed supported configurations
for your environment. Learn more about configuration maximums.
Enhanced Security
Protect sensitive virtual machine data with powerful encryption capabilities.
Role-based access simplifies administration, and extensive logging and auditing
ensure greater accountability and easier forensic analysis.
Ecosystem Excellence
Get support for a broad ecosystem of hardware OEM (Original Equipment
Manufacturers) vendors, technology service partners, apps, and guest operating
systems.
User-Friendly Experience
Manage day-to-day administrative operations with built-in modern UI based on
HTML5 standards. For customers who need to automate their operations,
VMware offers both a vSphere Command Line Interface and developer-friendly
REST-based APIs.
Note: VirtualBox is Type 2 Hypervisor running in our Linux, Windows OS.
Virtual Machine
A Virtual Machine (VM) is a compute resource that uses software instead of a physical
computer to run programs and deploy apps. One or more virtual “guest” machines run
on a physical “host” machine. Each virtual machine runs its own operating system and
functions separately from the other VMs, even when they are all running on the same
host. This means that, for example, a virtual MacOS virtual machine can run on a
physical PC.

A VM is a virtualized instance of a computer that can perform almost all of the same
functions as a computer, including running applications and operating systems.

Virtual machine technology is used for many use cases across on-premises and cloud
environments. More recently, public cloud services are using virtual machines to
provide virtual application resources to multiple users at once, for even more cost
efficient and flexible compute.
VM and Cloud Computing
VMs are the basic building blocks of virtualized computing resources and play a primary
role in creating any application, tool, or environment—for virtual machines online and
on-premises. Here are a few of the more common enterprise functions of virtual
machines:
Consolidate servers
VMs can be set up as servers that host other VMs, which lets organizations
reduce sprawl by concentrating more resources onto a single physical machine.
Create development and test environments
VMs can serve as isolated environments for testing and development that include
full functionality but have no impact on the surrounding infrastructure.
Support DevOps
VMs can easily be turned off or on, migrated, and adapted, providing maximum
flexibility for development.
Enable workload migration
The flexibility and portability that VMs provide are key to increasing the velocity
of migration initiatives.
Improve disaster recovery and business continuity
Replicating systems in cloud environments using VMs can provide an extra layer
of security and certainty. Cloud environments can also be continuously updated.
Create a hybrid environment
VMs provide the foundation for creating a cloud environment alongside an on-
premises one, bringing flexibility without abandoning legacy systems.
Advantages of virtual machines

● VMs can run multiple operating system environments on a single physical


computer, saving physical space, time and management costs.

● Virtual machines support legacy applications, reducing the cost of migrating to a


new operating system. For example, a Linux virtual machine running a
distribution of Linux as the guest operating system can exist on a host server that
is running a non-Linux operating system, such as Windows.

● VMs can also provide integrated disaster recovery and application provisioning
options.

Disadvantages of virtual machines


● Running multiple virtual machines on one physical machine can result in unstable
performance if infrastructure requirements are not met.

● Virtual machines are less efficient and run slower than a full physical computer.
Most enterprises use a combination of physical and virtual infrastructure to
balance the corresponding advantages and disadvantages.

Types of virtualization
To this point we’ve discussed server virtualization, but many other IT infrastructure
elements can be virtualized to deliver significant advantages to IT managers (in
particular) and the enterprise as a whole. In this section, we'll cover the following types
of virtualization:
• Desktop virtualization
• Network virtualization
• Storage virtualization
• Data virtualization
• Application virtualization
• Server Virtualization
• Full
• Para
• OS Level
Desktop virtualization
Desktop virtualization lets you run multiple desktop operating systems, each in its own
VM on the same computer.
There are two types of desktop virtualization:
Virtual desktop infrastructure (VDI) runs multiple desktops in VMs on a central server
and streams them to users who log in on thin client devices. In this way, VDI lets an
organization provide its users access to a variety of OS's from any device, without
installing OS on any device.
Local desktop virtualization runs a hypervisor on a local computer, enabling the user to
run one or more additional OS on that computer and switch from one OS to another as
needed without changing anything about the primary OS.
Network virtualization
Network virtualization uses software to create a “view” of the network that an
administrator can use to manage the network from a single console. It abstracts
hardware elements and functions (e.g., connections, switches, routers, etc.) and
abstracts them into software running on a hypervisor. The network administrator can
modify and control these elements without touching the underlying physical
components, which dramatically simplifies network management.
Types of network virtualization include software-defined networking (SDN), which
virtualizes hardware that controls network traffic routing (called the “control plane”),
and network function virtualization (NFV), which virtualizes one or more hardware
appliances that provide a specific network function (e.g., a firewall, load balancer, or
traffic analyzer), making those appliances easier to configure, provision, and manage.
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.
Storage virtualization
Storage virtualization enables all the storage devices on the network— whether they’re
installed on individual servers or standalone storage units—to be accessed and
managed as a single storage device. Specifically, storage virtualization masses all blocks
of storage into a single shared pool from which they can be assigned to any VM on the
network as needed. Storage virtualization makes it easier to provision storage for VMs
and makes maximum use of all available storage on the network.
Storage virtualization is the process of grouping the physical storage from multiple
network storage devices so that it looks like a single storage device.

Data virtualization
Modern enterprises store data from multiple applications, using multiple file formats, in
multiple locations, ranging from the cloud to on-premise hardware and software
systems. Data virtualization lets any application access all of that data—irrespective of
source, format, or location.
Data virtualization tools create a software layer between the applications accessing the
data and the systems storing it. The layer translates an application’s data request or
query as needed and returns results that can span multiple systems. Data virtualization
can help break down data silos when other types of integration aren’t feasible,
desirable, or affordable.
Application virtualization
Application virtualization runs application software without installing it directly on the
user’s OS. This differs from complete desktop virtualization (mentioned above) because
only the application runs in a virtual environment—the OS on the end user’s device runs
as usual. There are three types of application virtualization:
• Local application virtualization: The entire application runs on the endpoint device
but runs in a runtime environment instead of on the native hardware.
• Application streaming: The application lives on a server which sends small
components of the software to run on the end user's device when needed.
• Server-based application virtualization: The application runs entirely on a server that
sends only its user interface to the client device.
Server Virtualization:
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.
Three Kinds of Server Virtualization:
• Full Virtualization: Full virtualization uses a hypervisor, a type of software that directly
communicates with a physical server's disk space and CPU. The hypervisor monitors
the physical server's resources and keeps each virtual server independent and
unaware of the other virtual servers. It also relays resources from the physical server
to the correct virtual server as it runs applications. The biggest limitation of using full
virtualization is that a hypervisor has its own processing needs. This can slow down
applications and impact server performance.
• Para-Virtualization: Unlike full virtualization, para-virtualization involves the entire
network working together as a cohesive unit. Since each operating system on the
virtual servers is aware of one another in para-virtualization, the hypervisor does not
need to use as much processing power to manage the operating systems.
• OS-Level Virtualization: Unlike full and para-virtualization, OS-level visualization does
not use a hypervisor. Instead, the virtualization capability, which is part of the physical
server operating system, performs all the tasks of a hypervisor. However, all the
virtual servers must run that same operating system in this server virtualization
method.
Implementation Levels of Virtualization In Cloud Computing
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. This is used to run many legacy codes
written for a different hardware configuration. These codes run on any virtual machine
using the ISA. With this, a binary code that originally needed some additional layers to
run is now capable of running on the x86 machines. It can also be tweaked to run on the
x64 machine. With ISA, it is possible to make the virtual machine hardware agnostic.
For the basic emulation, an interpreter is needed, which interprets the source code and
then converts it into a hardware format that can be read. This then allows processing.
This is one of the five implementation levels of virtualization in Cloud Computing..
2) Hardware Abstraction Level (HAL)
True to its name HAL lets the virtualization perform at the level of the hardware. This
makes use of a hypervisor which is used for functioning. The virtual machine is formed
at this level, which manages the hardware using the virtualization process. It allows the
virtualization of each of the hardware components, which could be the input-output
device, the memory, the processor, etc.
Multiple users will not be able to use the same hardware and also use multiple
virtualization instances at the very same time. This is mostly used in the cloud-based
infrastructure.
3) Operating System Level
At the level of the operating system, the virtualization model is capable of creating a
layer that is abstract between the operating system and the application. This is an
isolated container on the operating system and the physical server, which uses the
software and hardware. Each of these then functions in the form of a server.
When there are several users and no one wants to share the hardware, then this is
where the virtualization level is used. Every user will get his virtual environment using a
dedicated virtual hardware resource. In this way, there is no question of any conflict.
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.

Containerization:
What are containers?
Containers are a lighter-weight, more agile way of handling virtualization — since they
don't use a hypervisor, you can enjoy faster resource provisioning and speedier
availability of new applications.
Rather than spinning up an entire virtual machine, containerization packages together
everything needed to run a single application or microservice (along with runtime
libraries they need to run). The container includes all the code, its dependencies and
even the operating system itself. This enables applications to run almost anywhere — a
desktop computer, a traditional IT infrastructure or the cloud.
Containers use a form of operating system (OS) virtualization. Put simply, they leverage
features of the host operating system to isolate processes and control the processes’
access to CPUs, memory and desk space.
Just like virtual machines, containers allow developers to improve CPU and memory
utilization of physical machines. Containers go even further, however, because they also
enable microservice architectures, where application components can be deployed and
scaled more granularly. This is an attractive alternative to having to scale up an entire
monolithic application because a single component is struggling with load.
Why Containers?
While there are still many reasons to use VMs, containers provide a level of flexibility
and portability that is perfect for the multicloud world. When developers create new
applications, they might not know all of the places it will need to be deployed. Today, an
organization might run the application on its private cloud, but tomorrow it might need
to deploy it on a public cloud from a different provider. Containerizing applications
provides teams the flexibility they need to handle the many software environments of
modern IT.
Containers are also ideal for automation and DevOps pipelines, including continuous
integration and continuous deployment (CI/CD) implementation.
Benefits:
1) Portability
By abstracting applications away from the host Operating System, a container
environment makes applications run smoothly on any platform or cloud. The OS
consolidation method also avoids the occurrence of integration and other
inconsistencies that might obstruct the app functionality. Thus, applications are highly
portable and effective when run across different servers.
2) Scalability
Containers technology offers higher application scalability. With a service-oriented
application design, a container application holds the ability to handle increasing
workloads. This can be achieved by reconfiguring the existing architecture to allow
additional resources or by adding more containers within the cluster of distributed
machines.
A container environment allows you to add new functions, features and updates
instantly without affecting the original application. This way, containers allow
application scalability with minimum resource usage.
3) Faster Deployment
Containers are termed ‘lightweight’ because of their ability to speed up the application
configuration and deployment processes. A Docker container can create a master
version of an image (main application) that can be deployed quickly on demand.
A container environment ensures higher flexibility in creating multiple new
containerized instances of an application as and when needed on-demand.
4) High Productivity
Containers are known for their abilities to facilitate a rapid development environment to
generate more applications. Since portable applications use the platform’s source code
to run, containers allow developers to change and track the changes in the platform’s
source code, thus enhancing productivity.
By reducing the dependency on the main server or OS resources, they simplify and save
time while installing applications on different platforms.
5) Enhanced Security
Since applications run independently in separate containers, each of them will have
their level of security. This feature of app isolation helps share additional features
without any risk factor. If you are working with the development team outside your
network, all you need to do is just share the required resources without any critical
information within your network.
6) Continuity
Since different containers run independently, failure of one will not have an impact on
the continuity of others. Developers will have the flexibility to rectify errors in the
identified container, without causing downtime of other containers. Thus, containers
ensure continuity in operations.
7) Easy Management
Container orchestration tools take care of application management, automating
installation, scaling and management of containerization workloads. They perform
logging, debugging, version updates and more related to containerized apps.
Kubernetes is one most popular container orchestration tool.
Containers vs VM:
Containers and VMs are very similar resource virtualization technologies. Virtualization
is the process in which a system singular resource like RAM, CPU, Disk, or Networking
can be ‘virtualized’ and represented as multiple resources. The key differentiator
between containers and VMs is that VMs virtualize an entire machine down to the
hardware layers and containers only virtualize software layers above the operating
system level.

Virtual Machine consumes a lot of Hardware resources but Container doesn’t as it only
virtualizes the Software Layer on OS.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy