{} The Go Reference

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.

Your cloud-native progress

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.

1 · Start here Why Cloud-Native Go

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 Go

Packaging 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 Services

The 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 Lifecycle

Telling 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 & GitOps

Getting 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 Strategies

Shipping 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 Configuration

Feeding 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 Go

Running 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 min

Config & Observability

Seeing what your service does in production — 12-factor config, structured logs, Prometheus metrics, distributed tracing with OpenTelemetry, and profiling live.

Messaging & Data

Decoupling services with events — message queues, event-driven architecture, the transactional outbox and idempotency, and caching with Redis.

Microservices & Resilience

Building systems that stay up — service boundaries and gRPC, timeouts and retries, circuit breakers, load shedding, and distributed transactions with the saga pattern.

14 · Intermediate Microservices Basics

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 Communication

How 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 Patterns

Keeping 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 Mesh

Moving 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 Shedding

Protecting 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 Autoscaling

Letting 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 & Sagas

Keeping 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.