Cloud Computing — Complete Exam Notes

CSE-468 · Units 1, 2 & 3 · Prof. Saurav Tripathi · Exam Preparation

📋 Table of Contents

  1. UNIT 1: Introduction to Cloud Computing
    1. What is Cloud Computing? All Key Definitions
    2. NIST 5-4-3 Model
    3. Essential Characteristics (with explanation)
    4. Deployment Models
    5. Service Models (SaaS, PaaS, IaaS)
    6. XaaS, DaaS
    7. Evolution & History
    8. Pre-existing Technologies (Cluster, Grid)
    9. Key Terminology (Cloud, IT Resource, Scaling…)
    10. Cloud Properties: Scalability, Availability, Fault Tolerance, Resiliency, Security
    11. Issues, Risks, Challenges & Research Challenges
    12. Principles to Scale-up Cloud Computing
  2. UNIT 2: Virtualization
    1. What is Virtualization? Types Overview
    2. Implementation Levels of Virtualization
    3. Hypervisor: Type 1 vs Type 2
    4. Full Virtualization vs Para-Virtualization
    5. CPU, Memory & I/O Virtualization
    6. Data, Hardware & Software Virtualization
    7. VM Migration (Live & Cold)
    8. Virtual Clusters
    9. Cloud OS: Eucalyptus
  3. UNIT 3: Service Models & Deployment Models (Deep Dive)
    1. IaaS — Deep Dive
    2. PaaS — Deep Dive
    3. SaaS — Deep Dive
    4. Deployment Models — Advantages & Disadvantages
    5. Multi-Cloud
  4. PYQ Analysis & Important Questions

UNIT 1: Introduction to Cloud Computing

1.1 What is Cloud Computing? — All Key Definitions

Cloud computing is a term with many authoritative definitions. Know all of them — exams ask you to compare.

NIST Definition (Most Important)

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.

Berkeley Definition

Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services. When a Cloud is made available in a pay-as-you-go manner to the public, the service being sold is called Utility Computing.

Buyya's Definition

A Cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements (SLAs) established through negotiation between the service provider and consumers.

Wikipedia Definition

Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.

Simple Working Definition

Cloud Computing is a service model that provides on-demand services to the user with minimal management efforts, regulated by Quality of Service (QoS) and Service Level Agreement (SLA). It is well known for the Pay-as-you-go model (renting rather than owning).

📌 Key Comparison — Distributed vs Cloud:
AspectDistributed ComputingCloud Computing
GoalDistribute a single task across multiple computersProvide on-demand computing services over internet
FocusSpeed & coordination between machinesDelivering hosted services to users
ModelTask-centricService-centric (Pay-per-use)
ResourcesHardware, software resources sharedHardware, software, networking via internet

1.2 The NIST 5-4-3 Model

This is the cornerstone of cloud computing theory. Always remember:

5 Essential Characteristics  |  4 Deployment Models  |  3 Service Models
NIST CLOUD MODEL (5-4-3) ═══════════════════════════════════════════════════ 5 ESSENTIAL 4 DEPLOYMENT 3 SERVICE CHARACTERISTICS MODELS MODELS ───────────────── ──────────────── ──────────── 1. On-Demand 1. Private 1. SaaS Self-Service 2. Public 2. PaaS 2. Broad Network 3. Community 3. IaaS Access 4. Hybrid 3. Resource Pooling 4. Rapid Elasticity 5. Measured Service

1.3 Essential Characteristics (Learn Each One)

1. On-Demand Self-Service

A consumer can unilaterally provision computing resources — such as server time, network storage, and applications — as needed, automatically without human interaction from the cloud provider. Once configured, usage can be automated, requiring no further human involvement.

2. Broad Network Access

Computing resources are available over the network and can be accessed using heterogeneous client platforms — mobiles, laptops, desktops, PDAs, tablets. Establishing ubiquitous access may require support for a range of devices, transport protocols, interfaces, and security technologies.

3. Resource Pooling

The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model. Different physical and virtual resources are dynamically assigned and reassigned according to consumer demand. The customer usually has no knowledge of the exact physical location of the provided resources (location transparency), though at a higher level of abstraction, the region can be specified.

Multi-tenancy means a single instance of the software runs on a server, serving multiple tenants (client organizations), each isolated from the other. This relies heavily on virtualization.

4. Rapid Elasticity

Resources can be elastically provisioned and released (automatically or manually) to scale rapidly outward and inward according to demand. To the consumer, available resources often appear to be unlimited and can be purchased in any quantity at any time.

Elasticity vs. Scalability: Scalability is the system's ability to handle growing amounts of work gracefully. Elasticity is the automated ability to scale IT resources transparently as required in response to runtime conditions.

5. Measured Service

Cloud systems automatically control and optimize resource use by leveraging a metering capability. Resource usage can be monitored, controlled, and reported, providing transparency for both provider and consumer. Users pay only for what they actually use (pay-as-you-go). Measured usage is not limited to billing — it also encompasses general monitoring and usage reporting.

1.4 Deployment Models

1. Private Cloud

Deployed for the exclusive use of a single organization. The organization may own and manage it, assign it to a third party, or both. Infrastructure can be on-premise or off-premise. Also called internal cloud. Limits access to service consumers belonging to the same organization.

2. Public Cloud

Infrastructure is made available to the general public. Owned by an organization selling cloud services, a government organization, or both. Typically deployed at the cloud vendor's premises. Also called external cloud or multitenant cloud.

3. Community Cloud

Infrastructure is shared by multiple organizations that form a community with shared concerns (mission, security requirements, policy, compliance). Owned, managed, and operated by the organizations or a third party. Can be on-premise or off-premise.

4. Hybrid Cloud

Infrastructure is a composition of two or more distinct cloud models (private, public, or community) that remain unique entities but are bound together by standardized or proprietary technology enabling data and application portability (e.g., cloud bursting for load-balancing between clouds).

How to remember: Private = one org only | Public = anyone | Community = several orgs with shared interest | Hybrid = mix of two or more types

1.5 Service Models

1. Software as a Service (SaaS)

The provider offers use of applications running on cloud infrastructure accessible via web browser (thin client). The consumer does NOT manage or control the underlying cloud infrastructure — not the network, servers, OS, storage, or individual application capabilities (except possibly limited user-specific settings).

What provider manages: Everything — servers, storage, networks, virtualization, OS, runtime, software, maintenance, updates.

Examples: Google Apps (Gmail, Google Docs), Salesforce.com, Microsoft OneDrive, Dropbox, Slack, EyeOS.

2. Platform as a Service (PaaS)

Provider gives consumers a runtime environment / development platform to deploy consumer-created or acquired applications (using programming languages and tools supported by the provider). The consumer does NOT manage or control the underlying cloud infrastructure (network, servers, OS, storage) but has control over deployed applications and possibly application hosting environment configurations.

What provider manages: Infrastructure, OS, runtime, middleware.

Examples: Google App Engine, Microsoft Windows Azure, Heroku, Hadoop.

3. Infrastructure as a Service (IaaS)

Provider offers processing, storage, networks, and other fundamental computing resources where the consumer can deploy and run arbitrary software (including OS and applications) via virtualization. The consumer does NOT manage the underlying cloud infrastructure but has control over OS, storage, deployed applications, and possibly limited networking components.

What provider manages: Physical hardware, network, storage hardware, virtualization.

Examples: Amazon EC2, Amazon Web Services (AWS), Google Compute Engine, Rackspace, Eucalyptus, OpenStack.

Memory trick (top to bottom = most abstracted to least):
SaaS = you just use the app (hotel analogy — just live there)
PaaS = you build on the platform (buy a furnished house — you customize it)
IaaS = you get raw infrastructure (rent an empty plot — build it yourself)
CONTROL RESPONSIBILITY COMPARISON ══════════════════════════════════════════════════════════ Layer SaaS PaaS IaaS ────────────────────────────────────────────────────────── Applications Provider YOU YOU Data Provider YOU YOU Runtime Provider Provider YOU Middleware Provider Provider YOU OS Provider Provider YOU Virtualization Provider Provider Provider Servers Provider Provider Provider Storage Provider Provider Provider Networking Provider Provider Provider ────────────────────────────────────────────────────────── YOU = Consumer controls | Provider = CSP controls

1.6 XaaS and DaaS

Everything-as-a-Service (XaaS)

Also known as Anything-as-a-Service, XaaS provides flexibility for users and companies to customize computing environments on demand. XaaS is evolving from technology-as-a-service to business-as-a-service.

Data as a Service (DaaS)

A data management strategy that uses the cloud to deliver data storage, integration, processing, and/or analytics services via a network connection. Similar to SaaS, DaaS removes the need to install and manage data infrastructure locally — it outsources data storage, integration, and processing operations to the cloud. Used in data integration, business intelligence, and cloud computing.

1.7 Evolution & History of Cloud Computing

YearMilestone
1961John McCarthy proposed computing as a public utility: "Computing may someday be organized as a public utility just as the telephone system."
1969Leonard Kleinrock (ARPANET chief scientist) spoke of "computer utilities" spreading via networks.
Mid-1990sPublic Internet-based services: search engines (Yahoo!, Google), email (Hotmail, Gmail)
Late 1990sSalesforce.com pioneered remotely provisioned services for the enterprise.
2002Amazon launched Amazon Web Services (AWS) — storage, computing, and business functionality.
2006The term "cloud computing" emerged. Amazon launched Elastic Compute Cloud (EC2). Google Apps started providing browser-based enterprise apps.
2008–2009Google App Engine launched. Microsoft Azure launched.

1.8 Pre-existing Technologies (Technology Influences)

Clustering

A cluster is a group of independent IT resources interconnected to work as a single system (usually via LAN). Key features: redundancy, failover, high-speed communication links between nodes, reduced failure rates, increased availability. The concept of built-in redundancy and failover is core to cloud platforms.

Grid Computing

A computing grid provides a platform where computing resources are organized into one or more logical pools, collectively coordinated to provide a high-performance distributed grid — sometimes called a "super virtual computer."

Grid computing differs from clustering: grid systems are much more loosely coupled and distributed. Grid is based on a middleware layer deployed on computing resources that implements workload distribution, load balancing, failover controls, and autonomic configuration management.

Cluster vs Grid: Cluster = tightly coupled, same location, high-speed links. Grid = loosely coupled, geographically distributed, middleware-based.

1.9 Key Terminology

Cloud

A distinct IT environment designed for the purpose of remotely provisioning scalable and measured IT resources. The term originated as a metaphor for the Internet. A cloud is typically privately owned and offers metered access to IT resources.

IT Resource

A physical or virtual IT-related artifact — either software-based (virtual server, custom software) or hardware-based (physical server, network device).

On-Premise

An IT resource hosted in a conventional IT enterprise within an organizational boundary that does NOT specifically represent a cloud. An on-premise IT resource cannot be cloud-based and vice versa. However: on-premise resources can interact with cloud-based resources; on-premise resources can be migrated to the cloud.

Cloud Provider vs Cloud Consumer

Scaling

Cloud Service

Any IT resource made remotely accessible via a cloud. The driving motivation is to provide IT resources as services that encapsulate other IT resources while offering functions for clients to use remotely. Most cloud services are labeled with the "as-a-service" suffix.

1.10 Cloud Properties in Detail

Dynamic Provisioning

A strategy that manages server resources by activating only what is needed, aiming to reduce power consumption by adjusting resource availability based on demand.

Traditional problems: (1) Under-provision → loss of users/revenue because demand exceeds capacity. (2) Over-provision → wasted resources because capacity far exceeds demand.

Cloud solution: Dynamically provision resources to track demand — meet seasonal variations, burst demand for extraordinary events, and variations between industries.

Availability & Reliability

How to achieve: Fault-tolerant systems, system resilience, reliable system security.

Fault Tolerance

The property that enables a system to continue operating properly in the event of failure of some of its components. Four basic characteristics:

  1. No Single Point of Failure (SPOF): No single component whose failure stops the entire system. If a failure occurs, the system must continue to operate without interruption during repair.
  2. Fault Detection and Isolation (FDI): Monitoring the system, identifying when a fault has occurred, and pinpointing the type and location of the fault.
  3. Fault Containment: Isolating the failing component to prevent propagation of failure to the rest of the system.
  4. Availability of Reversion Modes: System must maintain checkpoints to manage state changes and revert if needed.

System Resilience

The ability to provide and maintain an acceptable level of service in the face of faults. A resilient system returns to its original state after encountering trouble as quickly as possible.

Disaster Recovery strategies: Data backup (off-site at regular intervals), data replication, system replication, local mirror systems, UPS (Uninterruptible Power Supply), surge protectors.

Autonomic Computing (Self-Management)

Develops computer systems capable of self-management. Four functional areas:

Load Balancing

A technique to distribute workload evenly across two or more computers, network links, CPUs, hard drives, or other resources to: optimize resource utilization, maximize throughput, minimize response time, and avoid overload.

Benefits: Improved resource utilization, improved system performance, improved energy efficiency.

Job Scheduling

A software application that manages unattended background executions (batch processing). In cloud: manages computation-intensive tasks, dynamically growing/shrinking tasks, and tasks with complex processing dependencies. Approaches: pre-defined workflow, system automatic configuration.

1.11 Issues, Risks & Challenges

Distinction: A risk is an event that could possibly occur in the future. A challenge/issue is an event that has already occurred.
ChallengeWhat it meansHow to prevent/minimize
Data Security & PrivacyUsers can't see where data is processed/stored; risks: data theft, leakage, breaches, account hijacking, hacked APIs. 64% of companies cite this as biggest challenge.Ensure CSP has secure identity authentication, access controls, encryption. Ask about their security capabilities.
Compliance RisksMust comply with HIPAA, GDPR, etc. when data moves to cloud. 44% say compliance is a major challenge.Choose vendors that are certified compliant with applicable standards.
Reduced Visibility & ControlNo access to security tools on cloud platform; can't implement incident response; can't identify abnormal patterns easily.Before migrating, clarify what data can be accessed and what security controls the provider uses. Continuous monitoring.
Cloud MigrationMoving legacy systems to cloud is time-consuming; challenges: troubleshooting, downtime, security, complexity, expenses.Analyze requirements before choosing CSP; compare providers; minimize business disruption.
IncompatibilityCloud services may be incompatible with on-premises infrastructure.List all technologies and check compatibility with CSP before finalizing.
Improper Access ControlsWeak passwords, inactive users, mismanaged credentials lead to unauthorized access.Central governing authority for user accounts; use IAM (Identity and Access Management) solutions; MFA.
Lack of ExpertiseCloud skills are expensive; staff may be unfamiliar with cloud technologies.Use technologies with low learning curves; in-house training; hire/train senior cloud professionals.
DowntimePoor internet connectivity causes service disruption, lags, missed deadlines, reduced productivity.Ensure consistent, high-speed internet connectivity.
Insecure APIsExternal APIs provide entry points for attackers; cause broken authentication, data exposure.Design APIs with robust access control, encryption, authentication; run penetration testing; use TLS/SSL; MFA.
Cost ManagementUnder-optimized resources, unused instances, performance spikes raise costs beyond pay-as-you-go savings.Monitor usage; turn off unused instances; right-size resources.

Major Research Challenges in Cloud Computing

  1. Portability: Ability to move an application and its data from one cloud to another irrespective of provider, platform, or OS (e.g., moving from a Windows cloud to a Linux cloud without changing the application).
  2. New Architecture Development: Most clouds use centralized old-style data centers. Research into voluntary resources, hybrid dedicated/voluntary architectures for scientific computing.
  3. Limited Scalability: Providers promise infinite scalability but struggle as millions of users migrate to cloud.
  4. Lack of Standards: Each CSP has their own standards with no comparative performance measurement facility for users to compare clouds.
  5. Security & Privacy: Main obstacle to fast adoption — applications and architectures must be private; security mechanisms must be evolving and adaptive. Trust and Privacy are key research areas.
  6. Reliability: Reliability of the connection to cloud services; secure data movement at required speed.
  7. Governance: Governments providing cloud services via own data centers; government, organizations, and users must work together.
  8. Metering: Services must be metered and monitored using standard parameters.
  9. Energy Management: Resources "on all the time" is energy-inefficient; need energy-efficient equipment and data centers.
  10. Denial of Service (DoS): What happens when cloud is under heavy DoS attack? Should DoS protection be built into cloud or handled at internet level?

1.12 Principles to Scale Up Cloud Computing

  1. Federation: Each cloud has limited capacity; federation of service providers enables collaboration and resource sharing. A federated cloud must allow virtual applications to be deployed on federated sites and migrate easily between sites.
  2. Freedom: End-users should be completely free to use cloud services without depending on a specific CSP. CSPs should be able to manage services without sharing internal details.
  3. Isolation: A CSP provides resources to multiple end-users; each user's data must be isolated and cannot be accessed by others sharing the cloud.
  4. Elasticity: Resources should be elastic — users can freely attach and release computing resources on demand.
  5. Business Orientation: CSPs must understand exact business requirements of customers and customize service parameters accordingly, guaranteeing QoS for mission-critical applications.
  6. Trust: Most important factor driving customers to the cloud. Trust must be maintained among cloud customer, vendor, and providers to create successful federations.

Advantages of Cloud Computing

Disadvantages of Cloud Computing

  1. Internet Connectivity: Requires constant, stable internet — downtime disrupts everything.
  2. Vendor Lock-in: Hard to switch providers; data and applications may not be portable.
  3. Limited Control: Users have reduced visibility and control over their data and infrastructure.
  4. Security: Data transmitted over internet raises security and privacy concerns.

UNIT 2: Virtualization

2.1 What is Virtualization?

Virtualization is the "creation of a virtual (rather than actual) version of something" — such as a server, desktop, storage device, operating system, or network resources.

More precisely: Virtualization represents a technology platform used for the creation of virtual instances of IT resources. A layer of virtualization software allows physical IT resources to provide multiple virtual images of themselves so that their underlying processing capabilities can be shared by multiple users.

Key facts:

VIRTUALIZATION STRUCTURE ════════════════════════════════════════════ [ App A ] [ App B ] [ App C ] [ Guest OS 1 ] [ Guest OS 2 ] ──────────────────────────────────── HYPERVISOR / VMM ← virtualization layer ──────────────────────────────────── PHYSICAL HARDWARE (CPU, RAM, Storage, NIC)

Types of Virtualization (4 types from Unit 1)

  1. Hardware Virtualization: VMM/hypervisor installed directly on hardware. Main job: control/monitor processor, memory, and hardware. Used mainly for server platforms.
  2. Operating System Virtualization: VMM installed on the host OS (not directly on hardware). Used mainly for testing applications on different OS platforms.
  3. Server Virtualization: VMM installed directly on the server system. One physical server divided into multiple virtual servers on demand — enables load balancing.
  4. Storage Virtualization: Process of grouping physical storage from multiple network storage devices so it looks like a single storage device. Done mainly for backup and recovery purposes.

VMM/Hypervisor Functions

2.2 Implementation Levels of Virtualization

LevelDescriptionSystemsAdvantageLimitation
ISA Level Emulates a given ISA (Instruction Set Architecture) by the host machine's ISA Bochs, Crusoe, QEMU, BIRD, Dynamo Best application flexibility; can run large amount of legacy binary codes for various processors Slow — one source instruction may need tens or hundreds of native instructions; requires processor-specific translation layer
Hardware Abstraction Level Virtualization performed right on top of hardware; generates virtual hardware environments for VMs VMware, Virtual PC, Denali, Xen Higher performance; good application isolation Very expensive to implement (complexity)
OS Level Abstraction layer between OS and user applications; creates isolated containers on a single physical server Jail, Virtual Environment, Ensim's VPS, FVM Minimal startup/shutdown cost; low resource requirement; high scalability; easy to synchronize All VMs must have the same kind of guest OS; poor application flexibility and isolation
Library Support Level Creates execution environments for running alien programs via API call interception and remapping Wine, WAB, LxRun, VisualMainWin Very low implementation effort Poor application flexibility and isolation
User-Application Level Virtualizes an application as a VM — sits as an application on top of OS, exports abstraction of a VM JVM, .NET CLI, Panot Best application isolation Low performance; low application flexibility; high implementation complexity

2.3 Hypervisor — Type 1 vs Type 2

A hypervisor is a hardware virtualization technique allowing multiple operating systems (guests) to run on a host machine. Also called Virtual Machine Monitor (VMM).

Type 1: Bare Metal Hypervisor

Type 2: Hosted Hypervisor

TYPE 1 (Bare Metal) TYPE 2 (Hosted) ═══════════════════════ ═══════════════════════ Guest OS Guest OS Guest OS Guest OS ──────────────────── ──────────────────── Hypervisor Hypervisor ──────────────────── ──────────────────── Hardware Host OS ──────────────────── Hardware

2.4 Full Virtualization vs Para-Virtualization

Full Virtualization

Para-Virtualization

Key Difference: Full virtualization = guest OS unmodified + binary translation. Para-virtualization = guest OS modified + hypercalls for better performance.

2.5 CPU, Memory, and I/O Virtualization

CPU Virtualization

Modern OS and processors support multiple processes running simultaneously. Processors have at least two modes:

Three categories of critical instructions:

  1. Privileged instructions: Execute in privileged mode; trapped if executed outside this mode
  2. Control-sensitive instructions: Attempt to change the configuration of resources used
  3. Behavior-sensitive instructions: Have different behaviors depending on resource configuration (e.g., load/store over virtual memory)

A CPU architecture is virtualizable if it supports running the VM's privileged and unprivileged instructions in the CPU's user mode while the VMM runs in supervisor mode.

RISC CPU architectures can be naturally virtualized. x86 architectures are NOT primarily designed for virtualization (10 sensitive instructions are not privileged).

Hardware-Assisted CPU Virtualization (Intel VT/AMD-V): Intel and AMD add an additional mode called privilege mode level (Ring -1) to x86 processors, so OSes still run at Ring 0 and the hypervisor runs at Ring -1. All privileged and sensitive instructions are automatically trapped in the hypervisor — removing the need for binary translation in full virtualization.

Memory Virtualization

Similar to virtual memory supported by modern OS. Modern x86 CPUs include a Memory Management Unit (MMU) and a Translation Lookaside Buffer (TLB) to optimize virtual memory performance.

Two-stage mapping:

  1. Guest OS maps: Virtual Memory → Physical Memory (Guest Physical)
  2. VMM maps: Physical Memory (Guest Physical) → Machine Memory (Real Physical)

Each page table of the guest OS has a corresponding shadow page table in the VMM. VMware uses shadow page tables to perform virtual-memory-to-machine-memory translation. Intel's Extended Page Table (EPT) hardware performs this in hardware, avoiding performance overhead.

I/O Virtualization

Involves managing the routing of I/O requests between virtual devices and shared physical hardware. Three approaches:

  1. Full Device Emulation: All functions of a device (enumeration, identification, interrupts, DMA) are replicated in software. Simple but slowest.
  2. Para-virtualization (Frontend/Backend):
  3. Direct I/O Virtualization: VM devices access hardware directly; close-to-native performance without high CPU costs. Uses Self-Virtualized I/O (SV-IO) — provides Virtual Interface (VIF) for every virtualized I/O device.

Conclusions on CPU, Memory & I/O Virtualization

2.6 Data, Hardware, and Software Virtualization

Data Virtualization

Process of retrieving data from various resources without knowing its type and physical location. Collects heterogeneous data from different resources and allows access according to work requirements. Accessible using web portals, web services, SaaS, mobile applications.

Used in: Data integration, business intelligence, cloud computing.

Industries: Communication & Technology (real-time ODS for marketing), Finance (trade reconciliation), Government (environmental protection), Healthcare (patient care), Manufacturing (supply chain optimization).

Advantages: Access data without worrying about location; better security; reduces costs by removing data replication; real-time data access; user-friendly interface.

Disadvantages: Availability issues (maintained by third-party providers); high implementation cost; scalability issues.

Hardware Virtualization

Accomplished by abstracting the physical hardware layer using a hypervisor/VMM installed directly on hardware. Main job: control and monitor processor, memory, and other hardware resources.

Advantages:

Software Virtualization

Abstracts the software installation procedure and creates virtual software installations. Virtualized software is an application installed into its own self-contained unit. Examples: VMware, VirtualBox.

Advantages:

2.7 VM Migration

Why Migrate VMs?

Types of VM Migration

1. Live / Hot Migration (VM is powered ON):

Process of moving a running VM from one physical host to another without disrupting normal operations or causing downtime. Memory, storage, and network connectivity are transferred from the original host to the destination. The end-user experiences no service interruption.

Requirements for Live Migration (Hyper-V):

2. Regular / Cold Migration (VM is powered OFF):

VM is shut down before moving. Simpler but causes downtime.

2.8 Virtual Clusters

Virtual cluster nodes can be either physical or virtual machines. Multiple VMs running different OSes can be deployed on the same physical node.

Purpose: Consolidate multiple functionalities on the same server → greatly enhance server utilization and application flexibility.

Key characteristics:

Virtual Cores vs Physical Cores:

Physical CoresVirtual Cores
Actual physical cores in the processorMore virtual cores can be visible to a single OS than physical cores
More burden on software to write directly executable appsDesign of software becomes easier as hardware assists dynamic resource utilization
Hardware provides no assistance to software → simpler hardwareHardware provides assistance → more complex hardware
Poor resource managementBetter resource management
Lowest level of system software must be modifiedLowest level of system software need NOT be modified

2.9 Cloud OS: Eucalyptus

Eucalyptus (Elastic Utility Computing Architecture) is a paid and open-source software for building AWS-compatible private and hybrid cloud environments. Originally developed by Eucalyptus Systems.

Performance Comparison (Xen vs OpenVZ on Linux): Virtualization overhead of Xen (9×) is considerably higher than OpenVZ (2×), primarily due to L2-cache misses. Hosting multiple tiers of the same application on the same server is NOT an optimal solution.

UNIT 3: Service Models and Deployment Models (Deep Dive)

3.1 Infrastructure as a Service (IaaS) — Deep Dive

The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications.

The consumer does NOT manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., firewalls).

Examples of IaaS

Enabling Technique: Virtualization

Virtualization is the key enabling technique for IaaS. It is an abstraction of logical resources away from underlying physical resources.

IaaS uses: Server Virtualization + Storage Virtualization + Network Virtualization

IaaS Provided Services

IaaS Summary

IaaS is the deployment platform that abstracts the infrastructure. Enabling technique: Virtualization. Consumer controls: OS, storage, deployed apps, possibly networking. Provider controls: physical hardware, virtualization, network, storage hardware.

3.2 Platform as a Service (PaaS) — Deep Dive

The capability provided is to deploy onto cloud infrastructure consumer-created or acquired applications using programming languages and tools supported by the provider.

The consumer does NOT manage the underlying infrastructure (network, servers, OS, storage) but has control over deployed applications and possibly application hosting environment configurations.

Examples of PaaS

Enabling Technique: Runtime Environment Design

A runtime environment refers to a collection of software services available — usually implemented as a collection of program libraries. Common properties in runtime environment:

PaaS Provided Services

1. Programming IDE:

2. System Control Interface:

PaaS Summary

PaaS is the development platform that abstracts infrastructure, OS, and middleware to drive developer productivity. Enabling technique: Runtime Environment. Services: Programming IDE, Programming APIs, Development Tools, System Control Interface (policy-based + workflow-based).

3.3 Software as a Service (SaaS) — Deep Dive

The capability provided is for the consumer to use the provider's applications running on cloud infrastructure, accessible from various client devices through a thin client interface such as a web browser.

The consumer does NOT manage or control the underlying infrastructure (network, servers, OS, storage) or even individual application capabilities — only limited user-specific application configuration settings.

Examples of SaaS

Enabling Technique: Web Service (Web 2.0)

Web 2.0 is the trend of using the full potential of the web:

SaaS Provided Services

Web Portal:

Web-based Application Categories:

SaaS Summary

SaaS = finished applications that you rent and customize. Enabling technique: Web Service. Services: Web-based Applications (general, business, scientific, government) + Web Portal.

3.4 Deployment Models — Full Advantages & Disadvantages

Public Cloud

Cloud infrastructure made available to the general public or large industry group. Also known as external cloud or multitenant cloud.

Basic characteristics: Homogeneous infrastructure, common policies, shared resources, multi-tenant, leased/rented infrastructure, economies of scale.

Advantages:

Disadvantages:

Private Cloud

Cloud infrastructure operated solely for one organization. May be managed by the organization or a third party; on-premise or off-premise. Also called internal cloud or on-premise cloud.

Basic characteristics: Heterogeneous infrastructure, customized and tailored policies, dedicated resources, in-house infrastructure, end-to-end control.

Advantages:

Disadvantages:

Hybrid Cloud

Composition of two or more clouds (private or public) that remain unique entities but are bound together by standardized or proprietary technology enabling data and application portability.

Usage pattern: Non-critical activities → public cloud; Critical activities → private cloud (or vice versa). Cloud bursting is used for load-balancing between clouds.

Advantages:

Disadvantages:

Community Cloud

Cloud infrastructure shared by several organizations that have shared concerns (mission, security requirements, policy, compliance). May be managed by the organizations, a third party, or both.

Advantages:

Comparison Table (All Deployment Models):
FeaturePublicPrivateCommunityHybrid
AccessAnyoneOne org onlySpecific communityMixed
CostLow (pay-per-use)High (own infra)SharedModerate
SecurityLowerHighestHighGood
ScalabilityHighestLimitedLimitedHigh
ControlLeastFullSharedPartial
MaintenanceProviderIn-houseSharedBoth
ExampleAWS, AzureCorp datacentersGov agenciesNetflix

3.5 Multi-Cloud

Multi-Cloud refers to the distributed, heterogeneous world of applications and users across public clouds, data centers, and edge.

In this model, organizations use a combination of on-premises, private cloud, public cloud, and edge to build, operate, access, and secure their applications consistently across clouds.

Key benefits:

Hybrid Cloud vs Multi-Cloud:

PYQ Analysis & Important Questions

📝 Frequently Examined Topics (from past papers):

How to Answer Common Exam Questions

Q: What is cloud computing? Explain its essential characteristics.

Start with the NIST definition (most important). Then explain the 5-4-3 model. Write all 5 characteristics with 3–4 lines each. Mention examples where possible. Always mention the Pay-as-you-go model.

Q: Explain the service models of cloud computing with examples.

Draw the layered diagram (IaaS → PaaS → SaaS). For each model: define it, state what the consumer controls, what the provider controls, and give examples. Use the house analogy if needed.

Q: Differentiate full virtualization and para-virtualization.

Use a 5-column comparison table. Key points: Guest OS modification, Binary Translation, Hypercalls, Performance, Examples.

⚠️ Exam Tips:

Quick-Revision: Everything in One Place

CLOUD COMPUTING AT A GLANCE ══════════════════════════════════════════════════════════════════ NIST 5-4-3 Characteristics: On-Demand Self-Service | Broad Network Access | Resource Pooling | Rapid Elasticity | Measured Service Deployment: Private | Public | Community | Hybrid Service: SaaS (use apps) | PaaS (build apps) | IaaS (rent infra) VIRTUALIZATION Levels: ISA → HAL → OS → Library → User-App Hypervisors: Type 1 (bare metal) | Type 2 (hosted) Types: Full (binary translation, no OS mod) | Para (hypercalls, OS modified) CPU: 3 critical instructions: privileged, control-sensitive, behavior-sensitive Memory: Two-stage (virtual→physical→machine), shadow page tables, EPT I/O: Full emulation | Para (frontend/backend) | Direct I/O VM MIGRATION Live / Hot = VM running, no downtime, memory+storage+network transferred Cold / Regular = VM shut down, simpler, causes downtime KEY FORMULAS TO REMEMBER Availability: 99.999% = "Five Nines" = ~5 min downtime/year Scalability: Horizontal (scale out/in) | Vertical (scale up/down)

Cloud Computing Notes · CSE-468 · Units 1–3 · Saurav Tripathi · SRM University AP