1. Culture before tools #
Collaboration and shared responsibility.
CALMS principles #
- Culture: product teams responsible end to end (« you build it, you run it »), mistakes treated as learning opportunities.
- Automation: build, test, deployment and infrastructure without manual intervention.
- Lean: small batches, continuous flow, fewer queues.
- Measurement: data-driven decisions (DORA, SLO).
- Sharing: documentation, runbooks, code reviews and public post-mortems.
2. Delivering continuously #
CI/CD and trunk-based development.
A typical pipeline #
# .gitlab-ci.yml
stages: [build, test, scan, deploy-preprod, deploy-prod]
build:
stage: build
script: [docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA ., docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA]
test:
stage: test
script: [make test, make lint]
scan:
stage: scan
script: [trivy image --exit-code 1 --severity CRITICAL $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA, gitleaks detect --source .]
deploy-preprod:
stage: deploy-preprod
script: [helm upgrade --install app ./chart -n preprod --set image.tag=$CI_COMMIT_SHA --atomic --wait]
deploy-prod:
stage: deploy-prod
when: manual
only: [main]
script: [helm upgrade --install app ./chart -n prod --set image.tag=$CI_COMMIT_SHA --atomic --wait]- Small, frequent changes on the main branch (trunk-based), feature flags to hide work in progress.
- A single artifact built once, promoted from one environment to the next.
- Automated rollback (
--atomic,helm rollback,kubectl rollout undo).
3. Infrastructure as Code and GitOps #
Everything is in Git.
Principles #
# Infrastructure décrite en code, revue et testée
terraform fmt -check && terraform validate && terraform plan -out=tfplan
tflint && checkov -d .
# GitOps : Git est la source de vérité, un agent réconcilie le cluster
argocd app create shop --repo https://git.exemple.fr/shop/deploy.git --path k8s/prod --dest-server https://kubernetes.default.svc --dest-namespace prod --sync-policy automated --self-heal
argocd app diff shop && argocd app history shopCommon mistake: « Urgent » manual changes in production create drift: fix in Git, then let automation apply it.
4. Security, reliability and learning #
DevSecOps, SLOs and post-mortems.
Integrating security and measuring #
- Shift-left: scanning dependencies (SCA), secrets, images and IaC right in the CI.
- SLOs and error budget: define a reliability target and arbitrate between new features and stability.
- Healthy on-call: actionable alerts, runbooks, fair rotation.
- Blameless post-mortems: timeline, contributing causes, actions tracked until closure.
# SLO de disponibilité 99,9 % sur 30 jours -> budget d'erreur ≈ 43 minutes
# Taux de consommation du budget (PromQL)
1 - (sum(rate(http_requests_total{status!~"5.."}[30d])) / sum(rate(http_requests_total[30d])))
# DORA : fréquence de déploiement (tags de release)
git tag --list 'v*' --sort=-creatordate --format='%(creatordate:short) %(refname:short)' | head -20Good practice: Start by measuring the four DORA metrics, then improve one constraint at a time (batch size, build time, flaky tests, approval process).
Reference diagram and quick check #
Visualize the principle and check it from the command line.
Reference diagram #
git log --oneline --since='7 days ago' | wc -l # fréquence des changements
kubectl rollout history deployment/apiMy progress
Sign in to track your progress and take notes. Sign in
💬 Questions about this lesson
No questions yet: be the first to ask for help or share your configuration.
Recommended Articles
DevOps variants: understanding how engineering culture has evolved
Discover the different flavors of DevOps: DevSecOps, AIOps, NoOps, GitOps and FinOps. Understand ...
Git for DevOps: branches, code reviews and versions
Organize work with Git in a DevOps approach: trunk-based development or GitFlow, short-lived bran...
Organizing DevOps: value streams, teams and a blameless culture
Set up a DevOps organization: value chain and value stream mapping, Team Topologies, « you build ...
Infrastructure as Code and GitOps: Terraform, Ansible and Argo CD
Manage infrastructure as code: declarative or imperative, Terraform (providers, state, plan, modu...
The CALMS framework: the 5 pillars of DevOps
Discover the CALMS framework, the essential foundation for a successful DevOps transformation, th...
Observability, SRE and incident management for DevOps teams
Operate what you ship: metrics, logs and traces, golden signals, SLIs, SLOs and error budgets, ac...
DevSecOps: securing the software supply chain end to end
Integrate security into the DevOps pipeline: shift-left, threat modeling, secret detection, SAST,...
Measuring DevOps performance: DORA metrics, SPACE and continuous improvement
Measure and improve delivery performance: the DORA metrics (deployment frequency, lead time, chan...
The wall of confusion
The 'wall of confusion' is a metaphor often used in a DevOps context to describe the cultural, or...