Cloud Architecture and Design
This chapter covers the foundational models and design principles behind cloud solutions. You will learn the service models (IaaS, PaaS, SaaS), the deployment models (public, private, hybrid, community), and how to choose compute, storage, and network building blocks to meet requirements for scalability, availability, and cost.
Service and deployment models
Cloud services are categorized by how much the provider manages. IaaS supplies raw compute, storage, and networking while the customer manages the operating system and everything above it. PaaS adds a managed runtime and middleware so teams only deploy application code. SaaS delivers a complete application. Deployment models describe where resources live: public cloud is multi-tenant provider infrastructure, private cloud is dedicated to one organization, hybrid combines both (often to keep sensitive data in-house while bursting to public capacity), and community cloud is shared by organizations with common requirements.
Designing for scalability and availability
Well-architected solutions plan for changing demand and for failure. Elasticity automatically adds and removes resources to track demand, while scalability is the broader ability to grow. Horizontal scaling adds more instances behind a load balancer; vertical scaling increases the size of a single instance. High availability is achieved by removing single points of failure, for example by spreading instances across multiple availability zones and using health checks so traffic routes only to healthy nodes.
Choosing storage types
Match the storage type to the access pattern. Block storage presents raw volumes suited to databases and boot disks with low-latency random access. File storage offers a shared, hierarchical file system accessed over protocols like NFS or SMB. Object storage stores unstructured data such as media and backups as objects with metadata, accessed over HTTP, and scales massively but is not designed for in-place edits. Selecting the wrong type leads to poor performance or higher cost.
The shared responsibility model
Security and operational duties are split between provider and customer, and the split shifts with the service model. In IaaS the provider secures the facility, hardware, and hypervisor, while the customer owns the guest OS, applications, and data. In PaaS the provider also manages the OS and runtime. In SaaS the provider manages nearly everything except the customer's data and access configuration. Understanding exactly where the boundary sits prevents dangerous assumptions and misconfiguration.