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 : HostsReal-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 : AbstractedReal-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/dataReal-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
- 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).
- 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.
- 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
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.
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).
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
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.
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).
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).
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).
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…