Subjects·9 topics·204 terms
Platform & DevOps
Containers, orchestration, cluster networking, infrastructure as code, delivery, recovery and the bill.
Start with these 56, in order
Containers, orchestration, infrastructure as code, delivery and the bill — the platform vocabulary in the order it becomes load-bearing.
Read in order · tick what you already know
- 01
there is one machine everyone is afraid to reboot, and its configuration exists only in the history of who logged in.
Snowflake server
- 02
the container has no stack trace and no error log, just a restart count going up and exit code 137.
OOM kill
- 03
the deploy has been sitting at pending for twenty minutes with no error, because no node satisfies every constraint you set.
Unschedulable workload
- 04
two nodes ran what the manifest called the same version and behaved differently, because someone had pushed over the tag.
Image tag
- 05
somebody fixed it in the console during an incident, and the next apply politely undid the fix.
Infrastructure drift
- 06
the same API key is in a pipeline variable, two config maps, a wiki page and someone's laptop, and rotating it breaks three things.
Secret sprawl
- 07
nobody knows the names of the machines, and the fix for a sick one is to terminate it rather than to log in.
Cattle not pets
- 08
configuration comes from the environment, logs go to stdout, and the same image runs in staging and production unchanged.
Twelve-factor app
- 09
the process thinks it has its own machine, and on the host it is one ordinary PID among hundreds.
Container
- 10
you ship a tarball of a whole filesystem plus a line saying what to run, and the same bytes go to every environment.
Container image
- 11
a vulnerability was reported in a library you have never imported, because it came in the operating system underneath your code.
Base image
- 12
the compiler, the test framework and the whole toolchain are used in the build and then thrown away, and the shipped image contains one binary.
Multi-stage build
- 13
the deployment names a sha256 hash instead of a version, and there is exactly one set of bytes that could ever satisfy it.
Image digest
- 14
the deploy failed at three in the morning because the place you pull images from was rate-limiting you, and it is not your infrastructure.
Container registry
- 15
you stopped addressing individual machines and started submitting work to a pool that decides where it lands.
Cluster
- 16
a machine joins the pool, advertises how much CPU and memory it has, and starts being given other people's workloads.
Node
- 17
two containers share an IP address and a lifetime, and are scheduled onto the same node together or not at all.
Pod
- 18
a second container next to your application handles TLS, logging or metrics, and your code was never changed.
Sidecar
- 19
you write down what should exist, submit it, and something else works out the steps — including that most of them are already done.
Declarative configuration
- 20
you said three replicas, and every time someone deletes one a fourth appears without anybody being asked.
Desired state
- 21
the spec says three and the status says one, and the gap between those two numbers is the entire incident.
Observed state
- 22
something reads the difference between what you asked for and what exists, takes one step to close it, and then does it all again forever.
Reconciliation loop
- 23
you never create the individual containers; you create an object, and a background process creates them to match it.
Controller
- 24
you promise the scheduler the workload needs half a core, and that half core is subtracted from the node whether or not you ever use it.
Resource request
- 25
the container went one byte over its memory ceiling and the kernel killed it outright, mid-request.
Resource limit
- 26
the orchestrator asks whether the process is wedged and restarts the container when it stops answering.
Liveness probeBackend
- 27
the instance says "not yet" while the cache warms, so the load balancer keeps traffic off it until it is genuinely able to serve.
Readiness probeBackend
- 28
a healthy workload was terminated because the node it happened to be on ran out of disk, and it had done nothing wrong.
Eviction
- 29
you mark the machine unschedulable and evict everything on it politely, so the upgrade takes an hour instead of a page.
Node drain
- 30
traffic doubled and the replica count went from four to nine on its own, a minute or two after it needed to.
Horizontal autoscaling
- 31
a workload could not be placed, so a new machine was bought, booted and joined the cluster — three minutes after you needed it.
Cluster autoscaling
- 32
instances come and go constantly and callers never hold a stale address, because nobody is configured with one.
Service discovery
- 33
you connect to a name rather than an address, and every workload in the cluster resolves it to whatever is currently healthy.
Cluster DNS
- 34
traffic from outside arrives at one front door with the certificate on it, and is routed inwards by hostname and path.
Ingress
- 35
the workload can reach only the three services it declared, and its attempt to open a connection anywhere else times out silently.
Network policy
- 36
the tool's record of what it built is a third thing, sitting between your file and the real cloud, and all three can disagree.
Infrastructure state
- 37
the tool prints exactly what it will create, change and destroy, and you read the destroy list before typing yes.
Plan and apply
- 38
a nightly job plans against production and tells you that fourteen things no longer match the code, before the next deploy does.
Drift detection
- 39
the team's standard service takes six inputs and produces thirty resources, and nobody writes the thirty by hand any more.
Infrastructure module
- 40
a merge triggers a sequence of stages on someone else's machine, and the sequence is now the only way anything reaches production.
Build pipeline
- 41
the pipeline produces one file with one version, and everything downstream refers to that file rather than rebuilding.
Build artefact
- 42
the exact bytes tested in staging are the bytes that run in production, with only the configuration differing.
Build once, deploy many
- 43
it worked in staging and broke in production, because staging had one replica, no mesh and a different database size.
Environment parity
- 44
nobody has credentials to deploy; an agent in the cluster watches a repository and makes reality match it.
GitOps
- 45
instances are replaced a few at a time, so both versions serve traffic simultaneously for several minutes.
Rolling deployment
- 46
error rate crossed the threshold ninety seconds in and the system reverted to the previous version without waking anyone.
Automated rollback
- 47
the database password is fetched at start-up from a service that logs who asked, instead of sitting in the repository.
Secret management
- 48
the thing calling the API is not a person, and its permissions were granted once in 2022 by someone who has left.
Service account
- 49
the service proves what it is to the cloud without holding any credential, because the platform attests to it.
Workload identity
- 50
one datacentre lost power and a third of your instances went with it, which is the unit this is designed around.
Availability zone
- 51
you run at sixty percent so a zone failure or a traffic spike does not immediately become an outage.
Headroom
- 52
the business says four hours, and the restore has never been timed, so nobody knows whether that is true.
Recovery time objective
- 53
backups run nightly, so recovering means losing up to a day of writes, and nobody outside the platform team knew that.
Recovery point objective
- 54
every service asked for four cores because that is what the template said, and the fleet averages eight percent CPU.
Overprovisioning
- 55
you look at a fortnight of real usage and cut the requests in half, and nothing at all happens.
Rightsizing
- 56
the unattached disks, the reserved addresses and the load balancer for a service deleted last year are all still billing.
Zombie resource
All of platform & devops
Every term in this subject, 204 of them, grouped into 9 topics. Each topic is a track of its own.
Packaging: containers and images
01 · 27 termsA container is a much smaller idea than it looks: a normal process, lied to about what it can see. These are the words for the artefact you build, the layers it is made of and the kernel features that make the isolation real.
- Container
- Container image
- Image layer
- Build cache
- Base image
- Multi-stage build
- Distroless image
- Entrypoint
- PID 1 problem
- Image tag
- Image digest
- Container registry
- Image pull policy
- Container runtime
- Open Container Initiative
- Linux namespaces
- cgroups
- Overlay filesystem
- Ephemeral container filesystem
- Twelve-factor app
- Rootless container
- Privileged container
- Container escape
- Image scanning
- Software bill of materials
- Reproducible build
- Hermetic build
The orchestrator's model of the world
02 · 19 termsYou stop telling the machine what to do and start telling it what you want, and something else spends the rest of the day closing the gap. Almost every surprising thing an orchestrator does follows from that one swap, and this is the vocabulary of it.
Placement, resources and the pod lifecycle
03 · 22 termsEvery workload is a request for someone else's CPU and memory, arbitrated by a scheduler that will happily tell you no. This cluster is what those numbers actually mean, why a workload will not start, and how one gets killed.
- Resource request
- Resource limit
- Overcommit
- CPU throttling
- OOM kill
- Quality of service class
- Eviction
- Bin packing
- Unschedulable workload
- Taint
- Toleration
- Node affinity
- Pod anti-affinity
- Topology spread
- Pod disruption budget
- Node drain
- Horizontal autoscaling
- Vertical autoscaling
- Cluster autoscaling
- Scale to zero
- Startup probe
- Termination grace period
Traffic into and inside the cluster
04 · 23 termsThe moment there is more than one instance of anything, addressing stops being a hostname and becomes infrastructure. These are the words for how a packet finds a workload, what is allowed to talk to what, and which of it appears on the bill.
- Container Network Interface
- Overlay network
- Cluster DNS
- Service discovery
- Service endpoint
- Virtual IP
- Headless service
- Layer 4 load balancing
- Layer 7 load balancing
- North-south traffic
- East-west traffic
- Ingress
- Ingress controller
- Egress
- Egress gateway
- Network policy
- Security group
- Zero-trust networking
- Sidecar proxy
- Traffic splitting
- Connection draining
- NAT gateway
- VPC peering
Infrastructure described in a file
05 · 23 termsWriting the infrastructure down is the easy half. The hard half is that the file, the state and the real cloud are three different things that disagree, and this is the vocabulary of that disagreement.
- Infrastructure state
- State file
- State locking
- Plan and apply
- Resource graph
- Infrastructure provider
- Infrastructure module
- State import
- Infrastructure drift
- Drift detection
- Resource replacement
- Apply blast radius
- Idempotent provisioning
- Convergence
- Provisioning
- Configuration management
- In-place upgrade
- Snowflake server
- Cattle not pets
- Golden image
- Image baking
- Infrastructure bootstrapping
- Cloud landing zone
Pipelines, promotion and GitOps
06 · 23 termsBetween a merged pull request and a running process there is a machine you did not write, moving an artefact through environments. These are the words for that machine, for what it is allowed to promote, and for who pulls versus who pushes.
- Build pipeline
- Pipeline as code
- Pipeline runner
- Self-hosted runner
- Build artefact
- Artefact registry
- Build once, deploy many
- Artefact promotion
- Environment parity
- Ephemeral environment
- GitOps
- Config repository
- Pull-based deployment
- Push-based deployment
- GitOps drift
- Deployment gate
- Rolling deployment
- Post-deploy verification
- Automated rollback
- Progressive delivery
- Deployment ring
- Release train
- Change freeze
Running it: capacity, failure and recovery
07 · 28 termsThe service works. Now it has to keep working through a zone going dark, a certificate expiring and a team that has never restored a backup. This is the vocabulary of the layer that has to survive, and of the team whose product is that layer.
- Availability zone
- Cloud region
- Multi-region
- Active-active
- Active-passive
- Warm standby
- Failback
- Static stability
- Cell-based architecture
- Shuffle sharding
- Disaster recovery
- Recovery time objective
- Recovery point objective
- Restore testing
- Fault injection
- Headroom
- Burst capacity
- Resource quota
- Multi-tenancy
- Tenant isolation
- Maintenance window
- Patch cadence
- Operational readiness review
- Toil automation
- Self-service platform
- Paved road
- Platform engineering
- Platform as a product
Secrets, identity and the supply chain
08 · 23 termsEvery workload needs credentials it must never contain, and every artefact you run came from somewhere you did not watch. These are the words for handing out identity that expires and for proving where a build came from.
- Secret management
- Secret sprawl
- Short-lived credential
- Workload identity
- Service account
- Instance metadata service
- Role assumption
- Identity federation
- Key management service
- Envelope encryption
- Certificate rotation
- Privilege creep
- Permission boundary
- Just-in-time access
- Break-glass access
- Control plane audit log
- Policy as code
- Admission controller
- Software supply chain
- Dependency confusion
- Artefact signing
- Build provenance
- Attestation
What the platform costs
09 · 16 termsCloud bills are a delayed, aggregated, badly labelled log of engineering decisions. These are the terms for reading it, for the three prices the same machine has, and for the charges nobody predicted.