DevOps in der Praxis Alexander Pacnik 24.11.2015
Einführung... DevOps Versuch einer Definition Alexander Pacnik IT Engineering & Operations Project Management inovex GmbH 2
Einführung... DevOps Versuch einer Definition Maßnahmen, um die Bruchstellen zwischen den Silos Entwicklung und IT-Betrieb aufzulösen, in dem gemeinsame Prozesse, Tools, Vokabeln und Kommunikationswege aufgebaut werden. Bei DevOps geht es um Kultur einer Organisation. 3
Einführung... Hype Cycle DevOps nur ein neues Thema für 2016? Sichtbarkeit Höhepunkt der Erwartungen XaaS Microservice Cloud Aufklärung Produktiver Einsatz Agil DevOps Scrum... Trigger Desillusionierung Zeit Continuous Delivery 4
Übersicht... die Entstehungsgeschichte der Veränderung Veränderung der Umwelt Innovation Flexibilität Produktqualität 1. Organisation: vom funktionalen Silo zum inter-disziplinären Scrum-Team 3. Infrastruktur: von Hardware zu Cloud & XaaS Veränderung der Arbeitsweise 2. Automatisierung: von manuellen Deployments zu Continuous Delivery 4. Applikation: vom Monolith zu Microservice 54
Die Organisation... und wenn meine Organisation nicht in einem solchen Kontext entstanden ist? Kriterien für eine Performance-orientierte Organisation Empirisches Vorgehen als Basis Gemeinsam Verantwortung übernehmen setzt Vertrauen voraus Freiwillige Informationsverteilung, um gemeinsames Wissen aufzubauen Fehleranalyse, um aus Fehlern zu lernen statt Schuldige zu finden Offenheit für Veränderung 6
Die Organisation... wie Scrum bei der Veränderung helfen kann Daily Planning 24h Sprint Planning 30 Tage Sprint Product Backlog Sprint Backlog Lauffähige Software definierte Rollen, Artefakte, Meetings schaffen Stabilität Kontrolle durch regelmäßige Lieferung und Feedback Selbstorganisation und Eigenverantwortlichkeit durch das Pull-Prinzip Setzt Verantwortungs-delegation an die Teams voraus 7
Die Organisation... wie empirisches Vorgehen bei der Veränderung helfen kann Do Check Empirisches Vorgehen nach dem Deming-Cycle Do Check Plan Act Selbstorganisation und Plan Act Qualität Eigenverantwortlichkeit durch das Pull-Prinzip Zeit 8
Die Organisation... die funktional aufgeteilte Organisation Funktionale Trennung nach Architektur planen Entwicklung betreiben erstellen Design verkaufen planen entwickeln IT Betrieb PO / PM Marketing betreiben verkaufen 9
Die Organisation... DevOps und die Auswirkungen auf die Kommunikation Self-Service DevOps Direkte Kommunikation Planen, Erstellen, betreiben Design verkaufen Microservices und Automatisierung verwischen die Grenzen zwischen Entwicklung, Betrieb und Architektur IT Plattform Provider PO / PM Marketing Kommunikation und Befähigung rund um das Produkt sind entscheidend 10
Die Organisation... am Beispiel dm-drogerie markt Zentrale IT, die Standardkomponenten und Plattform verantwortet Einführung eines Linux Teams, das Linux Dienste als Self-Service anbietet IT Ingenieure, die zusammen mit der Entwicklung arbeiten Gemeinsame Meetings Kurze Kommunikationswege (kritischer Erfolgsfaktor) 11
Übersicht... die Entstehungsgeschichte der Veränderung Veränderung der Umwelt Innovation Flexibilität Produktqualität 1. Organisation: vom funktionalen Silo zum inter-disziplinären Scrum-Team 3. Infrastruktur: von Hardware zu Cloud & XaaS Veränderung der Arbeitsweise 2. Automatisierung: von manuellen Deployments zu Continuous Delivery 4. Applikation: vom Monolith zu Microservice 12 11
Die Automatisierung... und wenn meine Organisation nicht in einem solchen Kontext entstanden ist? Was passiert mit zentralen, effizienzorientierten Change Prozessen? Was passiert mit zentralen, effizienzorientierten QA Prozessen? Was passiert mit zentralen, effizienzorientierten Automatisierungslösungen? 13
Die Automatisierung... worum es bei Continuous Delivery geht Continuous Delivery (CD) bezeichnet eine Sammlung von Techniken, Prozessen und Werkzeugen, die den Softwarelieferprozess verbessern. * Quelle: http://de.wikipedia.org/wiki/conti nu ou s_deliv ery 14
Die Automatisierung... automatische Prozesse Methodik Continuous Integration Continuous Delivery Continuous Deployment DevOps Automatisierung Build Integrate A-Test UAT Release Monitor Promote Infrastruktur Deploy to Production Betrieb Automatisierung aller Prozesse, um Fehler zu vermeiden Automatisierte Auslieferung der Applikation und Umgebungen Abbilden aller (nicht)funktionaler Anforderungen als Tests schnelles Feedback (für Entwicklung, Produktmanagement, Operations) Ziel: Möglichkeit täglich statt nur alle 14 Tage Software auszuliefern 15
Die Automatisierung... Herausforderungen für das Testen Funktionale Tests (Story Tests) Komponenten Tests User Acceptance Testing Nichtfunktionale Tests (Lasttests) Häufige Deploymentsmachen automatisierte Tests notwendig Umdenken erforderlich, Testen ist nicht Aufgabe von Technik- oder Fachseite, sondern eine gemeinsame Aufgabe. Auswahl der Tools oft schwierig. Quelle: Agile Testing 16
Die Automatisierung... Selbsteinschätzung Wie lange dauert es eine Zeile Code zu deployen? Kann ich historische Umgebungen wieder aufbauen (Versionsstände, Daten)? Kann ich einzelne Elemente verändern? Kann ich auf eine Version zurückspringen? 17
Die Automatisierung... am Beispiel dm-drogerie markt Lokale Umgebung 1st: Commit Stage - Komponententests - Artefakterstellung 2nd Stage - Integrationstests 3rd Stage - Systemtests Release - Manuelle Tests Produktion Entwickler VCS Repository Integrationssystem Performance Tests Fachliche Abnahme Build & Code Dev-System Self-Service Deployment Artefakt Repository Automatisch Bei Bedarf 18
Übersicht... die Entstehungsgeschichte der Veränderung Veränderung der Umwelt Innovation Flexibilität Produktqualität 1. Organisation: vom funktionalen Silo zum inter-disziplinären Scrum-Team 3. Infrastruktur: von Hardware zu Cloud & XaaS Veränderung der Arbeitsweise 2. Automatisierung: von manuellen Deployments zu Continuous Delivery 4. Applikation: vom Monolith zu Microservice 19 30
DevOps... Gefahr der falschen Fokussierung kennen Auf den ersten Blick sind Technologien, Arbeitsweisen und Methoden einer erfolgreichen Organisation offensichtlich. Der Versuch den Erfolg durch die Übernahme von Technologien, Arbeitsweisen und Methoden zu kopieren ist oft nicht erfolgreich. Motivierte und befähigte Mitarbeiter sind entscheidend, da nur diese die Technologien, Arbeitsweisen und Methoden an die Organisation und die Umwelt anpassen können. 20
Vielen Dank! Alexander Pacnik IT Engineering & Operations Project Management inovex GmbH Ludwig-Erhard-Allee 6 76133 Karlsruhe Mobil: +49 (0)173 3181 040 Mail: alexander.pacnik@inovex.de Sie möchten individuelle Beratung? Nehmen Sie Kontakt mit uns auf! info@inovex.de