Topic: deployment
-
The twelve-factor app as a checklist for services
The twelve factors describe conventions for deployable services: one codebase, declared dependencies, configuration in the environment, backing services as attached resources, strict build/release/run separation, stateless processes and logs as event streams.
-
Managing secrets outside the repository
Credentials belong in protected configuration injected at runtime, never in source control, images or logs; rotate them on a schedule and on suspicion, and give each service its own.
-
Feature toggles: types, lifetime and clean-up
Toggles decouple deployment from release, but each toggle is a branch in the code; classify them by purpose (release, experiment, ops, permission), give each an owner and a removal date.
-
Liveness and readiness checks
A liveness check answers whether a process should be restarted; a readiness check answers whether it should receive traffic. Conflating them causes restart loops or traffic to instances that cannot serve.
Machine-readable: JSON