Cloud Computing Architecture and Virtualization Principles

Infrastructure as a Service (IaaS)

Infrastructure as a Service (IaaS) provides virtual servers, storage, networking, and computing resources through the cloud. The provider manages hardware, virtualization, and networking, while the customer manages the Operating System (OS), applications, middleware, and data. Resources are available on-demand with elastic scaling and pay-per-use billing.

  • Major Advantages: Low hardware cost, quick deployment, disaster recovery, high availability, and flexibility.
  • Disadvantages: Security risks in shared infrastructure, hidden Virtual Machine (VM) costs, legacy migration issues, and internet dependency.
  • Examples: AWS EC2 (compute), S3 (storage), EBS (block storage), and VPC (network).

Reducing Total Cost of Ownership (TCO)

Cloud reduces the Total Cost of Ownership (TCO) through economies of scale, where providers purchase hardware in bulk at cheaper rates. Elasticity avoids over-provisioning because resources scale according to workload demand. Multi-region failover and Service Level Agreements (SLAs) reduce downtime losses. Virtualization improves hardware utilization and reduces power and cooling costs. Cloud also converts Capital Expenditure (CapEx) into flexible Operational Expenditure (OpEx) through pay-per-use pricing.


Cloud Definition and Five Key Characteristics

Cloud computing is on-demand network access to shared configurable resources like servers, storage, applications, and services.

  1. On-Demand Self-Service: Users provision resources automatically without provider interaction.
  2. Broad Network Access: Services are accessible through the internet using phones, laptops, and tablets.
  3. Resource Pooling: Shared multi-tenant infrastructure with location independence.
  4. Rapid Elasticity: Resources scale up or down instantly based on traffic.
  5. Measured Service: Usage is monitored and billed according to consumption.

Platform as a Service (PaaS)

Platform as a Service (PaaS) provides a complete development environment including the OS, runtime, database, and middleware. Developers focus only on coding and deployment while the provider handles infrastructure management.

  • Benefits: Faster coding, CI/CD support, easier testing, deployment automation, and multi-platform development.
  • Types: Public PaaS (Heroku, GAE), Private PaaS (OpenShift), Hybrid PaaS (Azure Stack), and Mobile PaaS (Firebase).

Software as a Service (SaaS)

Software as a Service (SaaS) delivers ready-to-use software through a browser or the internet using a subscription model. The provider manages updates, backups, maintenance, scaling, and security.

  • Characteristics: Multi-tenancy, centralized updates, browser accessibility, and zero installation.
  • Examples: Salesforce for CRM/analytics and Google Workspace for Docs, Gmail, Drive, and Meet collaboration.

Utility Computing, Web 2.0, and SOA

Utility Computing introduced a pay-per-use service model similar to electricity. Web 2.0 enabled interactive browser-based applications and online collaboration platforms. Service Oriented Architecture (SOA) introduced modular, API-based reusable services which later became the foundation for cloud, SaaS, and microservices.


Core Types of Virtualization

  • Full Virtualization: Completely simulates hardware; the guest OS remains unchanged. It uses binary translation. Examples: VMware, VirtualBox.
  • Para-Virtualization: Modifies the guest OS to communicate directly with the hypervisor using hypercalls, reducing overhead and improving performance. Example: Xen.
  • OS-Level Virtualization: Shares the same host kernel among isolated containers. It is lightweight with fast startup. Examples: Docker, LXC.

Virtualization Performance and Management Analysis

Virtualization improves CPU utilization by running multiple VMs on single hardware but may cause noisy-neighbor issues. It reduces hardware, power, and cooling costs, though enterprise hypervisor licenses are expensive. VM isolation improves security, but hypervisor escape attacks are possible. Features like snapshots, cloning, and live migration simplify management, though VM sprawl can become difficult to control.


Para-Virtualization vs. Full Virtualization

Para-virtualization offers near-native speed and low overhead because the guest OS directly communicates with the hypervisor using hypercalls, but it requires a modified OS. Full virtualization supports unmodified legacy operating systems and complete compatibility but has higher processing overhead because hardware instructions must be translated continuously.


Type 1 vs. Type 2 Hypervisors

  • Type-1 Hypervisor: Runs directly on hardware without a host OS. It provides high performance, security, and low latency. Examples: ESXi, Hyper-V, XenServer.
  • Type-2 Hypervisor: Runs as an application above a host OS. It is easier to install for testing and personal use but slower because requests pass through the host OS. Examples: VirtualBox, VMware Workstation.

Parallel Computing Elements and Levels

Parallel computing executes multiple operations simultaneously using multiple cores or processors.

  • Elements: Hardware (multi-core CPUs, cache, vector units) and software (OpenMP, threads, compiler optimization).
  • Levels:
    1. Bit-level: Larger processor word size.
    2. Instruction-level: Pipelining and superscalar execution.
    3. Data-level: Same operation on large datasets.
    4. Task-level: Different tasks on different cores.

Importance includes handling big data, AI/ML processing, real-time analytics, and overcoming processor speed limitations.


Distributed Computing Architectures

Distributed computing uses multiple interconnected systems working together. Components include nodes, network infrastructure, and a middleware abstraction layer.

  • Architectures: Client-server, Peer-to-peer, and Layered architecture.
  • IPC Mechanisms: RPC/RMI allows remote function execution, while Message Passing uses queues or pub-sub communication.

Used in cloud systems, distributed databases, and large-scale applications.


Comparing AWS, Google App Engine, and Azure

  • AWS: A large IaaS/PaaS platform offering compute, storage, networking, and enterprise scalability. Best for enterprise migration and High-Performance Computing (HPC).
  • Google App Engine (GAE): A managed PaaS focused on rapid web application deployment with automatic scaling and server management.
  • Microsoft Azure: Focuses on hybrid enterprise cloud with strong integration for Active Directory, Windows Server, and the .NET ecosystem.

Cloud Deployment Models

  • Public Cloud: Uses third-party shared infrastructure over the internet. It is cost-effective, scalable, and pay-per-use but offers less control and security.
  • Private Cloud: Dedicated to a single organization with better security, customization, and compliance, but requires high cost and maintenance.
  • Hybrid Cloud: Combines public and private clouds, allowing sensitive workloads to remain private while the public cloud handles peak traffic. It is flexible but complex to manage.
  • Community Cloud: Shared among organizations with similar compliance needs, such as healthcare or government sectors.

Cloud Computing Challenges and Solutions

  • Interoperability: Occurs because providers use proprietary APIs causing vendor lock-in. Docker, Kubernetes, and Terraform improve portability.
  • Scalability and Fault Tolerance: Issues arise during traffic spikes and failures. Microservices, load balancing, and multi-region failover solve these problems.
  • Security and Privacy: Concerns involve data trust, compliance, and unauthorized access. Solutions include Multi-Factor Authentication (MFA), zero-trust architecture, and AES/TLS encryption.

Amazon Web Services (AWS) Ecosystem

AWS is Amazon’s cloud platform providing IaaS, PaaS, and SaaS services.

  • Services: EC2 (compute), Lambda (serverless), S3/EBS (storage), RDS/DynamoDB (database), and VPC (networking).
  • Advantages: Global regions, high availability, disaster recovery, scalability, IAM security, and compliance certifications.

Green Cloud Computing and Sustainability

Green cloud computing focuses on reducing energy usage and the environmental impact of cloud infrastructure.

  • Components: Green Broker, Green User Portal, Energy Efficient Resource Allocator, and Consolidation Engine.
  • Techniques: VM consolidation, Dynamic Voltage Frequency Scaling (DVFS), eco-friendly cooling, and live migration of VMs to reduce power consumption.

Market-Oriented Cloud Computing (MOCC)

Market-Oriented Cloud Computing (MOCC) allocates resources using economics, SLAs, demand, and pricing strategies.

  • Components: Users/Consumers, Service Request Broker, SLA Allocator, Pricing Engine, and VM Monitor.
  • Goal: Balancing customer Quality of Service (QoS), deadlines, and provider profit through dynamic pricing and optimized resource allocation.

Cloud Management and Governance

Cloud management includes provisioning, monitoring, automation, security, and cost governance of cloud resources.

  • Provisioning: Automates VM and network deployment.
  • Monitoring: Tracks CPU, memory, logs, and latency.
  • Cost Governance: Removes unused resources and rightsizes instances.
  • Security: Ensures compliance, patching, and access control.
  • Infrastructure as Code (IaC): Orchestration tools automate operations.

Service Level Agreements (SLA) and Billing

An SLA (Service Level Agreement) defines uptime, response time, throughput, and provider accountability. It also specifies penalties or service credits if the provider fails.

Billing uses a metered usage model, such as per-second compute and per-GB storage billing. Multi-tenant accounting tracks resource consumption for departments. Chargeback and showback provide internal billing transparency.


Cloud Integration in IoT

Cloud supports the Internet of Things (IoT) by ingesting millions of device messages securely. It provides massive storage, analytics, and centralized device management. Cloud platforms also handle firmware updates, authentication, and remote monitoring. Examples: AWS IoT Core and Azure IoT Hub.


Cloud Computing for Machine Learning

Cloud enables Machine Learning (ML) by providing on-demand GPUs/TPUs for training large models. Managed MLOps platforms support data preprocessing, distributed training, hyperparameter tuning, and deployment. Examples: AWS SageMaker and Google Vertex AI.


Version Control with GitHub

GitHub is a cloud-based platform built on Git for version control and team collaboration. Features include repositories, pull requests, issue tracking, and CI/CD integration.

  • Workflow Steps:
    1. Create Repo: New Repository → Name → Public/Private → Create.
    2. Clone: git clone <url>
    3. Commit: git add . / git commit -m "message"
    4. Push: git push origin main

Benefits include collaboration, backup, version history, and open-source sharing.