A cloud provider's menu as system-design building blocks
coreintermediateEvery system-design component covered elsewhere in this roadmap — a load balancer, a compute layer, a database, an object store, a queue, a cache, an identity/access layer, a network boundary, an observability stack — shows up again on a cloud provider's console, except now it is a menu item you provision rather than a piece of software you build and operate from scratch. Learning "a cloud" for system-design purposes does not mean memorizing one vendor's console; it means recognizing that these nine categories of building block exist on essentially every major provider under different brand names, with the provider handling the undifferentiated operational work (patching, replication, failover, capacity) so a design can reference "a managed queue" or "a managed database" as a dependable primitive instead of a from-scratch subsystem. This System Design topic stops at that mapping — the deep, provider-specific mechanics of any one of these categories (e.g. how a specific managed database replicates, or how a specific load balancer's health checks work) is the job of a dedicated cloud-provider topic such as this project's AWS content, not this section.
Think of it as
Think of a cloud provider's console like a well-stocked hardware store versus a lumber yard where you mill your own boards. The lumber yard (self-hosting every layer) gives total control over the exact grain and cut, but every project starts from raw material. The hardware store (a cloud's managed menu) sells pre-cut, pre-finished pieces — a load balancer, a managed database, a queue — in standard sizes that cover most jobs; you still design the house, but you are assembling from stock parts instead of milling lumber for every wall. Different hardware stores (different cloud providers) stock the same nine categories of part under different brand names, and knowing "system design" well means recognizing the part you need on any store's shelf, not just one particular store's aisle layout.
What we're doing: Trace one request path through a design expressed purely in system-design vocabulary, then in cloud-menu vocabulary, to see the mapping hold end to end.
- 3
- Every step in the first list has a same-numbered counterpart in the second — the design does not change, only who operates each piece.
- 7
- IAM and networking are not optional extras bolted on afterward — they gate every other component in the same list.
- 16
- None of the second list names a specific vendor's service — that vendor-specific naming is the AWS topic's job, not this one's.
Why this works: Walking the identical path twice, once generically and once as "a cloud's menu," makes the mapping concrete: nothing about the design itself changes, only which layer the team must build versus provision.
Treating a specific provider's service name as if it were the system-design concept itself
Wrong
Better
What you see: A design review can name every AWS (or GCP, or Azure) service involved but cannot answer "why a queue here" or "why managed vs self-hosted" when asked — the vendor names substitute for design reasoning, and swapping to a different cloud (or presenting the same design in an interview that does not name a vendor) leaves the candidate unable to explain the architecture at all.
Why: The system-design reasoning (why this component category, why this shape) has to exist independently of any vendor's branding — the vendor-specific name is a provisioning detail chosen last, not the thing being designed. Confusing the two means the reasoning was never actually done.
- System-design component — LB, compute, DB, storage, queue, cache, IAM, network, observability
- leads to Cloud provider menu (maps onto)
- Cloud provider menu — the same nine categories, provisioned rather than built
- leads to Operational burden (shifts undifferentiated work to)
- Operational burden — patching, replication, failover, capacity — absorbed by the provider
The nine system-design categories, generically, as a cloud menu maps them
Remember: A cloud provider's console sells the same nine system-design categories — load balancer, compute, managed database, object storage, queue, cache, IAM, networking, observability — as provisionable menu items rather than software built from scratch; the transferable skill is the generic mapping, not one vendor's specific naming. Provider-specific mechanics live in a dedicated cloud topic (this project's AWS content); this concept is the higher-altitude view of which category each menu item corresponds to and what "managed" removes from the operator.
See also: managed vs self hosted tradeoff

