„Pojďme dělat DevOps” — řekl náš CTO na poradě začátkem roku. Pak následovalo ticho, protože nikdo přesně nevěděl, co to znamená. Po roce experimentování víme: DevOps je hlavně o kultuře, ne o nástrojích.
Zeď mezi vývojem a provozem¶
Vývojáři psali kód a „hodili ho přes zeď” operations. Operations nasadil, a když to nefungovalo, hodil chybu zpět. Root cause: vývojáři neměli přístup k produkčním logům, operations nerozuměl aplikační logice, release process trval 3 týdny a zahrnoval 47 kroků v Word dokumentu.
Krok 1: Společná odpovědnost¶
Posadili jsme lidi k jednomu stolu. Zavedli „you build it, you run it” — vývojář je on-call první týden po nasazení. Nic vás nedonutí psát robustní kód rychleji než buzení ve 3 ráno kvůli vlastnímu bugu.
Krok 2: Infrastructure as Code — Ansible¶
Naše servery byly ruční práce. Každý trochu jiný. Dokumentace? „Pepa ví.” Ansible: agentless, YAML playbooks, push model. Za dva měsíce automatizovaný provisioning. Nové testovací prostředí: z 2 dnů čekání na 15 minut.
Krok 3: CI/CD pipeline end to end¶
Jenkins pipeline od commitu po staging, produkční deployment jedním klikem:
pipeline {
stages {
stage('Build') { steps { sh 'mvn clean package' } }
stage('Test') { steps { sh 'mvn verify' } }
stage('Docker') { steps { sh 'docker build -t myapp:${BUILD_NUMBER} .' } }
stage('Staging') { steps { sh './deploy.sh staging' } }
stage('Prod') {
input { message 'Deploy to production?' }
steps { sh './deploy.sh prod' }
}
}
}
Doba od commitu po produkci: z 3 týdnů na 2 hodiny. Deploymenty za měsíc: z 1 na 8.
Krok 4: Monitoring¶
ELK stack pro logování, Grafana + InfluxDB pro metriky, PagerDuty pro alerting. Dashboard na TV v open space — každý vidí, jak systém dýchá.
Co se nepovedlo¶
„DevOps engineer” pozice — vytvořili jsme třetí silo místo dvou. Zrušili po čtvrt roce. Tool fatigue — příliš nástrojů najednou. Měli jsme zavádět postupně.
DORA metriky¶
- Deployment frequency: 1/měsíc → 8/měsíc
- Lead time: 3 týdny → 2 dny
- Change failure rate: 25 % → 8 %
- MTTR: 4 hodiny → 45 minut
DevOps je cesta, ne destinace¶
Nástroje jsou ta lehčí část. Změnit mentalitu lidí, zbořit sila a vybudovat kulturu sdílené odpovědnosti — to je skutečný challenge. Ale výsledky stojí za to.