Cloud Computing – Notes
1. Cloud vs. Traditional Computing
● Cloud Computing
○ Pay-per-use model (operational expense).
○ Remote access (anywhere, anytime).
○ No upfront heavy investment.
● Traditional Computing
○ Requires capital investment (hardware/software).
○ On-premise setup and maintenance.
○ Limited scalability and flexibility.
2. Cloud Computing Concept
● Definition: Delivery of technology, services, and applications over the Internet as a
self-service utility.
● Key Ideas Behind the “Cloud”:
○ Abstraction
■ Hides implementation details from users/developers.
■ Physical location of systems and data is unknown.
■ System administration outsourced.
■ Ubiquitous access.
○ Virtualization
■ Resources pooled & shared.
■ On-demand provisioning of systems/storage.
■ Costs measured (pay-as-you-go).
■ Multi-tenancy enabled.
■ Scalable and agile.
3. NIST Cloud Model – 5 Essential Characteristics
1. On-Demand Self-Service
● Users provision resources (compute, storage, apps) as needed without human
intervention.
● Self-provisioning & automation → usage is on-demand.
● Also called “on-demand self-service usage.”
2. Broad Network Access
● Services accessible over network via standard protocols.
● Supports various devices (PC, mobile, tablets).
● Requires architecture that supports different protocols, interfaces, and security
mechanisms.
3. Resource Pooling (Multitenancy)
● Resources pooled to serve multiple consumers.
● Multitenancy: One instance of service/software can serve multiple users (tenants),
isolated from each other.
● Uses virtualization → resources dynamically assigned/reassigned.
● Achieved through statistical multiplexing.
4. Rapid Elasticity
● (Not yet in your notes, but part of NIST 5)
● Resources can be scaled up/down rapidly.
● Appears to users as unlimited supply.
5. Measured Service
● Resource usage monitored, controlled, reported.
● Enables pay-per-use model.
Cloud Computing – Notes (From Provided
Content)
Measured Service
● Cloud systems automatically control and optimize resource use.
● Cloud platform keeps track of IT resource usage (mainly by consumers).
● Billing: Consumers charged only for:
○ Resources actually used, or
○ Timeframe of access.
● Closely related to on-demand characteristics.
● Not only for billing → also used for monitoring & reporting (provider + consumer).
● Relevant even for free clouds (for usage tracking).
Summary of Characteristics
● On-demand usage → Consumers self-provision and use services without provider
interaction.
● Measured usage → Ability of cloud to track and measure IT resource usage.
● Ubiquitous access → Services accessible by diverse consumers.
● Multitenancy → Single instance of IT resource serves multiple consumers transparently.
● Elasticity → IT resources automatically scale out/in.
● Resiliency → Built-in failover features.
`
Service Models / Delivery Models
● SaaS – Software as a Service
● PaaS – Platform as a Service
● IaaS – Infrastructure as a Service
Specialized Variants:
● Storage-as-a-Service
● Database-as-a-Service
● Security-as-a-Service
● Communication-as-a-Service
● Integration-as-a-Service
● Testing-as-a-Service
● Process-as-a-Service
(Delivery model = service model = cloud service offering)
IaaS (Infrastructure as a Service)
● Provides infrastructure-centric IT resources (hardware, network, connectivity, OS,
etc.).
● Resources accessed & managed via cloud service interfaces/tools.
● Resources virtualized and bundled → simplifies scaling & customization.
● Gives consumers high control and responsibility.
● Resources not pre-configured → admin responsibility on consumer.
● Used when consumers require full control over cloud-based environment.
Cloud Computing – Notes (Simplified)
IaaS (Infrastructure as a Service)
● Provides basic IT resources: servers, storage, networks, and OS.
● You access and manage them through cloud tools/interfaces.
● Resources are virtualized → easier to scale or customize.
● Gives the most control to the user.
● You must set up and configure the resources yourself.
● Best for people/companies who want full control over their cloud environment.
PaaS (Platform as a Service)
● Provides a ready-to-use platform with tools and resources for building apps.
● Everything is already set up and configured.
● Why use PaaS?
1. Expand your existing on-premise setup to the cloud (scalability & cost
savings).
2. Replace your on-premise system completely.
3. Build your own cloud services to offer to others.
SaaS (Software as a Service)
● Software is provided over the internet as a service.
● Users can access it like a ready-to-use product.
● Can be leased or used commercially.
● Users don’t manage infrastructure or platform → provider handles everything.
Comparing Cloud Models
● Control Level:
○ IaaS → Maximum control, you manage everything.
○ PaaS → Moderate control, environment mostly ready.
○ SaaS → Minimum control, provider manages everything.
● Combination of Models:
○ IaaS + PaaS → Infrastructure + development platform.
○ IaaS + PaaS + SaaS → Full cloud stack (infrastructure, platform, software).
Cloud Deployment Models – Notes
(Simplified)
1. Public Cloud
● Owned by a third-party provider and accessible to the public.
● Resources are provided via cloud delivery models (IaaS, PaaS, SaaS).
● Usually paid services or monetized via ads.
● Provider manages creation and maintenance of resources.
● Common in most real-world cloud scenarios.
2. Private Cloud
● Owned by a single organization.
● Used to centralize access to IT resources for different parts of the organization.
● Can be managed internally or outsourced.
● Organization acts as both provider and consumer:
○ One department provisions resources → acts as provider.
○ Other departments use resources → act as consumers.
● Access via VPN is common.
● Even if hosted on-premise, resources are considered cloud-based if accessed
remotely.
● Resources outside the private cloud (local department IT) are considered on-premise.
3. Community Cloud
● Similar to public cloud, but access limited to a specific community (e.g.,
organizations with shared goals).
● Ownership can be joint by community members or managed by a third-party
provider.
● Community members share responsibility for defining and evolving the cloud.
Cloud Deployment Models – Notes
(Simplified)
1. Hybrid Cloud
● Combines two or more cloud deployment models.
● Example:
○ Sensitive data → private cloud
○ Less sensitive services → public cloud
● Offers flexibility while maintaining control over sensitive data.
2. Other Cloud Deployment Models
Virtual Private Cloud (VPC)
● Also called dedicated cloud or hosted cloud.
● Self-contained cloud hosted and managed by a public cloud provider.
● Made available only to one cloud consumer.
Inter-Cloud
● Architecture connecting two or more clouds.
● Allows clouds to work together.
3. Key Points Summary
● Public Cloud → Owned by third party, commercial services for all consumers.
● Private Cloud → Owned by one organization, hosted on-premise.
● Community Cloud → Shared by a specific group; members may share
ownership/responsibility.
● Hybrid Cloud → Combination of two or more cloud deployment models.
4. Roles and Boundaries in Cloud
● Cloud Provider → Provides cloud services and resources.
● Cloud Consumer → Uses cloud services/resources.
● Cloud Carrier → Provides network connectivity and transport of cloud services.
● Cloud Auditor → Reviews and ensures cloud compliance and security.
● Cloud Broker → Manages relationships between consumers and providers.
Cloud Roles and Boundaries – Notes
(Simplified)
1. Cloud Provider
● Provides cloud-based IT resources to consumers.
● Responsible for making services available and maintaining infrastructure.
● Owns resources or may resell leased resources.
● Types of providers based on service: IaaS, PaaS, SaaS.
● Operates under Service Level Agreements (SLAs) for quality, security, and
performance.
2. Cloud Consumer
● Organization or individual that uses cloud services via a formal contract.
● Accesses services using cloud service interfaces/tools.
● Uses SLAs to define:
○ Performance requirements
○ Security requirements
○ Remedies for failures
● Can choose providers with better pricing or terms.
3. Cloud Carrier
● Provides connectivity & transport between provider and consumer.
● Role often assumed by network or telecom providers.
● Ensures consistent service, possibly dedicated/encrypted connections.
● Works under SLAs with cloud providers.
4. Cloud Broker
● Manages performance, use, and delivery of cloud services.
● Adds value for consumers by integrating or enhancing services.
● Three main functions:
1. Service Intermediation → Enhances a service (e.g., security, access
management, performance reporting).
2. Service Aggregation → Combines multiple services into new services.
3. Service Arbitrage → Flexibly selects services from multiple providers based on
context.
● Intermediation can occur at provider location, consumer location, or as a service.
5. Cloud Auditor
● Third-party independent assessor of cloud environments.
● Evaluates security, privacy, and performance.
● Builds trust between providers and consumers.
● Three types of audits:
1. Security Audit
2. Privacy Impact Audit
3. Performance Audit
6. Cloud Service Owner
● Legally owns a cloud service.
● Can be a cloud provider or consumer.
● Different from cloud resource owner (owns infrastructure/resources).
Cloud Resource Administrator & NIST
Boundaries – Notes (Simplified)
Cloud Resource Administrator
● Responsible for administering cloud-based IT resources, including cloud services.
● Can belong to:
○ Cloud consumer
○ Cloud provider
○ Third-party organization (contracted)
● Different from cloud service administrator because:
○ Can manage resources not delivered as a cloud service
○ Example: Internal IT resources not remotely accessible
NIST Cloud Computing Model – Boundaries
1. Organizational Boundary
● Physical perimeter around IT resources owned & governed by an organization.
● Does not represent the whole organization, only the IT assets.
2. Trust Boundary
● Logical perimeter representing IT resources trusted by an organization.
● Extends beyond the physical boundary when consuming cloud services.
● Associated mostly with the organization acting as a cloud consumer.
Summary of Cloud Roles & Boundaries
● Roles → Cloud provider, cloud consumer, cloud service owner, cloud resource
administrator.
● Organizational boundary → Physical scope of IT resources owned by an organization.
● Trust boundary → Logical perimeter encompassing trusted IT resources.
Alternative Deployment Models
● Linthicum Model → David Linthicum
● Jericho Cloud Cube Model → Jericho Forum
Linthicum Model – “as-a-Service” Types
1. Storage-as-a-Service → Use remote storage as if it’s local.
2. Database-as-a-Service → Access remote database as if it’s local.
3. Information-as-a-Service → Consume remote information via APIs.
4. Process-as-a-Service → Combine remote resources into business processes.
5. Application-as-a-Service (SaaS) → Web applications delivered to end users via
browser.
6. Platform-as-a-Service (PaaS) → Complete development platform hosted remotely.
7. Integration-as-a-Service → Cloud integration stack: interfacing, mediation, flow control.
8. Security-as-a-Service → Core security services delivered remotely.
9. Management/Governance-as-a-Service → Manage cloud services: topology,
resources, uptime.
10.Testing-as-a-Service → Test systems using remote tools/services.
Cloud Cube Model – Notes (Simplified)
Overview
● Developed by Jericho Forum.
● Categorizes clouds along 4 dimensions:
1. Internal / External → Physical location of data
2. Proprietary / Open → Ownership & interoperability
3. Perimeterized / De-Perimeterized → Security boundary
4. Insourced / Outsourced → Who provides the service
1. Internal (I) / External (E)
● Internal (I) → Data is within your organization’s physical boundary.
○ Example: Virtualized disks in your own data center.
● External (E) → Data is outside your organization’s boundary.
○ Example: Amazon S3 or other off-site cloud storage.
2. Proprietary (P) / Open (O)
● Proprietary (P) → Technology is owned by provider.
○ Protects data, less interoperability.
● Open (O) → Technology is open, multiple suppliers.
○ Easier data sharing and collaboration.
3. Perimeterized (Per) / De-Perimeterized (D-p)
● Perimeterized (Per) → Operates within traditional IT boundary, secured by firewalls.
● De-Perimeterized (D-p) → Operates outside traditional IT boundary.
○ Data protected with metadata and encapsulation.
○ Follows Jericho Forum principles for security and collaboration.
● Perimeter extension → Using VPN or virtual servers can extend perimeter externally
while controlling access.
4. Insourced / Outsourced
● Insourced → Service is provided by your own staff.
● Outsourced → Service is provided by a third party.
● Important: Organizations must ensure legal agreements and data deletion with
providers.
Combining Dimensions
● Clouds can operate in combinations: I/P, I/O, E/P, E/O.
● Architecture mindset: Perimeterized or De-Perimeterized.
● Optimal flexibility & collaboration → External, Open, De-Perimeterized (E/O/D-p).
Hypervisor – Notes
Definition
● Software used to run multiple virtual machines (VMs) on a single physical machine.
● Each VM has its own OS and apps.
● Allocates CPU, memory, storage to VMs as required.
● Enables optimal use of IT infrastructure.
Importance
● Base technology behind virtualization (decoupling hardware & software).
● Multiple VMs can run on one host, each with its OS and resources.
● Enables cloud computing services and efficient scaling.
● Example: different departments can run workloads separately on the same server.
Benefits
1. Hardware independence – OS/apps can run without being tied to specific hardware.
2. Efficiency – Faster setup of server OS and environments.
3. Scalability – Run multiple workloads on one machine → reduced cost.
4. Portability – Easily shift workloads/resources between servers/platforms.
Use Cases
● Desktop virtualization → remote access to work environment.
● Resource optimization → consolidate multiple servers into one.
● Failure recovery → snapshots & VM images restore system.
● Legacy system continuity → run old software on virtualized hardware.
Types of Hypervisors
Type 1 Hypervisor (Bare-metal)
● Runs directly on hardware (no host OS).
● Lightweight OS itself.
● Pros: High efficiency, direct resource allocation, more secure, stable.
● Used in enterprise cloud data centers.
Type 2 Hypervisor (Hosted)
● Runs on top of a host OS.
● Like any other application installed.
● Cons: More latency, depends on host OS stability.
● Pros: Easier to install & use, user-friendly.
Comparison: Type 1 vs Type 2
● Type 1 → efficient, scalable, secure, used in enterprise/cloud.
● Type 2 → easier setup, user-friendly, used in personal/admin use cases.
Hypervisor – Notes
Definition
● A hypervisor (Virtual Machine Monitor – VMM) is software that creates and manages
virtual machines (VMs) on a single physical machine.
● Each VM acts like a separate computer with its own OS and applications.
● The hypervisor allocates hardware resources (CPU, RAM, storage, network)
dynamically to VMs.
● Core of virtualization technology → enables cloud computing.
Importance
● Separates hardware from software → allows one machine to behave like many.
● Improves resource utilization and supports cost-effective scalability.
● Fundamental to cloud computing, enterprise IT, and testing environments.
● Example: One physical server can host Windows, Linux, and macOS VMs
simultaneously.
Benefits
1. Hardware independence – Applications/OS not bound to one hardware setup.
2. Efficiency – Faster provisioning of servers compared to manual setup.
3. Scalability – Multiple workloads on one machine → reduced cost.
4. Portability – Workloads can be shifted across machines easily.
5. Better disaster recovery – Snapshots and backups simplify restoration.
Use Cases
● Desktop virtualization – employees access work remotely.
● Resource consolidation – multiple business workloads on one server.
● Failure recovery – restore VM from snapshot/image.
● Legacy support – continue running old software on virtualized hardware.
Types of Hypervisors
Type 1 (Bare-metal)
● Installed directly on hardware (no host OS).
● Lightweight OS that manages VMs.
● Pros: High efficiency, secure, scalable, stable.
● Used in: Data centers, cloud providers (e.g., AWS, Azure, VMware ESXi).
Type 2 (Hosted)
● Installed on top of host OS like normal software.
● Uses host OS to access hardware resources.
● Pros: Easy to install, configure, and use.
● Cons: More latency, less efficient, dependent on host OS.
● Used in: Personal laptops, testing environments (e.g., VirtualBox, VMware Workstation).
Comparison Table
Feature Type 1 (Bare-metal) Type 2 (Hosted)
Installation Directly on hardware On host OS
Performance High, efficient Moderate, overhead due to host
OS
Security More secure Less secure (depends on host OS)
Use cases Cloud, enterprise Personal use, development/testing
Examples VMware ESXi, Hyper-V VirtualBox, VMware Workstation
Abstraction, Layering, and Virtualization –
Notes
Motivation
● Computing systems rely on fundamental abstractions:
○ Interpreters (execute instructions)
○ Memory (store data and instructions)
○ Communication links (exchange data)
● Many physical realizations exist for each abstraction.
● Virtualization simplifies managing these physical resources.
Why it matters in cloud computing:
● VM state can be saved and migrated to balance load.
● Users work in familiar environments without needing to adapt to new systems.
● Supports:
○ Security – isolates services on the same hardware.
○ Performance & reliability – enables migration of apps across platforms.
○ Service management – simplifies development and administration.
Virtualization
Definition
● Process of creating virtual versions of resources (servers, storage, networks,
applications).
● Allows multiple workloads to share the same physical infrastructure.
Why it matters
● Optimizes hardware usage.
● Improves scalability.
● Reduces cost.
● Enables cloud computing.
● Provides secure isolation of environments.
Forms of Virtualization
1. Multiplexing
○ Creates many virtual objects from one physical resource.
○ Example: CPU time-sharing across processes/threads.
2. Aggregation
○ Combines multiple physical objects into one virtual object.
○ Example: RAID → multiple disks appear as a single disk.
3. Emulation
○ Creates a virtual object of a different type than the physical one.
○ Example: Disk emulates RAM.
Combined examples:
● Virtual memory with paging: multiplexes memory + disk.
● Virtual address: emulates a real physical address.
Layering
● A design principle to manage system complexity.
● Each subsystem is abstracted through interfaces → independent design &
modification possible.
Benefits
● Minimizes interaction among subsystems.
● Simplifies descriptions and dependencies.
● Increases modularity and flexibility.
Layering in Computer Systems
1. Hardware
2. Software
3. Operating system
4. Libraries
5. Applications
Interfaces
1. ISA (Instruction Set Architecture)
○ Boundary between hardware & software.
○ Defines instructions hardware can execute.
2. ABI (Application Binary Interface)
○ Interface between application + libraries and hardware.
○ Excludes privileged instructions → uses system calls.
3. API (Application Program Interface)
○ Defines functions available to applications.
○ Includes high-level library calls, often invoking system calls.
Types & Levels of Virtualization – Notes
Types of Virtualization
1. Full Virtualization
● Uses a hypervisor (software layer) to directly interact with CPU, memory, and disk.
● Each virtual server (VM) runs independently and is unaware of others.
● Hypervisor allocates resources to each VM as required.
● Benefit: Strong isolation, supports different OS types.
● Drawback: Higher overhead due to heavy hypervisor control.
2. Para-Virtualization
● Guest OS are aware of each other.
● Hypervisor requires less processing power → lighter than full virtualization.
● OSs collaborate, making the system work as a cohesive unit.
● Benefit: Better performance, lower overhead.
● Drawback: Requires modified OS (not fully independent).
3. OS-Level Virtualization
● No hypervisor → virtualization built into host OS.
● Each virtual server (container) runs as isolated instances of the same OS.
● Limitation: Only works in homogeneous environments (same OS for all).
● Example: Docker, LXC.
● Benefit: Very lightweight, efficient.
● Drawback: No mixing of different operating systems.
Five Levels of Virtualization
1. ISA (Instruction Set Architecture) Level
○ Virtualization through ISA emulation.
○ Runs legacy code designed for different hardware.
○ Uses interpreters to translate instructions.
○ Makes VM hardware-agnostic.
○ Example tool: BIRD (Binary Instrumentation Runtime Decoder)
■ Monitors instruction execution.
■ Supports profiling, debugging, and security testing.
2. Hardware Abstraction Level (HAL)
○ Provides an abstraction between hardware and OS.
○ Allows OS to run without worrying about hardware differences.
3. Operating System Level
○ Virtualization done at OS kernel level.
○ Example: Containers (Linux namespaces, cgroups).
4. Library Support Level
○ Virtualization provided via special libraries.
○ Example: Java Virtual Machine (JVM) provides a virtualized execution
environment.
5. Application Level
○ Entire application is virtualized or emulated.
○ Example: Wine (Windows apps on Linux), Virtual desktop apps.
Virtualization Levels & Tools – Notes
1. ISA (Instruction Set Architecture) Level
● Virtualization through ISA emulation → allows running legacy code on different
hardware.
● Requires an interpreter to convert instructions into hardware-readable format.
● Example Tools:
○ BIRD (Binary Instrumentation Runtime Decoder):
■ Analyzes & modifies binaries at runtime.
■ Used for performance profiling, debugging, and security testing.
○ Dynamo (HP Labs):
■ Dynamic optimization system.
■ Uses Dynamic Binary Translation → recompiles optimized code paths
at runtime.
■ Improves application performance without modifying source code.
2. Hardware Abstraction Layer (HAL)
● Virtualization performed at the hardware level using bare-metal hypervisors.
● Provides virtualization of I/O devices, CPUs, memory → multiple users share hardware
efficiently.
● First implemented by IBM (VM/370, 1960s).
● Widely used in cloud infrastructure today.
Examples:
● VMware:
○ Supports Type 1 (bare-metal) & Type 2 (hosted) hypervisors.
○ Products: ESXi (enterprise), Workstation, Fusion.
○ Use: Cloud infra, enterprise & desktop virtualization.
● Microsoft Virtual PC:
○ Type 2 hypervisor, runs multiple OS on Windows.
○ Use: Legacy app testing.
○ Replaced by Hyper-V.
● Xen:
○ Open-source, Type 1 hypervisor.
○ Uses para-virtualization for performance.
○ Use: Cloud environments, server consolidation.
3. Operating System (OS) Level
● Creates containers (isolated user-space environments) on the same OS kernel.
● Unlike hypervisors → no hardware virtualization, instead shares kernel.
● Each environment behaves like a lightweight VM.
Key Features:
● Single shared kernel.
● Lightweight → faster than full virtualization.
● Instant start-up.
● Resource isolation (using cgroups & namespaces).
● Near-native execution speed.
Examples:
● Docker, LXC, OpenVZ, FreeBSD Jails, Solaris Zones.
Use Cases:
● Hosting multiple apps.
● Microservices (DevOps, Kubernetes).
● Testing & development environments.
● Cloud-native platforms.
4. Virtual Environment – FVM (Feather-weight Virtual
Machine)
● Specialized OS-level virtualization for Windows.
● Creates multiple isolated environments within the same Windows kernel.
● Works by intercepting system calls at OS API level.
Key Features:
● Instant start-up (no OS boot).
● Lightweight (less resource consumption than hypervisors).
● Shared kernel (Windows-specific).
● Application isolation (separate file system, registry, process space).
● Security → prevents cross-app interference.
Use Case:
● Running multiple Windows apps securely in isolated environments.
Library & Application Level Virtualization –
Notes
1. FVM (Feather-weight Virtual Machine) – Windows
OS-level
Advantages:
● No separate guest OS required.
● High density → hundreds of isolated environments on a single host.
● Ideal for app testing, malware analysis, and enterprise Windows environments.
Use Cases:
● Running multiple versions of the same application in isolation.
● Safe testing of Windows-based apps.
● Sandboxing suspicious software.
● Enterprise environments needing multiple isolated Windows environments.
2. Library-Level Virtualization
● Virtualization occurs through APIs in user-level libraries.
● API hooks manage communication between the app and the OS.
● Useful when OS system calls are complex, long, or cumbersome.
Examples:
WINE (Windows on Linux/macOS)
● Type: Library-level compatibility layer.
● Intercepts Windows API calls → translates to POSIX system calls.
● Features: No Windows installation, supports thousands of apps, faster than full VM.
● Use Cases: MS Office on Linux, Windows games, cross-platform software testing.
vCUDA (GPU Virtualization)
● Type: Library-level GPU virtualization.
● Intercepts CUDA API calls → redirects to virtual or remote GPUs.
● Features: GPU sharing among multiple VMs, no CUDA app modification required.
● Use Cases: Cloud GPU virtualization, HPC clusters, GPU-intensive workloads.
3. Application-Level Virtualization
● Virtualizes only the application, not the OS.
● Also called process-level virtualization.
● Useful for apps written in high-level languages running on VMs.
Examples:
JVM (Java Virtual Machine)
● Java code → bytecode (.class) → JVM executes via interpreter/JIT compiler.
● Features: WORA (Write Once, Run Anywhere), automatic memory management (GC),
security sandbox, multithreading, portable.
● Use Cases: Android apps, enterprise apps (ERP, banking), web apps (Spring,
Hibernate), Big Data frameworks (Hadoop, Spark).
.NET CLR (Common Language Runtime)
● Multi-language runtime (C#, [Link], F#, etc.)
● Source code → IL (Intermediate Language) → CLR executes via JIT compiler.
● Features: Multi-language support, GC, exception handling, cross-platform (.NET Core /
.NET 5+), security verification.
● Use Cases: Web apps ([Link], Blazor), Windows desktop apps (WinForms, WPF),
cross-platform mobile apps (Xamarin, MAUI), cloud-native apps on Azure.
✅ Summary Table for Quick Reference
Level Example Key Idea Use Case
Tools
FVM FVM OS-level Windows App isolation, malware
virtualization testing
Library-level WINE, vCUDA API hooks for virtualization Cross-platform apps, GPU
sharing
Application-leve JVM, .NET Virtualize only apps Enterprise apps, cloud, web,
l CLR mobile
Types of Virtualization – Notes
1. Application Virtualization
● Purpose: Run applications on OSes they were not originally designed for.
● Benefits:
○ Avoids OS installation conflicts.
○ Easy deployment and updates.
○ Supports legacy or cross-platform apps.
● Methods:
○ Application streaming: Run remotely when needed.
○ Server-based virtualization: Access via browser or thin client.
○ Local virtualization: App includes its environment, runs anywhere.
● Example: Running Microsoft Office on Linux via virtualization layer.
2. Network Virtualization
● Purpose: Abstracts physical network hardware into virtual network resources.
● Benefits:
○ Simplified network management.
○ Flexible traffic control and routing.
○ Efficient utilization of physical network devices.
● Approaches:
○ Software-Defined Networking (SDN): Virtual control over routing, prioritization.
○ Network Function Virtualization (NFV): Virtual appliances (firewalls, load
balancers, analyzers).
● Use Case: Cloud data centers, traffic optimization, microservices networking.
3. Desktop Virtualization
● Purpose: Run multiple desktop OS environments on virtual machines accessible
remotely.
● Benefits:
○ Centralized management and security.
○ Cost savings on hardware.
○ Supports remote work and BYOD policies.
● Types:
○ Virtual Desktop Infrastructure (VDI): Hosted on server, accessed via client.
○ Local desktop virtualization: Hypervisor on local machine, switch between host
and virtual OS.
● Example: Developers running Windows and Linux desktops on the same machine.
4. Storage Virtualization
● Purpose: Combines multiple physical storage devices into a single virtual pool.
● Benefits:
○ Streamlined management (backup, recovery, archiving).
○ Efficient utilization of heterogeneous storage.
○ Simplifies scaling storage without disruption.
● Types:
○ Block Storage Virtualization: Works at disk level, before file system.
○ File Storage Virtualization: Software on server enables file-level virtualization.
● Use Case: Enterprise data centers, cloud storage solutions.
5. Server Virtualization
● Purpose: Partition physical servers into multiple virtual servers.
● Benefits:
○ Optimizes server hardware usage.
○ Reduces hardware costs and energy consumption.
○ Allows separate environments for testing, development, or production.
● Methods:
○ Type 1 Hypervisor (bare-metal) for high efficiency and security.
○ Type 2 Hypervisor (hosted) for ease of deployment.
● Use Case: Cloud hosting, enterprise IT infrastructure, development sandboxes.
6. Data Virtualization
● Purpose: Provides a unified virtual layer to access data from multiple sources/formats.
● Benefits:
○ No need to move or replicate data.
○ Supports real-time data integration.
○ Simplifies data access for analytics and BI tools.
● Use Case:
○ Cross-functional reporting.
○ Big data analytics.
○ Hybrid cloud data integration.
Types of Virtual Machines (VMs)
1. Process Virtual Machine (Process VM)
● Definition: Runs a single process as an application on a host machine.
● Purpose: Provides a platform-independent programming environment.
● Key Feature: Masks details of the underlying hardware and OS.
● Example: Java Virtual Machine (JVM) – allows Java applications to run on any OS as
if native.
● Use Case: Running platform-independent applications, language runtimes, and portable
software.
2. System Virtual Machine (System VM)
● Definition: Fully virtualizes an entire system, substituting for a physical machine.
● Purpose: Enables multiple virtual machines to share host physical resources, each
with its own OS.
● Key Feature: Relies on a hypervisor, which can be:
○ Type 1 (bare-metal): e.g., VMware ESXi
○ Type 2 (hosted): e.g., VirtualBox, VMware Workstation
● Use Case: Server consolidation, testing multiple OS environments, cloud infrastructure,
and sandboxed systems.