What is DevOps, and how do containers and infrastructure as code fit in?
DevOps unites development and operations around automation, shared ownership and fast, safe delivery.
Building blocks
- Containers (Docker) — package an application and its dependencies so it runs identically everywhere; keep images small, pinned, non-root and scanned
- Orchestration (Kubernetes, ECS, serverless) — only when scale and team maturity justify it
- Infrastructure as Code (Terraform, Bicep, CloudFormation) — define environments in version-controlled code, review changes like application code and detect drift
- Configuration & secrets — environment-specific config outside code; secrets in a vault or secret manager, never in the repository
- Environments — development, staging and production kept as similar as possible
- GitOps / CD — the repository is the source of truth; pipelines promote artifacts with approvals
Principle: automate anything done twice, and make every deployment repeatable and reversible.