CACS402 Cloud Computing

Cloud ComputingUnit 124 min read

Cloud Computing Basics: Definitions, Evolution, Models & Real-World Impact

Unit 1 of Cloud Computing introduces the core concept of cloud computing—its definition, historical evolution, essential characteristics, and foundational service and deployment models—while linking theory to real-world applications like eSewa, Ncell, and Google Cloud.

TAKEAWAYS:

  • Cloud computing is a paradigm shift in IT delivery, enabling on-demand, scalable, and pay-as-you-go access to computing resources over the internet.
  • The evolution from mainframes to grid computing to modern cloud platforms (AWS, Azure) was driven by virtualization, distributed systems, and the need for cost efficiency.
  • Key characteristics (on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service) distinguish cloud computing from traditional IT.
  • Service models (SaaS, PaaS, IaaS) and deployment models (public, private, hybrid) define how cloud resources are structured and accessed.
  • Real-world impact: Cloud powers everything from eSewa’s payment processing (SaaS) to Ncell’s network infrastructure (IaaS) and Daraz’s hybrid cloud for scalability.
  • Challenges like security, privacy, and vendor lock-in require careful planning, especially in Nepal’s context (e.g., NEPSE’s data sensitivity).

1. What Is Cloud Computing?

Cloud computing is the delivery of computing services—servers, storage, databases, networking, software, analytics, and intelligence—over the internet ("the cloud") to offer faster innovation, flexible resources, and economies of scale. Unlike traditional IT, where users own and maintain physical hardware, cloud computing centralizes resources in remote data centers, accessed via the internet.

How It Works: A Simplified Trace

  1. User Request: A user (e.g., a Daraz seller) logs into the cloud via a web browser or API.
  2. Service Delivery: The cloud provider (e.g., AWS) allocates virtual resources (CPU, storage) dynamically.
  3. Resource Pooling: Multiple users share physical hardware (e.g., a single server hosts 100 virtual machines).
  4. Billing: Users pay only for what they use (e.g., Ncell’s cloud-based customer portal charges per API call).
sequenceDiagram
    participant User as Daraz Seller
    participant Internet as Internet
    participant Cloud as AWS Data Center
    participant Resource as Virtual Server

    User->>Internet: Logs in via browser
    Internet->>Cloud: Requests resources (e.g., storage)
    Cloud->>Resource: Allocates VM dynamically
    Resource-->>Cloud: Executes task (e.g., upload product images)
    Cloud-->>User: Delivers result (e.g., updated inventory)
    User->>Cloud: Pays per usage (hourly billing)

Real-World Example: eSewa’s Cloud Infrastructure

  • Service Model: SaaS (Software-as-a-Service).
  • How It Uses Cloud:
    • Scalability: During festival seasons (e.g., Dashain), eSewa’s cloud auto-scales to handle 10x more transactions without manual server upgrades.
    • Disaster Recovery: Data is mirrored across multiple cloud regions (e.g., AWS us-east-1 and ap-south-1) to prevent outages.
    • Cost Efficiency: eSewa avoids buying physical servers; it pays only for the compute power used (e.g., $0.05/hour for a small VM).
  • Challenge: Ensuring data sovereignty (Nepali user data must stay within Nepal’s legal jurisdiction), which requires hybrid cloud setups.

2. The Evolution of Cloud Computing

Cloud computing didn’t emerge overnight. Its development was shaped by key technological milestones:

Era Technology Impact on Cloud Computing Example
1960s Mainframe Computing Centralized computing for large organizations (e.g., banks). IBM’s mainframes for NABL’s core banking.
1990s Virtualization Allowed multiple OS instances to run on one physical machine, enabling resource sharing. VMware’s ESX Server.
2000s Utility Computing Pay-per-use model for computing resources (inspiration for cloud billing). IBM’s "On Demand" initiative.
2006 Amazon Web Services (AWS) First major cloud platform, offering IaaS (e.g., EC2, S3). AWS launched in 2006.
2010s Serverless Architecture Abstracted infrastructure management (e.g., AWS Lambda). Google Cloud Functions.
2020s Edge Computing Process data closer to users (e.g., IoT devices) to reduce latency. Ncell’s 5G edge cloud for real-time analytics.

Why This Matters for Nepal

  • Nepal’s Digital Transformation: Initiatives like Digital Nepal rely on cloud to provide scalable e-services (e.g., online land record systems).
  • Cost Barrier: Small businesses (e.g., local Daraz sellers) can afford cloud services instead of buying servers.
  • Disaster Resilience: Cloud backups protect critical data (e.g., NEPSE’s stock exchange records) from physical disasters like earthquakes.

3. Characteristics of Cloud Computing

Cloud computing is defined by 5 essential characteristics (NIST model), which set it apart from traditional IT:

Characteristic Definition Example in Nepal
On-Demand Self-Service Users provision resources (e.g., storage, CPU) automatically without human interaction. A Pathao driver enables/disables ride-hailing features via a cloud dashboard.
Broad Network Access Services are accessible over the internet via standard mechanisms (e.g., browsers, APIs). NTC’s cloud-based network monitoring for fiber optic cables.
Resource Pooling Multi-tenant model: physical resources are dynamically assigned to users (e.g., VMs). A single AWS server hosts VMs for 100+ eSewa merchants simultaneously.
Rapid Elasticity Resources can scale out/in automatically based on demand. During Diwali, Daraz’s cloud traffic spikes; AWS auto-scales to handle 500K orders/hour.
Measured Service Cloud systems automatically control and optimize resource use (e.g., billing by the minute). Ncell bills WhatsApp Business API users per SMS sent (e.g., $0.001/SMS).

4. Cloud Service Models: SaaS, PaaS, IaaS

Cloud services are categorized into three primary models, each offering different levels of control and management:

classDiagram
    class CloudService {
        <<abstract>>
        +Delivers computing resources over the internet
    }
    class SaaS {
        +Software delivered via the cloud
        +Managed by provider (e.g., updates, security)
        +Examples: Gmail, eSewa, WhatsApp
    }
    class PaaS {
        +Platform for developing/deploying applications
        +Managed infrastructure (OS, middleware)
        +Examples: Heroku, Google App Engine
    }
    class IaaS {
        +Infrastructure as a service (VMs, storage, networks)
        +User manages OS, apps, data
        +Examples: AWS EC2, Azure VMs
    }
    CloudService <|-- SaaS
    CloudService <|-- PaaS
    CloudService <|-- IaaS

Comparison Table: SaaS vs. PaaS vs. IaaS

Feature SaaS (Software-as-a-Service) PaaS (Platform-as-a-Service) IaaS (Infrastructure-as-a-Service)
Control Level Lowest (provider manages everything) Medium (user manages apps/data) Highest (user manages OS, apps, data)
Examples Gmail, eSewa, Salesforce Heroku, Google App Engine AWS EC2, Azure VMs
Use Case in Nepal Ncell’s customer portal (no IT setup) Developing a custom e-governance app Hosting a bank’s core banking system
Maintenance Fully managed by provider Provider manages OS/middleware User manages everything above hardware
Cost Low (subscription-based) Medium (pay for platform usage) High (pay for infrastructure)

Worked Example: Kathmandu Traffic Management System

Scenario: The Kathmandu Metropolitan City (KMC) wants to implement a real-time traffic monitoring system.

  • SaaS Approach: Use a pre-built traffic analytics SaaS (e.g., Google Maps Traffic API).
    • Pros: No IT expertise needed; pay monthly.
    • Cons: Limited customization (e.g., cannot integrate with local police databases).
  • PaaS Approach: Build a custom app using Microsoft Azure PaaS.
    • Pros: Developers can use Azure’s tools (e.g., Azure Functions) without managing servers.
    • Cons: Requires in-house developers.
  • IaaS Approach: Deploy on AWS EC2 with custom software.
    • Pros: Full control over traffic algorithms.
    • Cons: High maintenance (patch OS, manage backups).

Recommendation: Hybrid approach—use SaaS for basic traffic data (e.g., Google Maps) and PaaS for custom alerts (e.g., SMS notifications to drivers via Twilio).


5. Cloud Deployment Models: Public, Private, Hybrid, Community

Cloud environments can be deployed in four models, each suited to different needs:

mindmap
  root((Cloud Deployment Models))
    Public
      <<cloud>>
      +Shared infrastructure (e.g., AWS, Azure)
      +Pros: Cost-effective, scalable
      +Cons: Less control, security risks
      +Example: Ncell’s public cloud for customer apps
    Private
      <<cloud>>
      +Dedicated infrastructure (e.g., on-premise data center)
      +Pros: Full control, high security
      +Cons: Expensive, limited scalability
      +Example: NEPSE’s private cloud for stock exchange data
    Hybrid
      <<cloud>>
      +Combination of public + private
      +Pros: Flexibility, optimized costs
      +Cons: Complex management
      +Example: eSewa’s hybrid cloud (public for user-facing apps, private for transaction data)
    Community
      <<cloud>>
      +Shared by specific organizations (e.g., banks)
      +Pros: Tailored to industry needs
      +Cons: Limited to a niche group
      +Example: Nepal Rastra Bank’s community cloud for financial institutions

Real-World Example: NEPSE’s Cloud Strategy

  • Challenge: NEPSE needs to handle high-frequency trading data securely while ensuring low latency for investors.
  • Solution: Hybrid Cloud
    • Private Cloud: Hosts core trading systems (e.g., order matching engine) in a dedicated data center in Kathmandu for compliance and security.
    • Public Cloud (AWS): Runs non-sensitive services (e.g., investor dashboards, news feeds) to benefit from scalability.
    • Benefits:
      • Security: Sensitive data (e.g., trading volumes) never leaves the private cloud.
      • Cost: Public cloud reduces capital expenditure for non-critical workloads.
      • Compliance: Meets Nepal’s Financial Institutions Act requirements.

6. Distributed Computing vs. Cloud Computing

Students often confuse distributed computing and cloud computing. Here’s how they differ:

Aspect Distributed Computing Cloud Computing
Definition A model where tasks are divided across multiple computers (often in a LAN/WAN). A service model delivering computing resources over the internet.
Focus Performance (e.g., parallel processing). Convenience (e.g., on-demand access).
Examples SETI@home (distributed computing for astronomy), Hadoop (big data processing). AWS, Google Cloud, eSewa’s payment gateway.
Management Users manage all infrastructure. Provider manages infrastructure; users pay for usage.
Scalability Limited by physical hardware. Infinite (theoretically) via virtualization.

Worked Example: Ncell’s Network vs. Cloud

  • Distributed Computing: Ncell’s core network uses distributed systems to route calls across multiple switches (e.g., Ericsson’s AXD 301) to ensure redundancy.
  • Cloud Computing: Ncell’s customer portal (e.g., "My Ncell") runs on a public cloud (AWS) to handle login spikes during promotions.

7. Challenges and Security Issues in Cloud Computing

While cloud computing offers transformative benefits, it also introduces unique challenges, especially in Nepal’s context:

Key Challenges

  1. Security and Privacy

    • Risk: Data breaches (e.g., if eSewa’s cloud is hacked, user financial data is exposed).
    • Solution: Encryption (e.g., AES-256), zero-trust architecture, and compliance with Nepal’s Data Privacy Act (2018).
    • Example: Ncell encrypts customer data at rest (stored) and in transit (e.g., HTTPS for API calls).
  2. Vendor Lock-In

    • Risk: Difficulty migrating from one cloud provider to another (e.g., AWS to Azure).
    • Solution: Use multi-cloud strategies (e.g., eSewa uses AWS for transactions and Google Cloud for analytics).
  3. Compliance and Legal Issues

    • Risk: Nepal’s data sovereignty laws require user data to be stored within Nepal.
    • Solution: Use hybrid clouds (e.g., private cloud in Nepal + public cloud abroad).
  4. Downtime and Latency

    • Risk: Cloud outages (e.g., AWS S3 outage in 2017) can disrupt services.
    • Solution: Multi-region deployment (e.g., Ncell replicates data in Kathmandu and Pokhara).
  5. Cost Management

    • Risk: Unoptimized cloud usage leads to cost overruns (e.g., a Daraz seller leaving a VM running 24/7).
    • Solution: Use cloud cost tools (e.g., AWS Cost Explorer) and auto-scaling.

Security Best Practices for Nepali Businesses

Best Practice Implementation Example
Data Encryption Use TLS 1.3 for data in transit; AES-256 for data at rest. eSewa encrypts all transaction data.
Access Control Role-Based Access Control (RBAC) to limit user permissions. Ncell’s IT team has admin access; regular employees have read-only access.
Regular Audits Conduct penetration testing and vulnerability scans quarterly. NEPSE hires ethical hackers to test its cloud security.
Disaster Recovery Plan Backup data to multiple regions (e.g., AWS us-east-1 + ap-south-1). Daraz backs up inventory data daily.
Compliance with Local Laws Ensure data storage complies with Nepal’s IT Act (2006) and Data Privacy Act (2018). NABIL’s cloud strategy adheres to banking regulations.

8. The Role of Virtualization in Cloud Infrastructure

Virtualization is the backbone of cloud computing, enabling resource pooling and multi-tenancy. It allows a single physical server to host multiple virtual machines (VMs), each running its own OS and applications.

How Virtualization Supports Cloud Models

Cloud Model Role of Virtualization Example
IaaS Creates virtualized hardware (VMs, storage, networks) that users can rent. AWS EC2 provides virtual servers.
PaaS Provides virtualized platforms (e.g., runtime environments, databases) for developers. Google App Engine runs apps in isolated VMs.
SaaS Hosts multiple SaaS applications on the same physical server using VMs. eSewa’s payment gateway shares a VM with other services.

Types of Virtualization

pie
    title Virtualization Types in Cloud
    "Server Virtualization" : 40
    "Storage Virtualization" : 20
    "Network Virtualization" : 25
    "Desktop Virtualization" : 15
  • Server Virtualization: Most common (e.g., VMware ESXi, Microsoft Hyper-V).
  • Storage Virtualization: Pools physical storage into a single virtual storage system (e.g., AWS EBS).
  • Network Virtualization: Creates virtual networks (e.g., VPNs, SDN like Cisco ACI).
  • Desktop Virtualization: Delivers virtual desktops (e.g., Citrix Virtual Apps).

Real-World Example: NTC’s Cloud-Based Network Monitoring

  • Challenge: NTC needs to monitor 10,000+ fiber optic cables across Nepal with minimal hardware.
  • Solution: Server Virtualization
    • Physical Hardware: 50 servers in a data center.
    • Virtual Machines: Each server hosts 20 VMs, each running a network monitoring tool (e.g., PRTG, Zabbix).
    • Benefits:
      • Cost Savings: 50 servers support 1,000 VMs instead of 1,000 physical servers.
      • Scalability: Add VMs during peak hours (e.g., Dasain traffic).
      • Disaster Recovery: VMs can be migrated to another host if a server fails.

9. MapReduce: The Engine Behind Cloud Distributed Computing

MapReduce is a programming model for processing large datasets in parallel across a cluster of computers. It’s the foundation of distributed computing in cloud platforms like Hadoop and Google Cloud Dataflow.

How MapReduce Works

  1. Input Data: Split into smaller chunks (e.g., 1GB files).
  2. Map Phase: Processes each chunk independently (e.g., count words in a document).
  3. Shuffle: Aggregates intermediate results (e.g., groups all "Nepal" mentions).
  4. Reduce Phase: Combines results (e.g., total count of "Nepal" across all documents).
flowchart TD
    A["Input Data<br/>(e.g., 100GB logs)"] --> B["Split into<br/>Chunks"]
    B --> C["Map Phase<br/>Process each chunk<br/>(e.g., count words)"]
    C --> D["Shuffle<br/>Group by key<br/>(e.g., 'Nepal')"]
    D --> E["Reduce Phase<br/>Aggregate results<br/>(e.g., total count)"]
    E --> F["Output<br/>(e.g., 'Nepal' appears 5000 times)"]

Worked Example: Ncell’s Customer Data Analysis

Problem: Ncell wants to analyze 10TB of call logs to find patterns (e.g., peak usage hours). Solution: Use MapReduce on Hadoop (running on AWS EMR).

  1. Map Phase: Each node processes a subset of logs (e.g., Node 1: calls from Kathmandu, Node 2: calls from Pokhara).
  2. Shuffle: Groups calls by time (e.g., 8 AM–10 AM).
  3. Reduce Phase: Calculates total call volume per hour.
  4. Output: A report showing peak hours (6 PM–9 PM) for targeted ads.

Why Not Traditional Databases?

  • Performance: MapReduce distributes the load across hundreds of servers.
  • Cost: AWS EMR charges $0.05/hour per node (vs. buying 100 physical servers).

10. In the Real World

Cloud computing is everywhere in Nepal and globally. Here’s how it powers the services students use daily:

Company/Product Cloud Service Model How It Uses Cloud Key Benefit
eSewa SaaS + Hybrid Cloud Uses AWS for public-facing apps (e.g., payment gateway) and a private cloud for transaction data. Scalability during festivals; compliance with Nepal’s banking laws.
Ncell IaaS + PaaS Hosts customer portal (PaaS) on AWS and uses IaaS for network monitoring. Reduces IT costs; real-time analytics for network optimization.
Daraz Hybrid Cloud Public cloud (AWS) for product catalogs; private cloud for order processing. Handles 1M+ orders/day without downtime.
NEPSE Private + Public Cloud Private cloud for trading systems; AWS for investor dashboards. Ensures low-latency trading and data security.
Pathao SaaS + IaaS SaaS for driver app; IaaS for ride-matching algorithms (AWS Lambda). Auto-scales during peak hours (e.g., New Year’s Eve).
Google (YouTube) IaaS + PaaS IaaS for video storage (Google Cloud Storage); PaaS for recommendation algorithms. Delivers videos globally with low latency.
WhatsApp Business SaaS Runs on Facebook’s cloud infrastructure (AWS + custom data centers). Handles 100M+ messages/day for businesses.

Case Study: Kathmandu’s Smart Traffic System (Proposed)

Problem: Kathmandu’s traffic congestion costs $1B/year in lost productivity. Cloud Solution:

  1. IoT Sensors: 500 traffic cameras + GPS data from Pathao/Daraz drivers.
  2. Data Ingestion: Data sent to AWS IoT Core (PaaS).
  3. Processing: MapReduce analyzes patterns (e.g., bottlenecks at Thapathali).
  4. Output: Real-time alerts to drivers via WhatsApp Business API.
  5. Storage: S3 buckets store historical data for long-term analysis.

Expected Outcome:

  • 20% reduction in congestion (similar to Singapore’s success).
  • Cost: ~$50K/month (vs. $5M for physical infrastructure).

11. Exam Tip: How to Score Full Marks

This unit is conceptual but application-heavy. Examiners love real-world examples, comparisons, and diagrams. Here’s how to maximize marks:

Do’s

✅ Define Clearly: Start every answer with a precise definition (e.g., "Cloud computing is the on-demand delivery of IT resources..."). ✅ Use Diagrams: Draw layered models (e.g., cloud service models) or sequence diagrams (e.g., how a user accesses SaaS). ✅ Compare and Contrast: For questions like "Compare SaaS and PaaS", use a table with 3+ columns (features, examples, use cases). ✅ Link to Nepal: Always relate examples to local companies (e.g., eSewa, Ncell, NEPSE). ✅ Explain Trade-offs: For deployment models, discuss pros/cons (e.g., public cloud = scalable but less secure).

Don’ts

❌ Vague Answers: Avoid phrases like "Cloud is useful" without explaining how. ❌ Overloading Theory: Don’t list all 5 characteristics without explaining one in depth. ❌ Ignoring Challenges: If asked about security, always mention 2–3 risks + solutions. ❌ Copy-Paste Definitions: Paraphrase NIST’s definition of cloud computing.

Sample Answer Structure (5-Mark Question)

Question: Describe the role of virtualization in cloud infrastructure. Explain how virtualization supports IaaS, PaaS, and SaaS models.

Model Answer: Virtualization is the technology that enables cloud computing by abstracting physical resources (e.g., servers, storage) into virtual counterparts, allowing multiple users to share the same hardware efficiently.

Role in Cloud Infrastructure:

  1. Resource Pooling: Physical servers are divided into virtual machines (VMs), each acting as an independent server.
  2. Isolation: VMs run in isolated environments, ensuring security and stability.
  3. Scalability: Additional VMs can be created dynamically to meet demand.

Support for Cloud Models:

Cloud Model How Virtualization Helps Example
IaaS Provides virtualized hardware (VMs, storage, networks) that users can rent. AWS EC2: Users deploy VMs with custom OS.
PaaS Offers virtualized platforms (e.g., databases, runtime environments) for developers. Google App Engine: Runs apps in isolated VMs.
SaaS Hosts multiple SaaS apps on the same physical server using VMs. eSewa’s payment gateway shares a VM with other services.

Real-World Example: Ncell uses server virtualization to monitor its network. Instead of buying 1,000 physical servers, it runs 20,000 VMs on 500 servers, reducing costs by 80% while improving scalability.


12. Quick Revision Checklist

Before the exam, ensure you can:

  • Define cloud computing and list its 5 essential characteristics.
  • Differentiate SaaS, PaaS, IaaS with Nepali examples.
  • Explain public vs. private vs. hybrid clouds with NEPSE/eSewa cases.
  • Describe virtualization and its role in IaaS/PaaS/SaaS.
  • Outline MapReduce’s phases and give a Ncell data analysis example.
  • List 3 security challenges in cloud computing and 2 solutions.
  • Compare distributed computing vs. cloud computing.

Based on the TU BCA syllabus for Cloud Computing (CACS402), unit 1.

Discussion

Loading…