„Lasst uns DevOps machen” — sagte unser CTO beim Jahresauftakt-Meeting. Dann folgte Stille, weil niemand genau wusste, was das bedeutet. Nach einem Jahr des Experimentierens wissen wir: DevOps dreht sich hauptsächlich um Kultur, nicht um Werkzeuge.
Die Mauer zwischen Entwicklung und Betrieb¶
Entwickler schrieben Code und „warfen ihn über die Mauer” zum Betrieb. Der Betrieb deployte ihn, und wenn etwas nicht funktionierte, warf er den Fehler zurück. Grundursache: Entwickler hatten keinen Zugang zu Produktionslogs, der Betrieb verstand die Anwendungslogik nicht, der Release-Prozess dauerte 3 Wochen und umfasste 47 Schritte in einem Word-Dokument.
Schritt 1: Geteilte Verantwortung¶
Wir setzten die Leute an einen Tisch. Wir führten „you build it, you run it” ein — der Entwickler ist in der ersten Woche nach einem Deployment auf Rufbereitschaft. Nichts bringt Sie schneller dazu, robusten Code zu schreiben, als um 3 Uhr morgens wegen des eigenen Bugs geweckt zu werden.
Schritt 2: Infrastructure as Code — Ansible¶
Unsere Server waren handgefertigt. Jeder leicht anders. Dokumentation? „Pepa weiß Bescheid.” Ansible: agentless, YAML-Playbooks, Push-Modell. In zwei Monaten automatisiertes Provisioning. Neue Testumgebung: von 2 Tagen Wartezeit auf 15 Minuten.
Schritt 3: End-to-End CI/CD Pipeline¶
Jenkins-Pipeline vom Commit zum Staging, Produktions-Deployment mit einem Klick:
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' }
}
}
}
Zeit vom Commit zur Produktion: von 3 Wochen auf 2 Stunden. Deployments pro Monat: von 1 auf 8.
Schritt 4: Monitoring¶
ELK Stack für Logging, Grafana + InfluxDB für Metriken, PagerDuty für Alerting. Dashboard auf einem TV im Großraumbüro — jeder kann sehen, wie das System atmet.
Was nicht funktioniert hat¶
Die Rolle „DevOps Engineer” — wir haben ein drittes Silo statt zwei geschaffen. Nach einem Quartal abgeschafft. Tool Fatigue — zu viele Tools auf einmal eingeführt. Wir hätten sie schrittweise einführen sollen.
DORA-Metriken¶
- Deployment Frequency: 1/Monat → 8/Monat
- Lead Time: 3 Wochen → 2 Tage
- Change Failure Rate: 25% → 8%
- MTTR: 4 Stunden → 45 Minuten
DevOps ist eine Reise, kein Ziel¶
Die Werkzeuge sind der einfachere Teil. Die Denkweise der Menschen zu ändern, Silos aufzubrechen und eine Kultur geteilter Verantwortung aufzubauen — das ist die eigentliche Herausforderung. Aber die Ergebnisse sind es wert.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns