Cloud Computing Overview:
Cloud computing delivers computing resources (compute, storage, networking, platforms, software) over the internet as on-demand services. It enables rapid provisioning, scalable capacity, and pay‑as‑you‑go pricing.
Key Characteristics:
- On-demand self-service: Provision resources without human intervention
- Broad network access: Accessible over standard networks/devices
- Resource pooling: Multi-tenant, abstracted shared resources
- Rapid elasticity: Scale up/down quickly
- Measured service: Usage metered and billed
Deployment Models
- Public: Services on shared infrastructure from providers
- Private: Dedicated infrastructure for one organization
- Hybrid: Integrated public + private environments
- Multi-cloud: Use of multiple cloud providers
Service Models
- IaaS: Virtualized compute, storage, networking
- PaaS: Managed runtime and tools for app development
- SaaS: Complete applications delivered as a service
Instances
- Virtual machines (VMs) with CPU, memory, storage, and networking. Examples include AWS EC2 and Azure Virtual Machines. You choose machine families (e.g., general-purpose, compute-optimized) and sizes.
Containers
- Lightweight software packages that include code and dependencies. Run on managed Kubernetes (EKS, AKS, GKE) or native container services (ECS, Azure Container Instances, Cloud Run) for portability, rapid deployment, and isolation.
Serverless Computing
- You deploy functions or container tasks without managing servers. The cloud provider handles scaling and availability. You pay for usage, not idle time.
Auto Scaling
- Automatically adjusts capacity based on demand. Available for VMs, container workloads, and serverless functions (concurrency scaling).General pricing concepts across providers: pay-as-you-go for compute time and resources, discounts for reserved/committed use, preemptible/spot capacity for lower-cost interruptible workloads, and additional charges for storage, data transfer, and managed add-ons.
