Go in production
Cloud-Native Go
Go is the language the cloud is written in — Docker, Kubernetes, Prometheus, etcd. This track takes a
working service to production-ready: tiny containers and Kubernetes, health probes and
graceful shutdown, config, logs, metrics and tracing, message queues and event-driven
design, and the resilience patterns — timeouts, retries, circuit breakers, sagas — that keep
distributed systems standing.
Mark a topic “learned” on its page and watch the bars fill.
Skill map
Learned nodes light up — the glowing one is your next step. Click any node to jump in.
Containers & Kubernetes
Packaging and running Go in the cloud — tiny static images, the Kubernetes objects your service lives in, health probes and graceful lifecycle, and config from the environment.
What cloud-native means and why Go is its native language — static binaries in tiny containers, the 12-factor principles, and what 'production-ready' adds on top of 'it compiles'.
✦ Complete · ⏱ 5 min 2 · Beginner Dockerizing GoPackaging a Go service into a tiny, secure image — multi-stage builds, scratch/distroless bases, static linking, non-root users, and the version stamping that makes images traceable.
✦ Complete · ⏱ 5 min 3 · Intermediate Kubernetes Basics for Go ServicesThe Kubernetes objects your Go service lives in — Pods, Deployments, Services, ConfigMaps/Secrets — how a Deployment gives you self-healing and scaling, and how the app receives its identity and config.
✦ Complete · ⏱ 5 min 4 · Intermediate Health Probes & Graceful LifecycleTelling Kubernetes the truth about your service — liveness vs readiness vs startup probes, and graceful shutdown that drains in-flight requests so deploys never drop traffic.
✦ Complete · ⏱ 4 min 4.5 · Intermediate CI/CD & GitOpsGetting a Go service from commit to production safely and repeatably — the CI vs CD split, what a Go pipeline runs, and GitOps: Git as the single source of truth a controller reconciles toward.
✦ Complete · ⏱ 5 min 4.7 · Intermediate Deployment StrategiesShipping a new version without dropping traffic — rolling, blue-green, and canary releases, the health-gated promotion that makes them safe, and how readiness probes tie in.
✦ Complete · ⏱ 4 min 5 · Beginner ConfigurationFeeding a service its config the 12-factor way — environment variables and flags, precedence and defaults, fail-fast validation, and how ConfigMaps and Secrets map onto it in Kubernetes.
✦ Complete · ⏱ 4 min 5.5 · Intermediate Serverless GoRunning Go without managing servers — FaaS (Lambda) vs serverless containers (Cloud Run), the handler model, cold starts and why Go excels at them, and when serverless fits.
✦ Complete · ⏱ 4 minConfig & Observability
Seeing what your service does in production — 12-factor config, structured logs, Prometheus metrics, distributed tracing with OpenTelemetry, and profiling live.
Logs you can actually query — structured JSON with slog, levels, request-scoped fields and correlation IDs, and the rules (no secrets, log to stdout) that make logs work in a cluster.
✦ Complete · ⏱ 4 min 7 · Intermediate Metrics with PrometheusMeasuring a service in aggregate — counters, gauges and histograms, the /metrics endpoint Prometheus scrapes, the RED method, and the cardinality trap that blows up your metrics.
✦ Complete · ⏱ 4 min 8 · Intermediate Distributed TracingFollowing one request across many services — traces and spans, context propagation, OpenTelemetry, sampling, and why a trace is the tool you reach for when metrics say 'slow' but not 'where'.
✦ Complete · ⏱ 5 min 9 · Advanced Profiling in ProductionFinding why a service is slow or leaking — Go's built-in pprof (CPU, heap, goroutine, block profiles), the net/http/pprof endpoints, and continuous profiling, when metrics say 'slow' but not 'where in the code'.
✦ Complete · ⏱ 4 minMessaging & Data
Decoupling services with events — message queues, event-driven architecture, the transactional outbox and idempotency, and caching with Redis.
Decoupling services with asynchronous messaging — queues vs pub/sub, consumer groups, delivery guarantees (at-least-once and why exactly-once is hard), acks and redelivery, and backpressure.
✦ Complete · ⏱ 5 min 11 · Advanced Event-Driven ArchitectureDesigning systems around things that happened — events vs commands, event sourcing and rebuilding state by folding events, CQRS, and the eventual consistency you trade for decoupling.
✦ Complete · ⏱ 4 min 12 · Advanced The Outbox Pattern & IdempotencyReliably publishing events alongside a database write — the dual-write problem, the transactional outbox, and idempotency keys that make at-least-once delivery safe to reprocess.
✦ Complete · ⏱ 5 min 13 · Intermediate Caching with RedisTaking read load off your datastore — the cache-aside pattern, TTLs and invalidation, the cache stampede and how to prevent it, and the consistency trade-offs of caching.
✦ Complete · ⏱ 5 minMicroservices & Resilience
Building systems that stay up — service boundaries and gRPC, timeouts and retries, circuit breakers, load shedding, and distributed transactions with the saga pattern.
When (and when not) to split a system into services — bounded contexts and service boundaries, API contracts, the fallacies of distributed computing, and why 'monolith first' is usually right.
✦ Complete · ⏱ 5 min 15 · Intermediate gRPC & Service CommunicationHow Go services talk — gRPC vs REST, protobuf contracts and code generation, the four call types, and choosing synchronous calls vs asynchronous messaging.
✦ Complete · ⏱ 5 min 16 · Advanced Resilience PatternsKeeping a service up when its dependencies fail — timeouts, retries with exponential backoff and jitter, the circuit breaker, bulkheads, and graceful fallback.
✦ Complete · ⏱ 4 min 16.5 · Advanced Service MeshMoving retries, timeouts, mTLS, and traffic routing out of every service and into the platform — the sidecar/proxy model, what a mesh gives you, and when its complexity is worth it.
✦ Complete · ⏱ 4 min 17 · Advanced Rate Limiting & Load SheddingProtecting a service from too much traffic — rate limiting vs load shedding vs backpressure, graceful degradation under overload, and why dropping some requests beats collapsing under all of them.
✦ Complete · ⏱ 4 min 17.5 · Advanced AutoscalingLetting the platform size your service to demand — horizontal vs vertical scaling, the Kubernetes HPA control loop and its replica formula, scaling on the right signal, and scale-to-zero.
✦ Complete · ⏱ 4 min 18 · Advanced Distributed Transactions & SagasKeeping data consistent across services without a global transaction — why two-phase commit doesn't fit microservices, the saga pattern with compensating actions, and orchestration vs choreography.
✦ Complete · ⏱ 4 min🐹 The cloud runs on Go
Kubernetes, Docker, etcd, Prometheus, Istio, Terraform, containerd — the entire cloud-native control plane is written in Go, and for the same reasons it's great for your services: a static binary that drops into a tiny container, cheap goroutines for handling thousands of connections, and a standard library with HTTP, TLS, and JSON built in. This track is about wielding that for production.