1. Agents of D.E.V.O.P.S.
Dr. Christoph Ehlers
Principal Software Engineer
22.10.2019
Ein Blick hinter die Kulissen von DevOps-Teams
2. „Niemand hat die Absicht, eine Mauer zu errichten!“
Walter Ulbricht am 15. Juni 1961 in einer Pressekonferenz
Zwei Monate später ist die Berliner Mauer gebaut…
3. Agents of D.E.V.O.P.S. Folie 3
Spannungsverhältnis: Dev vs. Ops
„Wall of Confusion“ (Verantwortungsübergang)
Development
Ziele:
• Veränderung (Features)
• Innovation
• Agilität
• Time To Market
• Kundenzufriedenheit
Fokus: Anwendung
Operations
Ziele:
• Stabilität
• Verfügbarkeit
• Performance
• Standardisierung
• Kundenzufriedenheit
Fokus: Infrastruktur
Release
4. Agents of D.E.V.O.P.S. Folie 4
DevOps – Agilität weiter gedacht
• Cross-funktionales Team: Alle Personen, die nötig sind, um Wert zu
generieren (vgl. erstes Paper von Ken Schwaber und Jeff Sutherland über
Scrum in 1995)
• Operation gehört dazu: Die (Web-)Anwendung hat nur Wert, wenn sie läuft!
• Warum jetzt?
• Agile Entwicklungsmethoden
• Die Cloud: Service statt Produkt
• Automatisierung: CI/CD-Pipelines
• Infrastructure as Code und GitOps
Agilität weiter gedacht führt zu DevOps!
User Interface
Systemgrenze
Domäne
Persistenz
Infrastruktur
DevOps
SWE
5. Agents of D.E.V.O.P.S. Folie 5
Aus dem 2019 Global Developer Report von GitLab
• 89% bestätigen: DevOps verbessert Kommunikation, Transparenz und
Innovation (im Schnitt 1,4x innovativer mit DevOps)
• 45% machen CI/CD
• 49% haben die meisten Verzögerungen / Herausforderungen beim Testen
(Integrations- und Akzeptanztests)
• Gelebte Vorgehensweisen
• 54% Scrum
• 37% Kanban
• 36% DevOps
• 17% Wasserfall
6. Agents of D.E.V.O.P.S. Folie 6
Herausforderungen bei DevOps – Teil 1/2
• Unternehmenskultur: Akzeptanz für neu eingeführte Technologien und
Kooperationsmodelle – Tipp: Räumliche Nähe
• Unterstützung durch das Management: Verbindliche und transparente
Unterstützung bei der Einführungsentscheidung und im Verlauf des
Projekts
• Fähigkeiten der Mitarbeiter: Aufbau des nötigen Skillsets erforderlich (oft
unterschätzt: Aufwand, fehlende Skills aufzubauen und anschließend
produktiv einzusetzen)
• Planungsprozesse: Oft Softwareentwicklung bereits agil, aber ansonsten
weiterhin Planung und Budgetierung nach klassischen Vorgehensweisen –
Tipp: Agiler Festpreis
7. Agents of D.E.V.O.P.S. Folie 7
Herausforderungen bei DevOps – Teil 2/2
• Komplexität der Anwendung: Je komplexer die Anwendung desto
schwieriger die Einführung von DevOps – Tipp: Betrachtung der Anzahl
und Komplexität der Schnittstellen
• Integration von Legacy-Anwendungen: Kosten- und Zeit-intensive
Migration nötig, Dokumentation oft unzureichend
• Auswahl der Werkzeuge: Berücksichtigung von Anforderungen, Abläufen
und Infrastruktur
• Testautomatisierung: Verständnis der Business-Prozesse der Anwendung
und adäquate Testabdeckung dieser Business-Prozesse mit
automatisierten Tests für die Qualitätssicherung in der CI/CD-Pipeline –
Tipp: Citrus Framework und Sakuli 2
8. Agents of D.E.V.O.P.S. Folie 8
Voraussetzungen für DevOps
• Gemeinsames Zielbild – eine DevOps-Vision – in Abstimmung zwischen
dem Management, dem Fachbereich sowie Development und Operations –
Tipp: Zwischenschritte definieren
• Freiheit für Selbstorganisation des Projekts
• Eigene Budget-Verantwortung des Projekts
9. Agents of D.E.V.O.P.S. Folie 9
Vor DevOps-Projektstart
• Bestandsaufnahme der IST-Situation
• Kritisches Prüfen von DevOps-Einsatz auf Vor- und Nachteile
• Definition der Projektwerkzeuge
• Definition des initialen DevOps-Technologiestacks
• Analyse des Schulungsbedarf
• Festlegen des/der Kernteam(s)
• Zusammenarbeitsmodell der Teams festlegen
• Dokumentation und Kommunikation der Ergebnisse
10. Agents of D.E.V.O.P.S. Folie 10
DevOps-Team bei ConSol – Beispiel X (ein Team; Mo-Fr, 7-19 Uhr)
Dev DevOps Ops
Product Owner (Kunde), Stakeholder
Proxy PO / PL
• Monitoring
• Logfiles
• Restarts
• Infrastruktur (Updates
von Hardware, OS)
• Standardprobleme
• Schnittstelle
• Deployments
(inkl. Bugfixes)
• HyperCare
• Logfiles
• Verbesserungen
• Tickets
• Entwicklung
• Entwicklung
Verbesserungen
• 15% von Dev+DevOps
• Bei < 3 Tage keine
Rücksprache nötig
11. Agents of D.E.V.O.P.S. Folie 11
DevOps bei ConSol – Beispiel Y (mehrere Teams; Mo-So, 24/7)
Product Owner (Kunde)Proxy PO / PL
Dev 2 (Feature)
DevOps Ops
Dev 1 (Feature)
OpsNight
Scrum Master
• Schnittstelle
• 3rd-Level-Support
• Deployments
(inkl. Bugfixes)
• HyperCare
• Logfiles
• Bugfixes
• Verbesserungen
• 2nd-Level-Support
• Monitoring
• Logfiles
• Restarts
• Infrastruktur (Updates
von Hardware, OS)
• Standardprobleme
12. Agents of D.E.V.O.P.S. Folie 12
Lessons Learned
• Logging: Unterscheidung von Logging, Auditing und Tracing
• Health Checks: Richtige Verwendung
• Monitoring: Schnittstellen
• KPIs: Laufzeitmessungen
• CI/CD-Pipelines: Automatische Integration und Deployment
• Feature-Toggles: Iterativ und inkrementelles GoLive
• Zentral: Automatisierung und Zusammenarbeit
13. Agents of D.E.V.O.P.S. Folie 13
Zusammenfassung
• Dev vs. Ops
• DevOps-Kultur
• Herausforderungen bei DevOps
• Start von DevOps-Projekten
• DevOps bei ConSol
• Lessons Learned
„Die Menschen bauen zu viele Mauern und zu wenig Brücken.“
Joseph Fort Newton
Bruce Banner: If we do this, how do we know it's going to end any differently than it did before?
Carol ‚DevOps‘ Danvers: Because before, you didn't have me.
From „Avengers: Endgame“