0% found this document useful (0 votes)
3 views11 pages

Approaches to Virtualisation Explained

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)
3 views11 pages

Approaches to Virtualisation Explained

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

Assignment on Virtualisation

1) Discuss various approaches to Virtualisation in


detail with suitable diagrams.
• Virtualisation can be implemented in different ways depending on the
level at which abstraction takes place. The three major approaches
are:

i. Full Virtualisation : Full Virtualization is a virtualization technique


that simulates an entire physical computer, including its hardware
components, to create multiple virtual machines (VMs) that run
independently on a single physical host.

In this approach, the guest operating system is unaware that it's


running in a virtualized environment, as it interacts with virtualized
hardware that emulates real hardware.

Full virtualization is well-suited for scenarios where you need to run


different operating systems on the same physical server. Such as
hosting multiple Windows and Linux VMs on a single machine.

It offers excellent isolation and security between VMs, making it suitable for
scenarios like cloud computing and data center environments

ii) Para-Virtualisation

In para-virtualisation, the guest OS is modified to be aware that it is running


in a virtualised environment.
Instead of trapping every hardware call, it communicates with the hypervisor
using hypercalls.
This reduces overhead compared to full virtualisation.
Example: Xen hypervisor supports para-virtualisation.

2) Define Virtualization and explain its role in modern


computing.
Definition:
Virtualization is the process of creating virtual representations of computing
resources such as servers, operating systems, storage, or networks. Instead
of using multiple physical devices, a single machine can run multiple isolated
environments simultaneously.

Role in Modern Computing:

 Allows one physical machine to act like many computers.

 Saves cost by reducing the need for extra hardware.

 Improves security by isolating different systems.

 Forms the backbone of cloud computing by enabling resource


sharing.

Advantages:
• Strong isolation between VMs.
• Can run multiple OS types on one machine.
• Easier disaster recovery with snapshots.
• Supports legacy applications.
• Resource consolidation reduces hardware costs.
Disadvantages:
• High overhead (each VM runs its own OS).
• Slower performance compared to containers.
• More storage and memory usage.
• Longer startup times than containers.

.3)
Explain different isolation facilities provided by an
Operating System. How do they enhance security?
An operating system provides several mechanisms to ensure processes and
users do not interfere with each other.

Process Isolation: Each running process is kept separate. A faulty process


cannot overwrite memory of another.

Memory Isolation: Virtual memory ensures that each process only accesses
its own address space.

Filesystem Isolation: Permissions and access control lists prevent


users/programs from accessing files they are not allowed to.

Network Isolation: Virtual networks or firewalls can restrict communication


between processes/containers.

User Isolation: Different user accounts with privileges prevent unauthorized


actions.

Security Benefits:
• Protects sensitive data from leaks.
• Limits the spread of malware.
• Ensures system stability, as one crash does not affect others.
• Implements the principle of least privilege.
4) Explain the architecture of Docker and describe its
major software components.

Docker Architecture (Explained from the Diagram)

Docker has three main components:

1. Client

2. Docker Host

3. Registry

1. Client

 This is where users interact with Docker.

 Users issue commands such as:

o docker build → Build a Docker image from a Dockerfile.

o docker pull → Download images from a registry (like Docker Hub).

o docker run → Create and start a container from an image.

 The client sends these commands to the Docker Daemon (server-side process).

2. Docker Host
This is the machine where Docker is installed. Inside it, we have:

🔹 Docker Daemon

 A background service (dockerd) that manages:

o Images

o Containers

o Networking

o Storage

 It listens to requests from the client and executes them.

🔹 Images

 An image is a read-only template with instructions for creating a container.


Example: Ubuntu, Redis, Nginx.

 Images are stored locally in the Docker Host after pulling from the registry or
building.

🔹 Containers

 A container is a running instance of an image.

 Containers include everything needed to run an application: code, runtime, libraries,


dependencies.

 Multiple containers can be created from the same image (lightweight and fast).

3. Registry

 A registry is a storage/distribution system for Docker images.


Example: Docker Hub (default public registry).

 Contains pre-built images like:

o Ubuntu

o Redis

o Nginx

 Users can pull images from the registry into the host or push their own custom
images back to the registry.
How It Works

1. User executes command (e.g., docker run nginx).

2. The Docker client sends this command to the Docker daemon.

3. Docker daemon:

o Checks if the image is available locally.

o If not → pulls it from the Registry.

4. From the image, the daemon creates a container.

5. The container runs the application in an isolated environment.

5) Explain the concept of monolithic applications in a


data center. Discuss their limitations compared to
microservices.
Monolithic Applications:
Built as a single large, tightly coupled unit.
All features (UI, business logic, database access) are in one codebase.
Example: Traditional enterprise applications like ERP systems.

Limitations:
• Scalability: Must scale the whole application, even if only one part needs
more resources.
• Deployment Complexity: Small changes require redeploying the entire
application.
• Fault Tolerance: A bug in one module can crash the whole system.
• Slow Development: Teams cannot work independently on small features.

Comparison to Microservices:
Microservices split the application into independent services.
Each service can scale, deploy, and fail independently.
More flexible and aligned with modern cloud-native applications.
6) Differentiate between Containers and Virtual
Machines
Aspect Container Virtual Machine (VM)

A lightweight, isolated unit that A full-fledged virtualized


Definition packages an application with its system that includes an OS,
dependencies. apps, and resources.

Abstraction Abstracts at the application Abstracts at the hardware


Level layer. layer.

Each VM runs its own OS


Operating
Shares the host OS kernel. (guest OS) on top of the
System
host OS.

Size Small in size (MBs). Large in size (GBs).

Startup Very fast (seconds or


Slower (minutes).
Time milliseconds).

Efficient – containers use fewer Resource-heavy – each VM


Resource
resources since they share the needs its own OS, memory,
Usage
host OS. and CPU allocation.

Stronger isolation since each


Process-level isolation using
Isolation VM has its own kernel and
namespaces and cgroups.
OS.

Highly portable across


Less portable (VM images
environments (e.g., run the same
Portability are large and depend on
container on any system with
hypervisor).
Docker).

Performanc Near-native performance since no Slower due to hypervisor


e extra OS overhead. overhead and full OS.

Managed by Hypervisors
Manageme Managed by Docker, Podman,
like VMware, VirtualBox,
nt Tool Kubernetes.
Hyper-V.

Running multiple OSes on


Microservices, CI/CD pipelines,
Use Cases one machine, legacy app
cloud-native applications.
support, OS-level testing.
7) Role of Hypervisors in Virtualisation

A hypervisor is the software (or firmware) layer that enables virtualization.


It allows multiple virtual machines (VMs) to run on a single physical machine by sharing
its CPU, memory, storage, and network resources.

1. Hardware Abstraction

o Makes virtual machines think they each have their own dedicated hardware.

o Translates VM requests into actual hardware operations.

2. Resource Allocation & Management

o Divides physical resources (CPU, RAM, Disk, I/O) among multiple VMs.

o Ensures fairness and efficiency.

3. Isolation

o Keeps VMs separate so one VM crash or attack does not affect others.

4. Monitoring & Control

o Provides administrators control over VM lifecycle (start, stop, migrate,


snapshot).

5. Security

o Controls access to resources, ensuring VMs can only use what is allocated.

6. Flexibility

o Enables running multiple operating systems (Windows, Linux, etc.) on the


same host.

8) what are the key character of monolithic application


1. Single Codebase / Unified Unit

 Entire application (UI, business logic, database access) is built and


deployed as one executable package.

2. Tightly Coupled Components


 All modules are interdependent and connected within the same
codebase.

 A change in one part often affects others.

3. Single Deployment

 The whole application must be deployed at once, even for small


updates.

4. Shared Resources

 Uses a single database and often shared memory/resources across


modules.

5. Scalability is Vertical

 To handle more load, you typically scale by adding more hardware


power (CPU/RAM) to one server rather than splitting into
independent services.

6. Centralized Management

 Easier to develop, test, and deploy in early stages since everything is


in one place.

7. Limited Flexibility

 Hard to adopt different tech stacks or scale individual features


separately.

9)What is Live Migration of Virtual Machines


• Live migration is the process of transferring a live virtual machine from
one physical host to another without disrupting its normal operation.
(without interrupting its operation)
• Initial Phase: The memory pages of the VM are copied to the
destination host while the VM continues to run on the source host.

• Subsequent Phases: After the initial copy, only the pages that have
been modified (dirty pages) are transferred in subsequent iterations.

• Final Phase: Once the number of dirty pages becomes small enough,
the VM is briefly paused, the remaining pages are copied, and then the
VM is resumed on the destination.

10) Explain the level of trust in virtualization how do


they impact security
Levels of Trust in Virtualization and Their Security Impact

 Hardware (Highest trust): If hardware is compromised (e.g., CPU


flaws), all VMs are at risk.

 Hypervisor (Critical trust point): Manages VMs; if attacked, it can


lead to VM escape and full system compromise.

 Guest OS: Compromise affects only that VM, but isolation must be
strong.

 Applications (Lowest trust): First attack surface; breaches here are


usually contained within the VM.

Impact on Security:

 Each layer depends on the trust of the layer below.

 Hypervisor security is most critical.


 Strong isolation limits damage, but vulnerabilities increase the attack
surface.

You might also like