Unit 1: Cloud Computing Fundamentals

INT363 — Cloud Microservices 10 min read

I. Foundations and Governing Characteristics

Cloud computing is a model for delivering configurable computing resources—such as servers, storage, networks, platforms, and applications—over a network on demand. It developed from distributed computing, virtualization, utility computing, and service-oriented architecture, with resources treated as measurable services rather than permanently owned infrastructure.

A. Cloud Fundamentals

Cloud fundamentals explain how shared infrastructure is made available rapidly, elastically, and with minimal manual administration.

  • On-demand self-service: Consumers provision resources such as a virtual machine or database without requiring direct interaction with provider staff; for example, an instance can be launched through an API call.
  • Broad network access: Services are reached through standard mechanisms such as HTTPS, REST APIs, browsers, mobile clients, or command-line tools.
  • Resource pooling: Compute, storage, and networking are shared among multiple consumers using a multi-tenant model.
    • Virtualization: Hypervisors such as KVM divide a physical server into isolated virtual machines.
    • Containers: Technologies such as Docker isolate applications while sharing the host operating-system kernel.
  • Rapid elasticity: Capacity can expand or contract according to demand; an application may scale from 2 to 20 instances during peak traffic.
  • Measured service: Usage is monitored using units such as virtual-CPU hours, gigabyte-months of storage, or gigabytes of network transfer.
  • Essential enablers: Automation, orchestration, APIs, distributed storage, identity management, and software-defined networking make cloud operation practical.
  • Shared-responsibility principle: The provider secures underlying facilities and managed infrastructure, while the customer remains responsible for duties such as identities, data classification, and application configuration.

II. Cloud Service Models — Layers of Managed Capability

A cloud service model defines which parts of the computing stack are managed by the provider and which remain under the consumer’s control.

A. Cloud Service

Cloud services are commonly classified as Infrastructure, Platform, or Software as a Service.

  1. Infrastructure as a Service (IaaS):

    • Provision: Virtual machines, block storage, virtual networks, firewalls, and load balancers.
    • Customer control: Operating systems, middleware, applications, and data.
    • Concrete examples: Amazon EC2 and OpenStack Nova provide virtual compute instances.
    • Use case: Migrating a three-tier application while retaining control over Linux configuration.
  2. Platform as a Service (PaaS):

    • Provision: Managed runtime, deployment environment, scaling mechanisms, and development services.
    • Customer control: Application code, configuration, and data rather than the underlying operating system.
    • Concrete examples: Google App Engine and Azure App Service accept deployable application packages.
    • Use case: Deploying a web API without patching servers.
  3. Software as a Service (SaaS):

    • Provision: A complete application accessed through a browser or API.
    • Customer control: User settings, access permissions, and application data.
    • Concrete examples: Salesforce and Microsoft 365 provide ready-to-use business applications.
  • Related service forms: Function as a Service executes event-driven functions, while managed databases provide engines such as PostgreSQL without customer-managed database hosts.
  • Selection criterion: Moving from IaaS to SaaS reduces infrastructure responsibility but also reduces low-level control and portability.

III. Cloud Deployment Strategies

A deployment model identifies who owns the cloud environment, who may use it, and where its resources operate.

A. Deployment Models

Deployment models balance control, cost, security, scalability, and regulatory requirements.

  • Public cloud: Infrastructure is operated by a provider and shared logically among tenants; AWS regions, for example, contain multiple isolated Availability Zones.
  • Private cloud: Infrastructure is dedicated to one organization and may run on its premises or in a hosted data center; OpenStack can manage such an environment.
  • Hybrid cloud: Public and private environments are integrated so workloads or data can move between them.
    • Example: Sensitive customer records remain privately hosted while public-cloud instances handle seasonal web traffic.
  • Community cloud: Infrastructure is shared by organizations with common security or regulatory needs, such as government agencies.
  • Multi-cloud: An organization deliberately uses services from multiple public providers; this can reduce provider concentration risk but increases operational complexity.
  • Selection factors: Data residency, latency, capital expenditure, operational skills, workload variability, disaster recovery, and vendor dependence determine the appropriate model.

IV. Resource Efficiency and Elastic Operation

Efficient cloud operation seeks to match allocated capacity to actual workload demand while preserving performance and reliability.

A. Guiding principle with respect to utilization

The guiding principle is to maximize useful resource utilization without creating saturation, unacceptable latency, or a single point of failure.

  • Utilization measure: Resource utilization compares consumed capacity with allocated capacity.
TEXT
Utilization (%) = (Used capacity / Allocated capacity) × 100
  • Symbol meaning: Used capacity is the amount actively consumed; allocated capacity is the total amount made available during the same interval.
  • Concrete example: A workload using 6 vCPUs from an allocation of 8 has 75% CPU utilization.
  • Elastic scaling:
    • Horizontal scaling: Add or remove instances, such as increasing a web tier from 3 to 6 replicas.
    • Vertical scaling: Increase an instance from 4 GiB to 8 GiB of memory.
  • Right-sizing: Oversized instances waste paid capacity, whereas undersized instances create queuing, timeouts, and service degradation.
  • Statistical multiplexing: Pooling workloads whose peaks occur at different times improves aggregate use of physical infrastructure.
  • Availability constraint: Maximum utilization is not always desirable; spare capacity is required for failures, maintenance, and sudden demand.
  • Cost control: Metering, budgets, tagging, scheduled shutdowns, and autoscaling connect technical usage to financial accountability.

V. Service-Oriented Architecture

Service-oriented architecture organizes business capabilities as reusable network-accessible services with defined contracts.

A. SOA

SOA promotes loose coupling, interoperability, and composition across heterogeneous enterprise systems.

  • Service contract: An interface specifies operations, message structures, policies, and endpoints; traditional SOA commonly uses WSDL-described SOAP services.
  • Loose coupling: Consumers depend on the published contract rather than the provider’s language, database, or internal classes.
  • Core roles:
    • Provider: Implements and exposes a service.
    • Consumer: Invokes the service.
    • Registry: Supports service publication and discovery where used.
  • Enterprise Service Bus: An ESB may perform routing, protocol conversion, validation, and message transformation between systems.
  • Composition: A business process can combine inventory, payment, and shipping services into one order workflow.
  • SOA and microservices: Both use service boundaries, but microservices are generally smaller, independently deployable, and favor lightweight REST or messaging over centralized ESB logic.
  • Limitations: Poorly designed contracts, excessive synchronous calls, centralized middleware, and distributed transactions can increase latency and operational complexity.

VI. Practical Uses of Cloud Platforms

Cloud computing supports workloads that benefit from rapid provisioning, global access, managed services, or variable capacity.

A. Applications of Cloud Computing

Cloud applications range from ordinary business software to large-scale scientific and data-processing systems.

  • Web and mobile hosting: Load balancers distribute requests across instances, while content delivery networks cache static assets near users.
  • Storage and backup: Object storage retains files as durable objects; lifecycle rules can move older data to lower-cost archival tiers.
  • Disaster recovery: Replicated data and infrastructure templates enable systems to be recreated in another region after a site failure.
  • Data analytics: Elastic clusters process large datasets using frameworks such as Apache Spark, then release resources after completion.
  • Artificial intelligence: GPU instances and managed model endpoints support training and inference without purchasing specialized hardware.
  • Collaboration and SaaS: Email, document editing, customer relationship management, and video conferencing are delivered through browsers.
  • Internet of Things: Managed gateways ingest telemetry from devices, message brokers buffer events, and serverless functions process them.
  • Development and testing: Temporary environments can be created from Infrastructure as Code and removed after a test cycle.
  • Constraints: Network dependency, latency, compliance, migration cost, provider outages, and vendor lock-in must be assessed before adoption.

VII. Building Cloud Environments

Cloud implementation combines physical infrastructure, virtualization, networking, storage, automation, governance, and operational controls.

A. Design and Implementation of Public and Private Cloud Environments

Public and private clouds use similar technical building blocks but differ in ownership, scale, responsibility, and economic model.

  1. Public cloud environment:

    • Design: Choose regions and Availability Zones, then create virtual networks, subnets, route tables, gateways, and security rules.
    • Implementation: Provision resources through provider APIs or tools such as Terraform; deploy stateless services across multiple zones.
    • Security: Apply least-privilege identities, encryption, logging, and centralized policy controls.
    • Economics: Operating expenditure and usage-based billing replace much initial hardware investment.
  2. Private cloud environment:

    • Design: Size compute nodes, controller nodes, storage capacity, network bandwidth, and failure domains for organizational demand.
    • Implementation: Install a cloud platform such as OpenStack over hypervisors, configure shared storage, and publish self-service catalogs.
    • Security: Integrate enterprise identity systems, tenant isolation, internal certificate management, and audit logging.
    • Economics: Hardware is capital-intensive, but dedicated capacity may support predictable workloads or strict compliance.
  • Common lifecycle: Assess requirements, create architecture, automate deployment, test resilience, monitor service-level objectives, patch components, and plan capacity.
  • Design priorities: Eliminate single points of failure, use redundant controllers, back up configuration and data, and test recovery rather than merely documenting it.

VIII. Open-Source Cloud Infrastructure

OpenStack is an open-source platform that supplies modular services for constructing primarily IaaS-based public or private clouds.

A. OpenStack

OpenStack coordinates compute, storage, networking, identity, and image services through APIs and a dashboard.

  • Nova: Manages the lifecycle and scheduling of virtual-machine instances.
  • Neutron: Provides virtual networks, subnets, routers, floating IP addresses, and security groups.
  • Cinder: Supplies persistent block volumes that can be attached to instances.
  • Swift: Provides distributed object storage, while external systems such as Ceph may also supply storage back ends.
  • Glance: Stores and catalogs virtual-machine images, such as an Ubuntu image used to boot an instance.
  • Keystone: Performs authentication, service discovery, projects, roles, and token issuance.
  • Horizon: Offers a web dashboard for administrators and tenants.
  • Heat: Orchestrates related resources from templates.
  • Typical flow: A user authenticates through Keystone, selects a Glance image, requests an instance from Nova, receives Neutron connectivity, and optionally attaches a Cinder volume.
  • Operational challenge: Component integration, upgrades, monitoring, high availability, and capacity planning require substantial administrative expertise.

IX. Amazon Web Services

Amazon Web Services is a public-cloud platform offering global infrastructure and services for compute, storage, networking, databases, security, and application integration.

A. AWS

AWS resources are organized around regions, Availability Zones, accounts, and programmable service APIs.

  • EC2: Supplies resizable virtual machines called instances, selected by instance family, processor, memory, and purchasing model.
  • S3: Stores objects in buckets and supports versioning, lifecycle policies, access controls, and multiple storage classes.
  • EBS: Provides persistent block volumes for EC2 instances.
  • VPC: Creates logically isolated networks containing subnets, route tables, gateways, network access controls, and security groups.
  • IAM: Controls users, roles, policies, and temporary credentials; least privilege grants only required actions on specified resources.
  • RDS: Operates managed relational database engines and automates tasks such as backups and patching.
  • Lambda: Runs event-triggered functions without customer-managed servers and charges according to requests and execution resources.
  • Elastic Load Balancing and Auto Scaling: Distribute requests and adjust instance counts using metrics such as CPU utilization.
  • CloudWatch and CloudTrail: CloudWatch collects metrics, logs, and alarms, while CloudTrail records supported account API activity for auditing.
  • Reliability model: Deploying replicas across at least two Availability Zones protects applications from a single-zone failure; cross-region design addresses broader regional disruption.