DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles...

31
DevOps Einführung und Umsetzung am Beispiel ProSiebenSat.1 und dm-drogerie markt Karlsruhe, 25.06.2015 Alexander Pacnik

Transcript of DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles...

Page 1: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

DevOpsEinführung und Umsetzung am Beispiel ProSiebenSat.1 und dm-drogerie markt

Karlsruhe, 25.06.2015

Alexander Pacnik

Page 2: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Alexander PacnikIT Engineering & Operations

Project Management

inovex GmbH

2

Fabian BreuerFiliadata GmbH

Page 3: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

3

Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.

Digital Consulting Modern Web Platforms Mobile

Replatforming Analytics Data Center Automation

Trainings

Page 4: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

DevOps... die Definition

* https://de.wikipedia.org/wiki/DevOps 4

Defintion

„DevOps [...] beschreibt Maßnahmen, um häufige Bruchstellen zwischen

Anwendungsentwicklung und IT-Betrieb in Unternehmen zu überwinden. [...]“ *

Page 5: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Übersicht

5

Agile Methoden

Automatisierung

Organisation

Einführung

Page 6: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Agile Methoden... die Umwelt verändert sich

6

Erfolgsfaktoren

‣  Bisher: Effizienz und Qualität

‣  Heute: Innovation und Schnelligkeit, Qualität wird vorausgesetzt

Page 7: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Agile Methoden... Auswirkungen von Innovation und Schnelligkeit

7

Komplexität

‣  Innovation bedeutet Fehler zu machen und daraus zu lernen

‣  Anforderungen sind nicht mehr vollständig definierbar und planbar

Page 8: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Agile Methoden... die Softwareentwicklung passt sich an

8

Eigenschaften (Scrum)

‣  Produktorientierung („it‘s a delivery thing“)

‣  Planung und Auslieferung empirisch basiert und iterativ

‣  Teams sind für ihre Arbeit verantwortlich und befähigt

Page 9: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Agile Methoden... die Vorteile

9

Vorteile

‣  Kurze Entscheidungs- und Informationswege

‣  Empirische (agile) Methoden helfen in dynamischen Umgebungen

‣  Steuerbar ist nur was immer gleich abläuft

‣  Innovation ist per Definition neu und läuft nie gleich ab

‣  Fehlerkultur und iteratives Vorgehen hilft mit Ungewissheit umzugehen

‣  Automatisierung der Entwicklung (Continuous Integration)

Page 10: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Übersicht

10

Agile Methoden

Automatisierung

Organisation

Einführung

Page 11: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Automatisierung... die Entstehung von APIs als Basis für Automatisierung

11

Infrastructure Automation

‣  Automatisierung der Systeme über APIs (Konfigurationsmanagement)

‣  Automatisierung der Infrastruktur über APIs (z.B. *aaS und Cloud)

Page 12: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Automatisierung... dehnt sich auf alle Bereiche der IT aus

12

Life Cycle Automatisierung

‣  Automatisierung

‣  des Feedbacks (Logging, Monitoring)

‣  der Qualitätssicherung (Funktions-, UAT-Tests, etc.)

‣  des Life Cycles (Continuous Delivery)

Page 13: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

13

Continuous Delivery Pipeline

Page 14: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Automatisierung... wie weit ist die Automatisierung in Ihrer IT?

14

Kontrollfragen zu Continuous Delivery

‣  Wie lange dauert es eine Zeile Code zu deployen?

‣  Kann ich historische Umgebungen wiederaufbauen (Versionsstände, Daten)?

‣  Kann ich einzelne Elemente verändern?

‣  Kann ich auf eine Version zurückspringen?

Page 15: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Übersicht

15

Agile Methoden

Automatisierung

Organisation

Einführung

Page 16: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Organisation... die Gefahr der falschen Fokussierung

16

‣  Methoden (Scrum) und Werkzeuge (Continuous Delivery) sind die

offensichtlich Methoden und Werkezuge einer erfolgreichen Organisation

‣  Oft wird versucht diesen Erfolgt der Organisationen durch die Übernahme

dieser zu kopieren

‣  Erfolg benötigt aber an erster Stelle eine Organisation die „empowered“ und

intrinsisch motivierte Mitarbeiter hervorbringt und hält

Page 17: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Organisation... was Performance Orientierung bedeutet

Quelle: Westrum, R. A typology of organizational cultures. Quality and Safety in Healthcare 2004 17

Delivery Culture

‣  Motivationsorientiert (Innovation und Schnelligkeit erfordern

Produktfokussierung und interdisziplinäre Teams)

‣  Gemeinsame Verantwortung (Delegation erfordert Vertrauen)

‣  Wissensverteilung ist entscheidend (Entscheidungen erfordern Wissen)

‣  Aus Fehlern lernen (Innovation erfordert aus Fehlern zu lernen)

‣  Change ist positiv (Schnelligkeit benötigt Offenheit für Veränderung)

Page 18: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Organisation... mögliche Probleme bei der Einführung

18

‣  Arbeitsweisen und Verhalten ändern, bedeutet das Denken zu ändern

‣  Organisationen die auf die beschriebene Weise entstanden sind haben

keine Probleme

‣  Organisationen die nachträglich Methoden und Technologien einführen

können müssen ihre Organisation anpassen

Page 19: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Übersicht

19

Agile Methoden

Automatisierung

Organisation

Einführung

Page 20: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Einführung

20

‣  Strategie und Ziele

‣  Produktfokussierung und Identifikation bei allen Mitarbeitern für ein

gemeinsames Verantwortungsverständnis herstellen

‣  Struktur

‣  wie wird koordiniert, gemessen und belohnt

‣  Prozesse

‣  Continuous Delivery und agile Methoden

‣  Fähigkeiten

‣  Organisation und Mitarbeiter entwickeln

... Dimensionen die es zu beachten gilt

Page 21: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Einführung... wie ein geeignetes Umfeld für eine Einführung aussieht

21

Möglichkeiten

1.  Pilotprojekt – geeigneter kleiner Service bzw. Projekt temporär mit einem

cross-funktionalen Team (DevOps) verantworten

2.  Geeignetes Querschnittsprojekt suchen und umstellen

3.  IT Organisation umstellen soweit sinnvoll

Page 22: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Einführung... die konkreten Schritte

22

Aufgaben

‣  Stelle der größten Ineffizienz finden die geeignet ist

‣  Tatsächlichen Prozess evaluieren und so weit wie möglich automatisieren

‣  interdisziplinäre Teams (temporär) aufstellen

‣  Entwickler benötigen Verständnis für Betrieb

‣  IT Ingenieure benötigen Verständnis für Entwicklung

‣  Enge Verzahnung mit allen an der Umsetzung Beteiligten

Page 23: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Einführung ... Erfolgsfaktoren

23

Fehlerkultur & Lernkultur

‣  Fahrschule: „Fehler machen ist ausdrücklich erwünscht!“

1.  Wenn Wissen vorhanden – Wissen vermitteln

2.  Wenn kein Wissen vorhanden (Innovation) – Versuch und Irrtum erlaubt

Was bedeutet aus Fehlern lernen?

‣  Statt Schuldigen suchen, sich fragen wie es in Zukunft besser geht

Page 24: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Einführung ... Wissensvermittlung als Erfolgsfaktor

24

Fähigkeiten aufbauen

‣  Voraussetzung: Trainerstruktur (1:10) und Werkzeuge für die

Organisation aufbauen

‣  Identify (Projektmanagement, Technisches und Domänen Wissen)

‣  Transfer (Initiale Schulung)

‣  Follow Up (Schulung und / oder Trainer)

‣  Check (Erfolge messen)

Page 25: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Einführung ... Ziele der Wissensvermittlung

25

Ziele ‣  Team soll Verantwortung übernehmen, aber es muss auch in der

Lage dazu sein

‣  Mittelfristig die Trainer auch in das Team integrieren oder im Team aufbauen

Page 26: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

„If the student hasn’t learned, the

teacher hasn’t taught“

26

Page 27: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Einführung ... Continuous Improvement als Erfolgsfaktor

27

Continuous Improvement (Lean: Kaizen)

‣  Verbesserung in kleinen Schritten

Voraussetzungen

‣  Inspection and Adaption (häufig schauen wo man steht und ggf. anpassen)

‣  Transparancy (bzgl. dem aktuellen Stand, den Entscheidungen, den Zielen)

Page 28: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Fazit

28

DevOps bedeutet

‣  Technische Komplexität durch Automatisierung und schnelles Feedback

zu reduzieren

‣  Organisatorische Komplexität durch Abbau von Verantwortungs- und

Kommunikationsbarrieren zu reduzieren

‣  DevOps ist keine Stellenausschreibung, Methode oder Technologie

sondern betrifft alle Bereiche einer Organisation

Page 29: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Vielen Dank!Alexander Pacnik

IT Engineering & Operations

Project Management

inovex GmbH

Ludwig-Erhard-Allee 6

76133 Karlsruhe

Mobil: +49 (0)173 3181 040

Mail: [email protected]

Sie möchten individuelle Beratung? Nehmen SieKontakt mit uns auf!

[email protected]

Page 30: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Lizenz des Vortrags

Creative Commons (by-nc-nd)

Anhang

30

Page 31: DevOps - inovex · DevOps bedeutet ‣ Technische Komplexität durch Automatisierung und schnelles Feedback zu reduzieren ‣ Organisatorische Komplexität durch Abbau von Verantwortungs-

Beispiel Kanban

31