Introduction to Cloud Computing
Service Models
- Infrastructure as a Service (IaaS)
- Definition: Provides raw compute, storage, and networking resources on demand.
- User Responsibility: Operating system, middleware, runtime, applications, data.
- Examples:
- AWS EC2 + EBS + VPC
- Azure Virtual Machines + Azure Storage + Virtual Network
- GCP Compute Engine + Persistent Disk + VPC
- Platform as a Service (PaaS)
- Definition: Offers a managed platform—including OS, runtime, and middleware—so developers can deploy code without managing servers.
- User Responsibility: Applications and data; the cloud provider handles the rest.
- Examples:
- AWS Elastic Beanstalk, AWS Fargate
- Azure App Service, Azure Functions (serverless)
- GCP App Engine, Cloud Run
- Software as a Service (SaaS)
- Definition: Delivers fully managed applications over the internet; end users simply consume the software without worrying about infrastructure or platforms.
- User Responsibility: Data and user configuration only.
- Examples:
- Salesforce CRM, Google Workspace
- AWS WorkMail, Azure DevOps Services
- GCP G Suite, Firebase
Why Cloud Matters for DevOps
- Elasticity & Scalability
- Auto-scale up/down in response to load—no need to over-provision.
- On-Demand Provisioning
- Spin up environments in minutes via APIs or IaC.
- Pay-As-You-Go
- Optimize costs by only paying for what you consume.
- Global Footprint
- Deploy services close to users for low latency.
- Managed Services
- Offload undifferentiated heavy lifting (databases, messaging, logging).
Deploying Applications in the Cloud
Key Cloud Service Categories
- Compute
- Virtual Machines: EC2, Compute Engine, Azure VMs
- Containers & Orchestration: EKS/Elastic Kubernetes Service, AKS, GKE
- Serverless: Lambda (AWS), Functions (Azure), Cloud Functions (GCP)
- Storage & Databases
- Object Storage: S3, Azure Blob Storage, Cloud Storage
- Block Storage: EBS, Azure Disk Storage, Persistent Disk
- Managed Databases: RDS/Aurora, Azure SQL Database, Cloud SQL / Spanner
- Networking
- Load Balancers: ELB/ALB, Azure Load Balancer/Application Gateway, Cloud Load Balancing
- CDN: CloudFront, Azure CDN, Cloud CDN
- DNS & Traffic Management: Route 53, Azure DNS, Cloud DNS
- Identity & Access Management (IAM)
- Centralized permission control: AWS IAM, Azure Active Directory, GCP IAM
- Enables secure, least-privilege access for services and users.
Example Deployment Scenarios
- Microservice Application
- Build container images in CI (e.g., GitLab CI).
- Push to a registry (ECR, ACR, Artifact Registry).
- Deploy to Kubernetes (EKS/AKS/GKE) with Helm or GitOps.
- Configure auto-scaling via Horizontal Pod Autoscaler.