Scope#
How an application becomes a production service: first the internet and AWS boundaries around it, then containers and Kubernetes, scheduling, managed container platforms, asynchronous work, and day-two operation. The notes are sequential. Each product is introduced before its failure modes or operating details. Worked cases use a fictional bookshop whose names, values, and repository layouts exist only in these notes.
The final four notes revisit the cloud boundary in more depth. Internet edge and private connectivity follows public, private, and hybrid network paths; identity and cloud security follows credentials, authorization, secrets, encryption, and audit evidence; storage, backups, and disaster recovery separates live copies from recoverable history across object, block, file, and managed database storage; observability pipelines follows metrics, logs, and traces from instrumentation through collection, buffering, storage, query, rules, alerts, failure, and recovery.
How the collection fits together#
flowchart TB accTitle: Cloud infrastructure learning path accDescr: AWS foundations lead into containers, Kubernetes objects, control planes, networking, scheduling, and the EKS versus ECS comparison. The path then adds asynchronous systems, delivery, production operation, and shared services. Four deeper notes revisit networking, identity, storage, and observability. AWS["CI1<br/>AWS foundations"] --> ORCH["CI2–6<br/>Containers through managed orchestration"] ORCH --> ASYNC["CI7–8<br/>Kafka and Celery"] ASYNC --> DELIVERY["CI9<br/>IaC and GitOps"] DELIVERY --> OPS["CI10–11<br/>Operation and shared services"] AWS --> DEEP["CI12–14<br/>Networking, identity, storage, and recovery"] OPS --> OBS["CI15<br/>Observability pipelines"]
Reading path#
- Cloud foundations first maps accounts, Regions, Availability Zones, VPCs, subnets, service APIs, and the main AWS service families. It then follows synchronous and asynchronous application paths through compute, identity, networking, and storage.
- Containers and the Kubernetes object model starts with the process, image, port, and state concepts Kubernetes assumes, then separates Pods, Deployments, Services, and the other objects around a workload.
- Control planes, etcd, and reconciliation follows that declared workload through the API server, controllers, scheduler binding, kubelet, and durable control-plane state.
- Kubernetes networking, storage, and security adds the Service, gateway, volume, identity, and policy paths a running Pod needs.
- Scheduling, autoscaling, and noisy neighbors explains placement and runtime resource behavior before deriving scheduler scale limits.
- EKS and ECS compares the two managed container contracts after the Kubernetes and AWS layers are visible.
- Kafka first distinguishes queues, topics, event buses, retained logs, and workflows, then follows one retained record through Kafka.
- Celery applies the work-queue model to named background tasks, acknowledgements, retries, and worker failure.
- Infrastructure as code and GitOps supplies the reviewed change path for the infrastructure and workloads already introduced.
- Production operation defines service success, telemetry, scaling feedback, availability, recovery, and capacity.
- Shared production services uses platform interfaces, PostgreSQL pooling, and durable workflows as separate examples of owned resource contracts.
- Internet edge and private connectivity revisits CI1's request path at packet, transport, proxy, and hybrid-network depth.
- Identity, secrets, and cloud security revisits CI1's identity boundary and joins it to workload credentials, encryption, network policy, and audit evidence.
- Storage, backups, and disaster recovery revisits CI1's storage choices and separates live service, replicas, snapshots, backups, restore, RPO, and RTO.
- Observability pipelines follows the machinery that carries the production signals defined in CI10.
The cloud path does not require reading the low-level collection first. When a cloud abstraction needs host detail, use LL2 for CPU scheduling and NUMA, LL4 for persistence, LL5 for packet paths, LL6 for container isolation and resource enforcement, and LL7 for host evidence.
Sandbox systems applies CI2–6 and CI9–15 to isolated computers for agents and untrusted code. It continues from Kubernetes objects into sandbox claims, warm pools, gVisor and microVMs, checkpoint storage, credential brokering, and platform selection.
Useful background#
- Comfort reading TypeScript, Python, and YAML
- Basic command-line and Git experience
- Experience building an ordinary web application
- No AWS, Kubernetes, Kafka, Celery, or Linux-operations experience required