Module 1
Module 1
AND
CONTAINERS
23MCA1
68
Amal K Jose
Assistant Professor, Dept. of Computer
Applications
Amal Jyothi College of Engineering, Kanjirappally
VIRTUALISATION AND
Module CONTAINERS
23MCA1
2
-1 68
Syllab
us
Physical and virtual machines, Traditional and virtual computing,
Understanding virtualization, Need and Applications of
virtualization, Limitations, Simulations and Emulations,
Challenges in Virtualized environment, tools and technologies in
virtualized environments. Types of Hypervisors, Hypervisor
architecture
⮚ Physical and virtual machines ⮚ Challenges in Virtualized env.
⮚ Traditional and virtual computing
⮚ Tools and technologies
⮚ Understanding virtualization ⮚ Types of Hypervisors
⮚ Need, Applications and ⮚ Hypervisor architecture
Limitations
⮚ Simulations and Emulations
VIRTUALISATION AND
What is Virtualization – An CONTAINERS
Module 23MCA1
3
overview -1 68
virtualization -1 68
⮚ The Internet, boom and bubble, spanned the last and current
centuries and continues today.
virtualization -1 68
virtualization -1 68
Machines -1 68
Physical Machine
⮚ A physical server refers to a hardware server with the
motherboard, CPU, memory and IO-controllers.
Machines -1 68
Machines -1 68
Virtual Machine
⮚ A virtual machine (VM) is a software computer used as
emulation of an actual physical computer.
Machines -1 68
⮚ After that, you can load multiple guest OSes and server
applications on top of the virtual hardware.
Machines -1 68
Computing -1 68
Traditional Computing
Virtualization
Computing -1 68
Computing -1 68
VIRTUALISATION AND
Benefits of CONTAINERS
Module 23MCA1
15
Virtualization -1 68
Virtualization -1 68
✔ Fidelity:
The environment it creates for the VM is essentially
identical to the original (hardware) physical machine.
✔ Isolation or Safety:
The VMM must have complete control of the system
resources.
✔ Performance:
There should be little or no difference in
performance between the VM and a physical
equivalent.
⮚ Most VMMs have the first two properties, VMMs that also
meet the final criterion are considered efficient VMMs
VIRTUALISATION AND
Types of CONTAINERS
Module 23MCA1
17
Virtualization -1 68
Single-Tenant Virtualization
⮚ Only one tenant using the resources.
⮚ Runs directly on the physical server.
⮚ Full hardware access and Higher performance
⮚ Easy to make new virtual machine from an image within
minutes.
Multi-Tenant Virtualization
⮚ Host several virtual machines in a single physical machine
⮚ sharing the physical resources of the host.
VIRTUALISATION AND
Types of CONTAINERS
Module 23MCA1
18
Virtualization -1 68
Desktop virtualization
⮚ The host server can run virtual machines using a hypervisor
(a software program).
⮚ A hypervisor can directly be installed on the host machine or
over the operating system (like Windows, Mac, and Linux).
⮚ Virtualized desktops don’t use the host system’s hard drive;
instead, they run on a remote central server.
⮚ Useful for development and testing teams who need to
develop or test applications on different operating systems.
⮚ Two types :
⮚ Virtual Desktop Infrastructure(VDI)
⮚ Local Desktop Virtualization.
VIRTUALISATION AND
Types of CONTAINERS
Module 23MCA1
19
Virtualization -1 68
• Application virtualization
⮚ The process of installing an application on a central server
(single computer system) that can virtually be operated on
multiple systems is known as application virtualization.
⮚ For end users, the virtualized application works exactly like a
native application installed on a physical machine.
⮚ With application virtualization, it’s easier for organizations to
update, maintain, and fix applications centrally.
⮚ Admins can control and modify access permissions to the
application without logging in to the user’s desktop.
⮚ Another benefit of application virtualization is portability. It
allows users to access virtualized applications even on non-
Windows devices, such as iOS or Android.
⮚ This helps save user’s time invested in application
installations and load operations
VIRTUALISATION AND
Types of CONTAINERS
Module 23MCA1
20
Virtualization -1 68
Server Virtualization
⮚ Server virtualization is a process of partitioning the resources
of a single server into multiple virtual servers.
⮚ These virtual servers can run as separate machines.
⮚ Server virtualization allows businesses to run multiple
independent OS (guests or virtual) all with different
configurations using a single (host) server.
⮚ The process also saves the hardware cost involved in keeping
a host of physical servers, so businesses can make their
server infrastructure more streamlined.
VIRTUALISATION AND
Types of CONTAINERS
Module 23MCA1
21
Virtualization -1 68
Network Virtualization
⮚ Network virtualization helps manage and monitor the entire
computer network as a single administrative entity.
⮚ Admins can keep a track of various elements of network
infrastructure such as routers and switches from a single
software-based administrator’s console.
⮚ Network virtualization helps network optimization for data
transfer rates, flexibility, reliability, security, and scalability.
⮚ It improves the overall network’s productivity and efficiency.
It becomes easier for administrators to allocate and distribute
resources conveniently and ensure high and stable network
performance
VIRTUALISATION AND
Types of CONTAINERS
Module 23MCA1
22
Virtualization -1 68
Storage Virtualization
⮚ Storage virtualization is the process of pooling physical
storage of multiple network storage devices, so it looks like a
single storage device.
⮚ It facilitates archiving, easy backup, and recovery tasks.
⮚ It helps administrators allocate, move, change and setup
resources efficiently across the organizational infrastructure.
Data virtualization
⮚ An approach to data management that allows an application
to retrieve and manipulate data without requiring technical
details about the data, such as how it is formatted at source,
or where it is physically located, and can provide a single
customer view of the overall data.
⮚ Data Virtualization Tools integrate data from heterogeneous
data sources, instead of extracting and loading them directly
VIRTUALISATION AND
Advantages of Virtualization CONTAINERS
Module 23MCA1
23
-1 68
⮚ Lower costs.
Virtualization reduces the amount of hardware servers
necessary within a company and data center. This lowers the
overall cost of buying and maintaining large amounts of
hardware.
⮚ Easier disaster recovery.
Disaster recovery is very simple in a virtualized environment.
Regular snapshots provide up-to-date data, allowing virtual
machines to be feasibly backed up and recovered. Even in an
emergency, a virtual machine can be migrated to a new
location within minutes.
⮚ Easier testing.
Testing is less complicated in a virtual environment. Even if a
large mistake is made, the test does not need to stop and go
back to the beginning. It can simply return to the previous
VIRTUALISATION AND
Advantages of CONTAINERS
Module 23MCA1
24
Virtualization -1 68
⮚ Quicker backups.
Backups can be taken of both the virtual server and the
virtual machine. Automatic snapshots are taken throughout
the day to guarantee that all data is up-to-date.
Furthermore, the virtual machines can be easily migrated
between each other and efficiently redeployed.
⮚ Improved productivity.
Fewer physical resources results in less time spent managing
and maintaining the servers. Tasks that can take days or
weeks in a physical environment can be done in minutes.
This allows staff members to spend the majority of their time
on more
productive tasks, such as raising revenue and fostering
business initiatives.
VIRTUALISATION AND
Benefits of Virtualization CONTAINERS
Module 23MCA1
25
-1 68
Virtualization -1 68
Security Risks
Data is crucial to the success of a business and, therefore, is a
common target for attacks. The chances of experiencing a data
breach significantly increase while using virtualization.
Time consuming
Converting to virtualization takes time and may come with a
learning curve. Implementing and controlling demands each
member to be trained and expertise in virtualization.
Implementation challenges
Some applications do not adapt well when brought into a
virtual environment. We need to be prepared to face these
challenge and should address them prior to converting.
Users lose control
Users lose control of what they can do because there are
several links that must collaborate to perform the same task. If
any part is not working, then the entire operation will fail.
VIRTUALISATION AND
Needs of Virtualization CONTAINERS
Module 23MCA1
30
-1 68
Virtualization -1 68
Server Consolidation
Virtual machines are used to consolidate many physical
servers into fewer servers.
Each physical server is reflected as a virtual machine “guest”.
They reside on a virtual machine host system.
This is also known as “Physical-to-Virtual” or ‘P2V’
transformation.
Disaster Recovery
Virtual machines can be used as “hot standby” environments
for physical production servers.
Virtual storage can be replicated and transferred to another
location.
Virtualization is very useful in planning for disaster recovery.
VIRTUALISATION AND
Applications of CONTAINERS
Module 23MCA1
32
Virtualization -1 68
Emulations -1 68
Emulations -1 68
Simulators
A simulator mimics the basic behavior of a device.
Simulators mean you're copying things from the real world
into a virtual environment to give an idea about how that
thing would work. It simulates the basic behavior but doesn’t
necessarily follow all the rules of the real environment.
A simulator in mobile testing is also a virtual device. It allows
you to test your app by simulating behavior of a real device.
Emulations -1 68
Emulators
An emulator duplicates the thing exactly as it exists in real
life.
Emulation means basically a complete imitation of the real
thing. It just operates in a virtual environment instead of the
real world.
An emulator in mobile testing is a virtual device. It allows
you to test your app by emulating a real device. A device
emulator mimics the hardware or OS of the device.
Emulations -1 68
Resource Distribution
The way virtualization partitions systems can result in varied
ways - some might function well, and others might not provide
users access to enough resources to meet their needs.
Resource distribution problems often occur in the shift to
virtualization and can be fixed by working on capacity planning
with your service provider.
VM Sprawl
The ability to create as many virtual machines as you want can
lead to more VMs than are needed for the company to function.
VM sprawl may seem harmless, but it can exacerbate resource
distribution problems by diverting resources to VMs that aren't
even being used while those that are used and needed see
reduced functioning. Companies can avoid VM spawl by sticking
to the number of VMs that are needed and adding more when
the time comes.
VIRTUALISATION AND
Challenges in Virtualized Environment CONTAINERS
Module 23MCA1
39
-1 68
Backward Compatibility
Many companies use legacy systems that can cause problems
with newer virtualized software and programs. Compatibility
issues can be time-consuming and difficult to resolve, but
vendors may be aware of these difficulties and be able to
suggest upgrades or workarounds to make sure everything
functions the way it should.
Performance Monitoring
Virtualized systems don't lend themselves to the same kind of
performance monitoring as hardware like mainframes and hard
drives do. New tools like VM-Mark can create benchmarks that
measure performance on virtual networks and make it possible
to monitor performance and resource usage.
VIRTUALISATION AND
Challenges in Virtualized Environment CONTAINERS
Module 23MCA1
40
-1 68
Backup
In a virtualized environment, there is no actual hard drive on which
data and systems can be backed up. This means frequent software
updates can make it difficult to access backup at times. Software
programs like Windows Server Backup tools can make this process
easier and allow backups to be stored in one place for easier
tracking and access.
Security
Virtual systems could be vulnerable when users don’t keep them
secure and apply best practices for passwords or downloads. The
isolation of each VM by the system can mitigate security risks and
prevent systems from getting breached or compromised.
Licensing Compliance
Using existing licensed software in a virtual environment can lead
to compliance issues if more VMs are created than the company is
licensed to use the software on. It's important to keep track of how
licensed software is being used and to be sure compliance is
VIRTUALISATION AND
Tools in Virtualized Environment CONTAINERS
Module 23MCA1
41
-1 68
1. VirtualBox
Oracle VM VirtualBox is cross-platform virtualization software. It
allows users to extend their existing computer to run multiple
operating systems including Microsoft Windows, Mac OS X, Linux,
and Oracle Solaris, at the same time.
While VirtualBox itself is free to use and is distributed under an
open-source license the VirtualBox Extension Pack is licensed under
the VirtualBox Personal Use and Evaluation License (PUEL). Personal
use is free but commercial users need to purchase a license.
Features
Snapshots of the RAM and storage allows reverting to a
prior state.
Screenshots and screen video capture facility.
Shared clipboard & shared folders through "guest additions"
software
Ability to specify amount of shared RAM, video memory, and
VIRTUALISATION AND
Tools and technologies in Virtualized CONTAINERS
Module 23MCA1
42
Environment -1 68
2. Microsoft Hyper-V
Microsoft released Hyper-V in 2016. Hyper-V is virtualization
software that, well, virtualizes software. It can not only virtualize
operating systems but also entire hardware components, such as
hard drives and network switches.
Unlike other virtualization tools, Hyper-V is not limited to the user’s
device. You can use it for server virtualization, too.
Features
Hardware virtualization.
It can run multiple virtual machines.
These virtual machines can be used with Azure. Thus, we
can say that Microsoft Hyper-V supports a cloud-based
platform
VIRTUALISATION AND
Tools and technologies in Virtualized CONTAINERS
Module 23MCA1
43
Environment -1 68
3. Vagrant
Vagrant is an open-source virtualization tool which developed by
Hashicorp and written in Ruby, but it can be used in projects written
in other programming languages such as PHP, Python, Java, C#, and
JavaScript.
This tool which works on command-line that provides a framework
and configuration format for creating, managing and distributing
virtualized development environments.
Features
Creates virtual machine based on an operating system of
your choice.
Modifies the physical properties of this virtual machine (e.g.,
RAM, number of CPUs etc.)
Establishes network interfaces so that you can access your
virtual machine from your own computer, another device on
the same network, or even from another virtual machine.
VIRTUALISATION AND
Tools and technologies in Virtualized CONTAINERS
Module 23MCA1
44
Environment -1 68
Environment -1 68
5. VMware Workstation
With the help of this system, you can run multiple OS. This system is
for Linux or Windows OS users.
This system is specially developed for IT professionals and
developers. It will help developers to develop the software to be
compatible for multiple OS/platform.
Features
It supports multiple OS that can be run on Linux or Windows
PC.
This system can work with the cloud - vSphere Connectivity
(VMware vSphere is a cloud-based platform for
virtualization).
It will allow you to keep different privacy settings and
network configurations for another PC that is virtual.
Transferring data to and from the virtual machine to your PC
is easier.
VIRTUALISATION AND
Tools and technologies in Virtualized CONTAINERS
Module 23MCA1
46
Environment -1 68
6. VMware Fusion
VMware Fusion is an easy-to-use application that gives you the
possibility to set up and use a virtual machine of the Windows
operating system on your Intel-based Mac.
VMware Fusion gives Mac users the power to run Windows on Mac
along with hundreds of other operating systems side by side with
Mac applications, without rebooting. Fusion is simple enough for
home users and powerful enough for IT professionals, developers
and businesses.
Features
It provides solutions for IT professionals, developers, and
businesses.
You can use multiple applications on different OS at the
same time. There will be no need to reboot.
Fusion Pro provides facility to integrate with many
development tools.
VIRTUALISATION AND
Technologies in Virtualized Environment CONTAINERS
Module 23MCA1
47
-1 68
1. Hardware Virtualization
Hardware virtualization is done by abstracting the physical
hardware part by using VMM (virtual machine monitor) or
hypervisor. Hypervisor relies on command set extensions in the
processors to accelerate common virtualization tasks for
improving the performance.
It provides a significant performance gain over software
virtualization by running some guest code directly on the host
hardware with limited or none assistance from the host system
The hypervisor software does the task of managing the shared
physical hardware resources between the guest operating system
and the host operating system. The hardware that is abstracted is
indicated as actual hardware.
The main task that is performed by the hypervisor is to process
monitoring, memory, and hardware controlling. When hardware
virtualization is done, different operating systems can be
installed, and different applications can run on it.
VIRTUALISATION AND
Technologies in Virtualized Environment CONTAINERS
Module 23MCA1
48
-1 68
Full virtualization
In full virtualization, the hardware architecture is completely
simulated. Guest software doesn’t require any change to run
applications.
Emulation virtualization
In this, the virtual machine simulates the hardware, and the
guest operating system does not require any hardware.
Para-virtualization
In Para-virtualization, the hardware is not simulated; rather
the guest software runs its isolated system.
VIRTUALISATION AND
Technologies in Virtualized Environment CONTAINERS
Module 23MCA1
49
-1 68
1. Software Virtualization
Software virtualization is also called application virtualization.
Software virtualization is the same as virtualization but can
abstract the software installation procedure and create virtual
software installations.
Examples: VMware software, virtual box, etc.
Most of the applications and their distributions became difficult
tasks for IT firms and departments. The mechanism for installing
an application varies. So, to solve this type of problem, virtualized
software is introduced, which is an application that will be
installed into its self-contained unit and provide software
virtualization.
The host system needs to completely emulate guest's platform.
The advantage is that host and guest platforms are
independent. The disadvantage is that this approach is very
slow and resource consuming (since we have to emulate
VIRTUALISATION AND
Technologies in Virtualized Environment CONTAINERS
Module 23MCA1
51
-1 68
Type 2 hypervisors
A Type 2 hypervisor is typically installed on top of an existing
OS. It is sometimes called a hosted hypervisor because it
relies on the host machine's preexisting OS to manage calls to
CPU, memory, storage and network resources.
Type 2 hypervisors are generally not used for data center
computing and are reserved for client or end-user systems
(sometimes called client hypervisors) where performance and
security are lesser concerns. They also come at a lower cost
than Type 1 hypervisors and make an ideal test platform
compared to production virtualized environments or the cloud.
IT organizations typically use Type 1 hypervisors to create
virtual desktops.
VIRTUALISATION AND
Types of Hypervisors CONTAINERS
Module 23MCA1
57
-1 68
VIRTUALISATION AND
Types of Hypervisors CONTAINERS
Module 23MCA1
58
-1 68
Hardware support
Hardware acceleration technologies are widely available for
virtualization's tasks. Such technologies include Intel
Virtualization Technology extensions for Intel processors and
AMD Virtualization extensions for AMD processors.
Both Type 1 and Type 2 hypervisors use hardware acceleration
support, but to varying degrees.
Type 1 hypervisors rely on hardware acceleration technologies
and typically don't function without those technologies
available and enabled through the system's BIOS.
Type 2 hypervisors are generally capable of using hardware
acceleration technologies if those features are available, but
they can typically fall back on software emulation in the
absence of native hardware support.
VIRTUALISATION AND
Types of Hypervisors CONTAINERS
Module 23MCA1
59
-1 68
https://www.simplilearn.com/skillup-search?
sortBy=Relevance&tag=Getting-Started-with-Docker