DevOps
02 / 02

Practices: CI/CD, IaC & Safe Deployment

Practices: CI/CD, IaC & Safe Deployment

CI vs. Delivery vs. Deployment

Continuous Integration: merge frequently, auto-build/test on every merge — catch integration bugs early and small. Continuous Delivery: every passing change is prepared release-ready, but a human still triggers the actual production deploy. Continuous Deployment: fully automatic, no manual gate at all.

Infrastructure as Code

Manage servers/networking/databases as version-controlled config (Terraform, CloudFormation) instead of manual console clicks — code-reviewable, repeatable, consistent, applying the same rigor already used for application code.

Deploying Safely at Speed

Feature flags decouple DEPLOYING code from RELEASING a feature — ship code disabled, toggle it on later, roll back instantly without a redeploy. Canary deployments roll a new version out to a small traffic slice first, limiting blast radius before a full rollout. Neither is free: fast, frequent deployment only stays SAFE with robust automated testing, monitoring/alerting, and reliable rollback — without those, faster deploys just mean faster exposure to undetected problems.

Shift Left

Catch problems (bugs, security issues) earlier in the lifecycle, when they're cheaper to fix — the same early-feedback economic argument Agile makes, applied to testing and security specifically.

Tools Support Culture, Not the Reverse

Adopting Jenkins/Docker/Kubernetes/Terraform doesn't automatically mean "doing DevOps" — an org can use every popular tool while keeping siloed teams and misaligned incentives. Genuine transformation is the cultural shift (shared ownership, collaboration, blameless learning) the tooling exists to support.

Keep your own version of these notes — editable, searchable, and organised by your stack.

Start free