Cloud computing offers different service models, each providing a different level of abstraction and management. These models define what resources are managed by the provider versus the customer.

Traditional Service Models

Infrastructure as a Service (IaaS)

Definition: Provider provisions processing, storage, network, and other fundamental computing resources where the customer can deploy and run arbitrary software, including operating systems and applications.

Customer manages:

  • Operating systems
  • Middleware
  • Applications
  • Data
  • Runtime environments

Provider manages:

  • Servers and storage
  • Networking
  • Virtualization
  • Data center infrastructure

Key characteristics:

  • Most flexible cloud service model
  • Customer has maximum control over infrastructure configuration
  • Requires the most technical expertise to manage

Examples:

  • Amazon EC2
  • Google Compute Engine
  • Microsoft Azure VMs
  • OpenStack

Platform as a Service (PaaS)

Definition: Customer deploys applications onto cloud infrastructure using programming languages, libraries, services, and tools supported by the provider.

Customer manages:

  • Applications
  • Data
  • Some configuration settings

Provider manages:

  • Operating systems
  • Middleware
  • Runtime
  • Servers and storage
  • Networking
  • Data center infrastructure

Key characteristics:

  • Reduces complexity of infrastructure management
  • Accelerates application deployment
  • Often includes development tools and services
  • Less control compared to IaaS

Examples:

  • Heroku
  • Google App Engine
  • Microsoft Azure App Service
  • AWS Elastic Beanstalk

Software as a Service (SaaS)

Definition: Provider delivers applications running on cloud infrastructure accessible through various client devices, typically via a web browser.

Customer manages:

  • Minimal application configuration
  • Data (to some extent)

Provider manages:

  • Everything including the application itself
  • All underlying infrastructure and software

Key characteristics:

  • Minimal management required from customer
  • Typically subscription-based
  • Immediate usability
  • Limited customization

Examples:

  • Microsoft Office 365
  • Google Workspace
  • Salesforce
  • Dropbox

IaaS in Detail

How IaaS Works

  1. Customer requests VMs with specific configurations (CPU, RAM, storage)
  2. Provider matches request against available data center machines
  3. VMs are provisioned on physical hosts with requested resources
  4. Customer accesses and manages VMs through provided interfaces

Resource Allocation

  • CPU allocation: Either pinned to specific cores or scheduled by the hypervisor
  • Memory allocation: Usually strictly partitioned between VMs
  • Storage: Allocated based on requested volume sizes
  • Network resources: Shared among VMs with quality of service controls

IaaS APIs

IaaS providers offer APIs for programmatic control of resources:

  • Create, start, stop, clone operations
  • Monitoring capabilities
  • Pricing information access
  • Resource management

Benefits:

  • Flexibility through code-based infrastructure control
  • Automation of provisioning and management
  • Integration with other tools and systems

IaaS Pricing Models

Typically based on a combination of:

  • VM instance type/size
  • Duration of usage (per hour/minute)
  • Storage consumption
  • Network traffic
  • Additional services used

PaaS in Detail

Advantages Over IaaS

  • Reduced development and maintenance effort
  • No OS patching or middleware configuration
  • Higher level of abstraction
  • Focus on application development rather than infrastructure

PaaS Components

  • Development tools and environments
  • Database services
  • Integration services
  • Application runtimes
  • Monitoring and management tools

PaaS Pricing Models

More diverse than IaaS, potentially based on:

  • Time-based usage
  • Per query (database services)
  • Per message (queue services)
  • Per CPU usage (request-triggered applications)
  • Storage consumption

Example: Amazon DynamoDB

  • Key-value store used inside Amazon (powers parts of AWS like S3)
  • Designed for high scalability (100-1000 servers)
  • Emphasizes availability over consistency
  • Uses peer-to-peer approach with no single point of failure
  • Nodes can be added/removed at runtime
  • Optimized for key-value operations rather than range queries

SaaS in Detail

Business Model

  • Provider develops and maintains the application
  • Offers it to customers for a subscription fee
  • Handles all updates, security, and infrastructure
  • Typically multi-tenant, serving many customers on shared infrastructure

Typical SaaS Characteristics

  • Web-accessible applications
  • Usually based on monthly/annual subscription
  • Automatic updates and maintenance
  • Limited customization compared to self-hosted solutions
  • Reduced IT overhead for customers

Example: Salesforce

  • Comprehensive customer relationship management platform
  • Replaces spreadsheets, to-do lists, and email with integrated platform
  • Backed by elastic cloud services that scale with company growth
  • Tiered pricing based on features and user count

Choosing Between Service Models

Factors to consider when selecting a service model:

  1. Core competency assessment: What skills exist in your organization?
  2. Cost considerations: How much can you spend on each layer?
  3. Flexibility requirements: How much control do you need?
  4. Regulatory and privacy concerns: Where does your data need to reside?

This decision applies to both individuals and organizations and should align with strategic goals.