Cloud ComputingUnit 29 min read

Cloud Service Models: IaaS, PaaS, SaaS – Definitions, Workings & Real-World Use

Unit 2 of Cloud Computing explores the three core cloud service models—Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS)—their architectures, workflows, and real-world applications in Nepalese and global tech ecosystems (e.g., eSewa, AWS, Google Cloud).

Key points

  • IaaS provides virtualized computing resources (VMs, storage, networks) on-demand, while PaaS adds development tools and SaaS delivers ready-to-use software over the internet.
  • IaaS is best for IT teams needing control (e.g., hosting a custom web server), PaaS for developers (e.g., deploying apps on Google App Engine), and SaaS for end-users (e.g., using Gmail or eSewa).
  • Each model follows a layered architecture: IaaS = hardware layer, PaaS = middleware layer, SaaS = application layer.
  • Security, cost, and scalability trade-offs differ: IaaS offers granular control but requires more management; SaaS is easiest to use but least customizable.
  • Real-world examples: **eSewa** (SaaS for digital payments), **AWS EC2** (IaaS for scalable servers), **Google App Engine** (PaaS for app deployment).
  • Exam focus: Compare models using a table, explain a service’s workflow (e.g., how a SaaS app like WhatsApp stores data), and link to Nepalese tech (e.g., Ncell’s cloud-based services).
  • ```

Core Concepts: Definitions and Scope

Cloud service models define how cloud providers deliver resources to users. The three primary models—IaaS, PaaS, and SaaS—differ in abstraction level, control, and use cases.

1. Infrastructure as a Service (IaaS)

Definition: IaaS provides virtualized computing resources over the internet. Users rent infrastructure (VMs, storage, networks) without managing physical hardware. How it works:

  • Users interact with a virtualized layer (e.g., AWS EC2, Microsoft Azure VMs).
  • The cloud provider manages hardware (servers, storage, networking), while users install OSes, middleware, and applications.
  • Example: A Nepalese startup hosting its e-commerce website on AWS EC2 uses IaaS to scale servers during Diwali sales.
classDiagram
    class User {
        +Rents VMs/storage/networks
        +Installs OS/apps
    }
    class CloudProvider {
        +Manages physical hardware
        +Provides virtualization
    }
    class VirtualizedLayer {
        +VMs
        +Storage
        +Networks
    }
    User --> VirtualizedLayer : Uses
    CloudProvider --> VirtualizedLayer : Hosts

Real-world example:

  • Ncell’s cloud infrastructure: Ncell uses IaaS (likely AWS or Azure) to host its Ncell App backend, ensuring high availability for millions of users without managing physical data centers.
  • Worked example: A bank like Nabil Bank uses IaaS to deploy a loan processing system during peak seasons (e.g., Dashain). The bank spins up additional VMs to handle increased transaction volumes, paying only for the resources used.

2. Platform as a Service (PaaS)

Definition: PaaS offers a development platform with tools, libraries, and services to build, test, and deploy applications. Users avoid managing infrastructure or OSes. How it works:

  • Providers supply runtime, middleware, and development tools (e.g., Google App Engine, Heroku).
  • Users focus on application code while the platform handles scaling, security patches, and OS updates.
  • Example: A developer in Pokhara builds a food delivery app using Firebase (PaaS) for authentication and real-time updates.
classDiagram
    class Developer {
        +Writes code
        +Deploys apps
    }
    class PaaSProvider {
        +Provides runtime/middleware
        +Handles scaling/security
    }
    class UserApp {
        +Runs on PaaS
    }
    Developer --> UserApp : Develops
    UserApp --> PaaSProvider : Deployed
    PaaSProvider --> Infrastructure : Abstracted

Real-world example:

  • Pathao’s backend: Pathao uses AWS Elastic Beanstalk (PaaS) to deploy its rider-driver matching algorithm. The platform auto-scales during peak hours (e.g., 6–9 PM in Kathmandu) without manual intervention.
  • Worked example: A Daraz seller uses Shopify (PaaS) to host their online store. Shopify manages servers, security, and updates, while the seller focuses on inventory and marketing.

3. Software as a Service (SaaS)

Definition: SaaS delivers ready-to-use software applications over the internet. Users access apps via a web browser or API, with no installation or maintenance required. How it works:

  • Providers host the software and manage data, security, and updates.
  • Users pay a subscription fee (e.g., monthly/annual).
  • Example: eSewa (SaaS for digital payments) or Google Workspace (SaaS for email/collaboration).
sequenceDiagram
    participant User
    participant SaaSApp
    participant CloudProvider
    User->>SaaSApp: Logs in via browser
    SaaSApp->>CloudProvider: Requests resources
    CloudProvider-->>SaaSApp: Delivers VM/storage
    SaaSApp-->>User: Renders UI/data

Real-world example:

  • Khalti’s payment gateway: Khalti operates as a SaaS for merchants. Businesses integrate Khalti’s API to accept payments without hosting their own payment infrastructure.
  • Worked example: A Nepal Stock Exchange (NEPSE) investor uses NEPSE’s online trading platform (SaaS). The platform handles all backend processing (matching orders, settlements), while the investor only needs a browser.

## In the real world

  1. eSewa (SaaS): Users access eSewa’s payment platform via a web/mobile app without installing software. eSewa manages all backend systems (security, fraud detection, transaction processing).
  2. AWS EC2 (IaaS): Daraz uses EC2 to host its website and databases. During sales events (e.g., Dashain), Daraz scales VMs dynamically to handle traffic spikes.
  3. Google App Engine (PaaS): NTC’s online ticket booking system runs on Google Cloud’s PaaS. NTC developers deploy updates without managing servers, while Google handles scalability for events like Maha Shivaratri pilgrimages.

Comparison of IaaS, PaaS, and SaaS

Feature IaaS PaaS SaaS
Control Level High (user manages OS/apps) Medium (user manages apps) Low (user accesses software)
Management User handles OS, middleware Provider handles OS/middleware Provider handles everything
Use Case Hosting custom apps, big data Developing/deploying apps End-user applications
Examples AWS EC2, Azure VMs Heroku, Google App Engine Gmail, eSewa, Slack
Cost Model Pay-per-use (hourly/daily) Subscription or pay-per-use Subscription (monthly/yearly)
Scalability Manual or auto-scaling Auto-scaling built-in Limited by provider

Advantages and Disadvantages

IaaS

  • Pros:
    • Granular control over infrastructure.
    • Cost-effective for large-scale deployments (e.g., hosting a university’s LMS like TU’s e-learning portal).
    • Flexibility to choose OS and software.
  • Cons:
    • Requires IT expertise to manage.
    • Security is the user’s responsibility (e.g., patching VMs).

PaaS

  • Pros:
    • Faster development cycles (e.g., Ncell’s app updates).
    • No infrastructure management.
    • Built-in scalability and security.
  • Cons:
    • Vendor lock-in (e.g., migrating from Heroku to AWS may require rewrites).
    • Limited customization of the underlying platform.

SaaS

  • Pros:
    • Zero maintenance (e.g., WhatsApp updates automatically).
    • Accessible from any device with an internet connection.
    • Lower upfront costs.
  • Cons:
    • Limited customization (e.g., Google Docs templates are fixed).
    • Dependency on provider’s uptime (e.g., eSewa downtime during festivals).
    • Data privacy concerns (e.g., storing business data on Salesforce).

## Worked Example: Hosting a Nepalese News Portal

Scenario: A media company wants to launch a real-time news portal with high availability and scalability.

Step-by-Step Decision

  1. Choose IaaS (AWS EC2):

    • Why? The company needs full control over the server environment (e.g., installing custom CMS like WordPress with plugins for live updates).
    • Setup:
      • Rent 3 VMs (1 for web server, 1 for database, 1 for caching).
      • Use AWS Auto Scaling to add VMs during peak hours (e.g., 6–9 PM when news breaks).
      • Cost: ~$50/month for 3 small VMs + $0.10 per extra hour during spikes.
  2. Choose PaaS (Google App Engine):

    • Why? The company wants to focus on content and analytics, not server management.
    • Setup:
      • Deploy the news portal using Google Cloud’s PaaS.
      • Use Firebase for real-time comments and notifications.
      • Cost: ~$30/month (fixed pricing for small apps).
  3. Choose SaaS (WordPress.com):

    • Why? The company lacks technical resources and wants a plug-and-play solution.
    • Setup:
      • Sign up for WordPress.com Business Plan (~$300/year).
      • Use built-in themes and plugins for live blogs.
      • Limitation: Cannot customize server-side logic (e.g., no custom API for ad targeting).

Visual Comparison:

flowchart LR
    subgraph IaaS["AWS EC2"]
        A["User"] -->|"Installs OS/apps"| B["VMs"]
        B -->|"Manages"| C["Database/Web Server"]
    end
    subgraph PaaS["Google App Engine"]
        D["Developer"] -->|"Deploys code"| E["PaaS Runtime"]
        E -->|"Auto-scales"| F["Google Cloud"]
    end
    subgraph SaaS["WordPress.com"]
        G["Editor"] -->|"Uses UI"| H["WordPress Hosting"]
        H -->|"Managed by WP"| I["Servers"]
    end

## Exam Tip

  1. Define and Differentiate:

    • Start answers with clear definitions (e.g., "IaaS provides virtualized computing resources...").
    • Use the comparison table to score marks in descriptive questions.
  2. Real-World Links:

    • Nepalese examples: Relate IaaS to NTC’s cloud hosting, PaaS to Pathao’s backend, SaaS to eSewa/Khalti.
    • Global examples: AWS (IaaS), Heroku (PaaS), Slack (SaaS).
  3. Diagrams:

    • Draw layered architecture diagrams (IaaS at bottom, PaaS middle, SaaS top).
    • Use sequence diagrams to explain SaaS workflows (e.g., user → SaaS app → cloud provider).
  4. Worked Examples:

    • For short-answer questions, describe how a bank’s loan system (IaaS) or Daraz’s order queue (PaaS) would work.
    • For long-answer questions, compare all three models for a given scenario (e.g., hosting a NEPSE trading platform).
  5. Common Pitfalls:

    • Avoid confusing PaaS and SaaS: PaaS is for developers; SaaS is for end-users.
    • Never say "cloud computing = SaaS." Emphasize that SaaS is one of three models.

Based on the TU BIM syllabus for Cloud Computing (IT277), unit 2.

Discussion

Loading…