Professional Documents
Culture Documents
Provides Isolated and Customizable Environments
Provides Isolated and Customizable Environments
Provides Isolated and Customizable Environments
Provides isolated and customizable environments, running multiple operating systems on a single machine but sharing all the
hardware resources
Virtualization in Cloud Computing
Virtualization confers on cloud computing the necessary degree of customization, control, and flexibility for building
production and enterprise systems.
Virtualization is the process of creating a virtual instance of a device, such as a virtual server or virtual operating system.
Virtualization is essentially a technology that allows creation of different computing environments. "creation of a virtual
version of resources such as a server, a desktop, a storage device, an operating system or network resources".
These environments are called virtual because they simulate the interface that is expected by a guest.
Virtualization 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.
Virtualization technologies are also used to replicate run time environments for programs.
The concept behind the Virtualization
Creation of a virtual machine over existing operating system and hardware is known as Hardware
Virtualization.
Plays a fundamental role in cloud computing. A Virtual machine provides an environment that is
logically separated from the underlying hardware.
The machine on which the virtual machine is going to create is known as Host Machine and that
virtual machine is referred as a Guest Machine
Cloud Computing in collaboration with Virtualization ensures that the modern-day enterprise gets a
more cost-efficient way to run multiple operating systems using one dedicated resource
Features of Virtualization
• Partitioning: Multiple virtual servers can run on a physical server at the same time.
• Encapsulation of data: All data on the virtual server, including boot disks, is encapsulated in a
file format.
• Isolation: The Virtual server running on the physical server is safely separated and don't affect
each other.
• Hardware Independence: When the virtual server runs, it can migrate to a different hardware
platform.
Types of Virtualization
1. Hardware Virtualization
3. Server Virtualization
4. Storage Virtualization
Hardware Virtualization
Virtualization means creating a virtual platform of something, which will include virtual computer hardware, virtual
storage devices, and virtual computer network. In hardware virtualization, software called hypervisor is used
Hardware virtualization, sometimes called platform or server virtualization, is executed on a particular hardware
platform by host software.
Essentially, it hides the physical hardware. The host software that is actually a control program is called a hypervisor
The virtual machine software or virtual machine manager (VMM) is directly installed on the hardware system
Install different operating system and run different applications on OS after virtualization of hardware system
Division of the physical server into multiple virtual servers for efficient utilization of server
resources.
Virtualization of the servers hides or masks server resources such as processor, operating
system, memory and presents users as a private virtual server.
Example – Xen Hypervisor by AWS, VMware vSphere suite by VMware, Hyper-V by Microsoft -
Hypervisors for server virtualization.
Amazon EC2 relies on Xen Virtualization for launching all of its
instances. Every physical machine has a hypervisor running on it. A Xen
hypervisor allows multiple instances to share a single hardware platform
Mainly done for the server platforms, controlling virtual machines is much easier than controlling a
physical server
A virtualization program is called a hypervisor, which can virtualize desktops, applications, network
components, and storage. Hypervisors can either be installed directly on the hardware, or work as a
layer installed on the operating system between the hardware and the virtual machine.
The main job of hypervisor is to control and monitoring the processor, memory and other hardware
resources
This is the base technology that enables cloud computing solutions to deliver virtual servers on
demand, such as Amazon EC2, RightScale , Vmware vCloud etc..
Operating System Virtualization
The virtual machine software or virtual machine manager (VMM) is installed on the
Host operating system instead of directly on the hardware system is known as
operating system virtualization.
It is the core that provides basic services for all other parts of the OS. It is the main layer between
the OS and hardware, and it helps with process and memory management, file systems, device
control and networking
It is responsible for managing all the processes, memory, files, etc. The Kernel functions at the
lowest level of the Operating System
The kernel connects the system hardware to the application software. Every operating system has
a kernel. Ex: Linux kernel is used numerous operating systems including Linux, FreeBSD,
Android and others
Operating System virtualization
Division of OS: The core of the Operating System, the kernel resources get shared
and allow isolated instances of namespaces to exist with dedicated resources to run
different applications. These instances are called containers.
Different flavours of Operating Systems, which share the kernel resources of the
host, can be run on that host machine with applications running inside them as a
container, and this is called an Operating System Virtualization.
Operating System virtualization
2. These are autonomous platforms as they share the host operating system’s
storage and have their software and libraries of dependence within them.
Containers make it easy to share CPU, memory, storage, and network resources at
the operating systems level and offer a logical packaging mechanism in which
applications can be abstracted from the environment in which they actually run.
Containers vs. VMs
VMs: a guest operating system such as Linux or Windows runs on top of a host operating system with access to
the underlying hardware.
Like virtual machines, containers allow you to package your application together with libraries and other
dependencies, providing isolated environments for running your software services.
Containers offer a far more lightweight unit for developers and IT Ops teams to work with, carrying a myriad of
benefits.
Containers virtualize at the OS level while VMs virtualize at the hardware level
Containers share the OS kernel and use a fraction of the memory VMs require
What are containers used for?
https://aws.amazon.com/docker/
What are containers used for?
Agile development
Containers allow developers to move code much more quickly by avoiding concerns about
dependencies and environments.
Efficient operations
Containers are lightweight and allow you to use just the computing resources you need. This lets
you run your applications efficiently.
Run anywhere
Containers are able to run virtually anywhere. Wherever you want to run your software, you can
use containers.
https://aws.amazon.com/containers/
https://aws.amazon.com/docker/
• Docker is a software platform used to build, test, and deploy applications quickly.
• Docker packages software into standardized units called containers that have everything the
software needs to run including libraries, system tools, code, and runtime.
• Using Docker, we can quickly deploy and scale applications into any environment and run code.
• Running Docker on AWS provides developers and admins a highly reliable, low-cost way to build,
ship, and run distributed applications at any scale.
• Help developers speed delivery of modern apps to the cloud
• Docker lets you ship code faster, standardize application operations, seamlessly move code, and
save money by improving resource utilization
Docker …
Docker is installed on each server and provides simple commands you can use to build, start, or stop containers.
AWS services such as AWS Fargate, Amazon ECS(Amazon Elastic Container Service), Amazon EKS, and AWS
Batch make it easy to run and manage Docker containers at scale.
When to use Docker
Docker containers can be used as a core building block creating modern applications and
platforms.
Using Docker, you can quickly deploy and scale applications into any environment and know
your code will run. Docker packages software into standardized units called containers that have
everything the software needs to run including libraries, system tools, code, and runtime.
Docker makes it easy to build and run distributed microservices architecures, deploy user’s code
with standardized continuous integration and delivery pipelines, build highly-scalable data
processing systems, and create fully-managed platforms for your developers.
The recent collaboration between AWS and Docker makes it easier for you to deploy Docker
Compose artifacts to Amazon ECS and AWS Fargate.
What is the difference between Docker and a virtual machine?
Virtual machines (VMs) virtualize (or remove the need to directly manage) server hardware while
containers virtualize the operating system of a server.
The Docker Engine is installed on each server to run containers and provides a simple set of
commands to build, start, or stop containers.
SERVER VIRTUALIZATION
Server Virtualization
When the virtual machine software or virtual machine manager (VMM) is directly installed
on the Server system is known as server virtualization.
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)
A single physical server can be divided into multiple servers on the demand basis and for
balancing the load.
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.
Example – VMware vSphere suite by VMware, Hyper-V by Microsoft are some Hypervisors for server
virtualization.
Storage Virtualization
Storage virtualization is the process of grouping the physical storage from multiple
network storage devices so that it looks like a single storage device.
Storage virtualization pools all the storage devices as a single storage device and presents it to the host. The
storage administrator will be able to create or design logical storage units in a better way so as to have backup,
recovery, archive and application data type of storage by masking the complexity of the SAN (Storage Area
Network).
Examples – VMware vSAN by VMware is widely used as the software for the virtualization of storage devices.
Virtualization software can be defined as a kind of a computer program which helps in achieving IT abstraction, helps
in hiding or masking the physical resources from the end-use
AWS uses Linux KVM hypervisor to offer EC2 instances. KVM stands for Kernel Virtual Machine
as it’s the Linux kernel’s built-in hypervisor
Amazon EC2 relies on Xen Virtualization for launching all of its instances. Every physical machine
has a hypervisor running on it. A Xen hypervisor allows multiple instances to share a single
hardware platform
The newer generation uses the Nitro hypervisor which was developed by AWS, and is based on a
customized version of KVM
The new EC2 instance type called "C5" powered by Intel Skylake Xeons
Virtualization Softwares …
1. SolarWinds Virtualization Manager
This is kind of management software for all the virtual machines, this software helps in tracking the performance and
fixing if there are any performance issues such as memory and storage
It provides complete visibility for all the virtual machines attached to the system
The Tool has the functionality to manually fix all the performance issues and trigger anything if any issues are reported
This tool is also useful in maintaining the cloud platforms and the check on their usage or performance of it.
There are triggers and automatic indications present in the tool which helps the user to monitor everything properly.
2. VMware Fusion
This software is for mac users where one can run Windows, Linux, Unix and any other operating system on there
mac using this software.
The VMware fusion pro version provides the facility of integration of different development tools with it
This software is very simple to use and can support real-time demonstration for different software’s and applications
It also has a rollback point where can save the last proper working versions of the OS and can go back to it
whenever required.
The only con as of now for this is the drag and drop functionality is not proper and needs improvement
Virtualization Softwares…
3. Parallels Desktop
• This software is also for the mac users to use windows and another operating system
• They provide lots of different tools which are very useful for daily day to day tasks
• The view for this software is very good and it requires no reboot while installation
• The performance for the application inside the virtual OS is also very fast and easily usable without any lag
4. Virtual Box
From Oracle
It supports drag and drops feature and the window can be minimized
and resized
5. VMware Workstation
There is no restriction for the host OS that means this software can run
in mac as well as a windows system
One can use the print option from inside the virtual box and can run multiple virtual
machines simultaneously
The only drawback for this one is that it doesn’t support any other OS apart from
the windows
8. Microsoft Hyper V
This software comes bundled with Microsoft windows server 2008 and later
It provides hardware virtualization
This software is written in java and as promised by the Redhat software company it
provides very good performance for the application which are running inside the virtual
machine
It’s an open-source system so any user can tweak the code and make it work for his own
use and application.
It’s free software and the installation for this is very easy.