Unit 13: Cloud Computing and IoT

DECAP145 8 min read

I. Orientation: The Cloud Computing Model

Cloud computing (popularised from the mid-2000s, notably by Amazon Web Services in 2006) is the on-demand delivery of computing resources — servers, storage, databases, networking, software — over the internet, billed by usage rather than owned outright. It shifts IT from a capital expense (buying hardware) to an operating expense (renting capacity).

The model rests on five defining characteristics (NIST definition):

  • On-demand self-service: a user provisions compute or storage automatically, without human interaction from the provider.
  • Broad network access: resources are reachable over the network from standard devices (laptops, phones) using standard protocols (HTTP/HTTPS).
  • Resource pooling: the provider serves many customers (multi-tenancy) from a shared physical pool, with resources dynamically assigned.
  • Rapid elasticity: capacity scales out and in quickly, appearing effectively unlimited to the consumer.
  • Measured service: usage is metered (CPU-hours, GB-months, requests) so billing is pay-as-you-go.

These properties recur throughout the unit: service models divide who manages what, deployment models divide who owns the pool, and virtualization is the technology that makes pooling and elasticity possible.

II. Cloud Service Models

Service models differ by how much of the stack the provider manages versus the customer. The stack, bottom to top: networking → storage → servers → virtualization → OS → runtime → data → application.

A. SaaS (Software as a Service)

Ready-to-use software delivered over the internet, where the provider manages the entire stack.

  • Consumer's role: only configures settings and manages their own data; no installation or patching.
  • Access: through a web browser or thin client; nothing runs locally beyond the interface.
  • Billing: per user per month, or per feature tier.
  • Examples: Gmail, Salesforce, Microsoft 365, Dropbox.
  • Trade-off: fastest to adopt but least control over features and data location.

B. PaaS (Platform as a Service)

A managed platform for building and deploying applications, where the provider runs the OS, runtime, and middleware.

  • Consumer's role: writes and deploys application code and manages the data; the platform handles scaling, patching, and the underlying servers.
  • Purpose: removes infrastructure setup so developers focus on code.
  • Examples: Google App Engine, Heroku, AWS Elastic Beanstalk, Azure App Service.
  • Trade-off: faster development but tied to the platform's supported languages and services (risk of lock-in).

C. IaaS (Infrastructure as a Service)

Raw virtualized infrastructure — compute, storage, network — offered as a service, with the consumer managing everything above the hypervisor.

  • Consumer's role: manages OS, runtime, applications, and data; provider manages the physical hardware and virtualization.
  • Purpose: maximum control and flexibility, closest to owning hardware.
  • Examples: Amazon EC2, Google Compute Engine, Microsoft Azure VMs.
  • Trade-off: most control but most administrative responsibility.

Rule of thumb: the higher up the stack the service sits (SaaS), the less the customer manages; the lower (IaaS), the more.

III. Cloud Deployment Models

Deployment models differ by who owns and can access the underlying resource pool.

A. Public Cloud

Infrastructure owned by a third-party provider and shared across many unrelated customers over the public internet.

  • Ownership: provider owns and operates all hardware in its data centres.
  • Multi-tenancy: many organisations share the same physical machines, isolated logically.
  • Cost: no upfront hardware; pay-as-you-go economies of scale.
  • Examples: AWS, Microsoft Azure, Google Cloud Platform.
  • Concern: less direct control over data location and compliance.

B. Private Cloud

Cloud infrastructure dedicated to a single organisation, either on-premises or hosted by a provider exclusively.

  • Ownership: single tenant; hardware not shared with outsiders.
  • Control: full control over security, compliance, and configuration — suited to banks, healthcare, government.
  • Cost: higher upfront and maintenance cost; capacity is finite.
  • Examples: OpenStack, VMware vSphere private deployments.

Related: a hybrid cloud combines both, keeping sensitive workloads private while bursting to public capacity at peak.

IV. Virtualization

Virtualization is the foundational technology that lets one physical machine be divided into many isolated logical machines, enabling the resource pooling and elasticity defined in Section I.

A. Virtualization

The abstraction of physical hardware into multiple simulated environments managed by a hypervisor.

  • Hypervisor: software layer that creates and runs virtual machines, allocating shares of CPU, memory, and disk.
    • Type 1 (bare-metal): runs directly on hardware (VMware ESXi, Xen); higher performance, used in data centres.
    • Type 2 (hosted): runs on top of a host OS (VirtualBox, VMware Workstation); used on desktops.
  • Isolation: each VM behaves as an independent computer; a crash in one does not affect others.
  • Benefit: high hardware utilisation — one server can host dozens of VMs instead of sitting idle.
  • Containers: a lighter alternative (Docker) that virtualizes the OS rather than hardware, sharing the host kernel.

B. Virtual Server

A software-defined server running inside a virtualized environment, indistinguishable to software from a physical one.

  • Definition: a VM configured with its own OS, CPU allocation, RAM, and virtual disk, running on shared physical hardware.
  • Provisioning: created in minutes from a template image; deleted just as fast — the basis of IaaS.
  • Snapshots: the full server state can be saved and restored, aiding backup and testing.
  • Migration: a running virtual server can move between physical hosts (live migration) for maintenance with no downtime.
  • Versus physical server: no dedicated hardware cost, but performance depends on the shared host's load ("noisy neighbour" effect).

V. Cloud Storage and Data

A. Cloud Storage

Data stored on a provider's distributed infrastructure and accessed over the network, replicated for durability.

  • Object storage: data kept as objects with metadata in a flat namespace, addressed by a unique key (Amazon S3, Azure Blob); ideal for images, backups, unstructured data.
  • Block storage: raw volumes attached to virtual servers like a hard disk (Amazon EBS); for databases and OS disks.
  • File storage: a shared file system with directories accessed via protocols like NFS.
  • Durability and replication: data is copied across multiple locations; providers quote figures such as "eleven nines" (99.999999999%) durability.
  • Billing: per GB stored per month, plus data-transfer (egress) charges.

B. Database Storage

Managed database services where the cloud provider runs the database engine, freeing the user from administration.

  • Relational (SQL): structured tables with fixed schema and ACID guarantees (Amazon RDS, Azure SQL, Cloud SQL).
  • NoSQL: flexible schema for large scale and varied data — key-value, document, column, graph (DynamoDB, MongoDB Atlas, Cassandra).
  • Managed features: automated backups, patching, replication, and read replicas for scaling reads.
  • Scaling:
    • Vertical: a bigger instance (more CPU/RAM).
    • Horizontal: sharding or replicas across many instances.
  • Contrast with cloud storage: cloud storage holds files as opaque objects; database storage holds queryable, structured records.

VI. Cloud Operations and Governance

A. Resource Management

The allocation, monitoring, and optimisation of pooled resources to match demand while controlling cost.

  • Provisioning: assigning compute, storage, and network to workloads, manually or via automation (Terraform, CloudFormation).
  • Auto-scaling: adding or removing servers automatically based on metrics such as CPU utilisation crossing a threshold (e.g. scale out above 70%).
  • Load balancing: distributing incoming requests across multiple servers to prevent overload and improve availability.
  • Monitoring: tracking metrics, logs, and alarms (Amazon CloudWatch) to detect failures and capacity limits.
  • Cost optimisation: right-sizing instances, using reserved or spot capacity, and shutting down idle resources.

B. Service Level Agreement (SLA)

A formal contract between provider and customer defining the guaranteed level of service and the remedy if it is not met.

  • Availability (uptime): the core promise, expressed as a percentage per month.
    • 99.9% ("three nines") ≈ 43 minutes downtime/month.
    • 99.99% ("four nines") ≈ 4.3 minutes downtime/month.
  • Performance metrics: latency, throughput, and support response times.
  • Service credits: compensation (usually a billing credit, not cash) when the provider falls below the guarantee.
  • Exclusions: scheduled maintenance and force-majeure events typically don't count against uptime.
  • Purpose: sets clear, measurable expectations and makes the provider accountable.

VII. Internet of Things (IoT)

A. Basics of IoT

The Internet of Things is a network of physical objects embedded with sensors, software, and connectivity that collect and exchange data over the internet with minimal human intervention.

  • Core components:
    • Sensors/actuators: gather data (temperature, motion) or act on the environment (open a valve).
    • Connectivity: transmits data via Wi-Fi, Bluetooth, Zigbee, or cellular (4G/5G, LoRaWAN).
    • Data processing: analysed in the cloud or, for speed, at the edge (near the device).
    • User interface: dashboards or apps that present insights and allow control.
  • Edge computing: processing data close to the source reduces latency and bandwidth, essential when reaction time matters.
  • Cloud link: IoT relies on cloud storage, database storage, and resource management from earlier sections to handle the volume of device data.
  • Challenges: security (many weakly protected devices), interoperability across standards, and scale of data.

B. Applications of IoT

IoT applies wherever sensing and remote control add value, spanning consumer and industrial domains.

  • Smart home: thermostats, lighting, and security cameras controlled remotely and automated by rules.
  • Healthcare: wearable monitors track heart rate and glucose, alerting clinicians in real time.
  • Industrial IoT (IIoT): factory sensors enable predictive maintenance — flagging a machine before it fails.
  • Smart cities: connected traffic lights, smart parking, and utility meters optimise urban infrastructure.
  • Agriculture: soil-moisture sensors trigger irrigation only when needed, saving water.
  • Logistics: GPS and condition sensors track shipments and cold-chain temperature in transit.