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.
Reading path#
- Cloud foundations follows one request through DNS, routing, load balancing, compute, identity, and storage. It supplies the AWS vocabulary used by every later note.
- Containers and the Kubernetes object model turns the application process into an image, Pod, and controller-owned 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.
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