43
über DevOps in großen Konzernen http://www.flickr.com/photos/ifl/3926784260/ 16.07.2015 Stefan Bauer Bild: Peretz Partensky

About Dogs and Cats - über DevOps in großen Konzernen

Embed Size (px)

Citation preview

Page 1: About Dogs and Cats - über DevOps in großen Konzernen

über DevOps in großen Konzernen

http://www.flickr.com/photos/ifl/3926784260/ 16.07.2015

Stefan Bauer Bild: Peretz Partensky

Page 2: About Dogs and Cats - über DevOps in großen Konzernen

Heute ist Release-Day.

Meine Rolle dabei nennt sich DevOps. Gestern hatte ich die letzten Infos, Pakete und Freigaben von den Entwicklern bekommen

und alles vorbereitet. Der zuständige Administrator braucht nur noch die Werte vom Ticket in die Variablen des Puppetmaster

einzutragen. Das ist gut, alles am Tag davor fertig zu haben.

Naja, so gut war es auch nicht…

Ich habe gestern den ganzen Tag gebraucht und bin erst um 21 Uhr fertig geworden. Ein bereits fertiges Packet wurde

neugebaut. Es musste händisch auf der Testumgebung ausgetauscht werden, da die Versionsnummer nicht erhöht wurde. In der

Beschreibung zu einer anderen Komponente tauchte auf einmal eine neue Konfigurationsdatei auf. Diese war bei der

Implementierung des automatisierten Deployments noch nicht berücksichtigt worden. Also mussten die bereits abgeschlossenen

Änderungen nochmal überarbeitet werden und dann alles sorgsam auf Staging getestet werden. Dabei funktionierte dann auch

das gelieferte Startskript nicht mehr korrekt. DAS macht Spaß: Abends wenn keiner mehr da ist, anderer Leute Skripte zu

verstehen.

Als alles fertig war und ich die Änderung für Produktion eingecheckt hatte, schlug der Testjob für das Puppet-Deployment fehl.

Eine Kollision von Variablennamen unbekannter Herkunft. Gottseidank war die Fehlermeldung gut genug, um das Problem

schnell zu verstehen. Das ist selten, aber es muss ja auch mal etwas Gutes passieren.

Heute ist Release-Day.

Ich habe einen Arzttermin und werde aus der Ferne zuschauen, wie alles passiert.

Es passiert nichts.

Dann kommt eine E-Mail: Wir dürfen nicht releasen. Heute morgen hat das Administrationsteam erfahren, dass es einen

konzernweiten Change Freeze gibt. Nee ne ?

Außerdem wird betont, dass die Struktur einer Komponente nicht akzeptabel sei und das ist jetzt ein Showstopper. Hatten wir die

Probleme nicht schon mal abgeklärt und einen Kompromiss gefunden der vom Administrationsteam akzeptiert wurde?

Tja, das scheint Schnee von gestern zu sein. Genauso wie der gestrige Abend den ich dafür verpulvert habe…

About Dogs and Cats - DevOps in Konzernen

2

Page 3: About Dogs and Cats - über DevOps in großen Konzernen

14:00

Wir haben eine Erlaubnis für einen Teil des Deployments bekommen. Das Release ist noch nicht gestartet.

Ich bin gerade im Bahnhof und in 20 Minuten muss ich beim Zahnarzt auf dem Stuhl sitzen. Ein Entwickler meldet sich per Chat.

Ich möchte doch noch dieses eine Paket für das Release nachschieben. Ich erkläre ihm, dass es jetzt etwas spät dafür ist. Er soll

ein Ticket dafür machen. Irgendwie versteht er das nicht. Egal, ich muss los.

"Egal, ich muss los" … das muss ich mir unbedingt für den Feierabend vor dem nächsten Release einprägen.

About Dogs and Cats - DevOps in Konzernen

3

Page 4: About Dogs and Cats - über DevOps in großen Konzernen

Bei Triplesense Reply GmbH für DevOps und interne IT verantwortlich

seit 1996 Softwareentwickler

2000-2007 Unternehmer, Entwickler für 3D-Grafiksoftware

2007-2014 Entwickler, Toolsexperte, Admin & DevOps bei HERE

Tweets @bitbauer https://www.xing.com/profile/Stefan_Bauer240

Entwickler von Herzen und Atlassian Fan

About Dogs and Cats - DevOps in Konzernen

4

Page 5: About Dogs and Cats - über DevOps in großen Konzernen

KLARSTELLUNG

Zu der Zeit der Geschichte hatten wir …

• Wöchentliche Releases

• Automatisierte Deployments

• Versionierte Konfiguration

• Entwickler beteiligten sich an Puppet-Implementierung

About Dogs and Cats - DevOps in Konzernen

5

Page 6: About Dogs and Cats - über DevOps in großen Konzernen

DANN IST DOCH ALLES

RICHTIG, ODER ?

Technische Umsetzung:

• Reproduzierbarkeit durch Automatisierung und Maschinenimages

• Gute CI Abläufe

• Automatisierte Deployments

• Versionierte Konfiguration

… Wow

About Dogs and Cats - DevOps in Konzernen

6

Page 7: About Dogs and Cats - über DevOps in großen Konzernen

DANN IST DOCH ALLES

RICHTIG, ODER ?

Organisatorische Aufstellung:

• Beteiligte sind verstreut über die Organisation

Produktmanagement

Entwicklung

Operations

Infrastructure

Security

• Kommunikation nur kontrolliert und ungenügend

… Ja, das ist halt so

About Dogs and Cats - DevOps in Konzernen

7

Page 8: About Dogs and Cats - über DevOps in großen Konzernen

DANN IST DOCH ALLES

RICHTIG, ODER ?

Strategische Ausrichtung:

• Technikgetrieben

• Methodiken und Regeln sind unklar

• Transparenz unwichtig

• Command & Control

… Das geht bestimmt besser

About Dogs and Cats - DevOps in Konzernen

8

Page 9: About Dogs and Cats - über DevOps in großen Konzernen

STRATEGIE IST WICHTIG

Rahmen und die Ziele müssen definiert werden

Gesamte Organisation berücksichtigen

Gute Strategien sind einfach verständlich

Strategie ist für einige Jahre gültig

About Dogs and Cats - DevOps in Konzernen

9

Page 10: About Dogs and Cats - über DevOps in großen Konzernen

ORGANISATION

Transparenz für gegenseitiges Vertrauen

Regeln und Methoden für reguläre Zusammenarbeit

Organigramm ist sekundär

Kultur muss erkämpft und verteidigt werden

About Dogs and Cats - DevOps in Konzernen

10

Page 11: About Dogs and Cats - über DevOps in großen Konzernen

TECHNIK

Umsetzung mit Tools und Automatisierung

Funktionale Anforderungen

z.B. an Versionierbarkeit, Auswertbarkeit

Nicht-Funktionale Anforderungen

z.B. an Einfachheit, Geschwindigkeit

About Dogs and Cats - DevOps in Konzernen

11

Page 12: About Dogs and Cats - über DevOps in großen Konzernen

SO UND JETZT ?

Ist das ausreichend für große Veränderungen …

• in Organisationen

• im Verständnis über Software

• in unseren Köpfen

???

About Dogs and Cats - DevOps in Konzernen

12

Page 13: About Dogs and Cats - über DevOps in großen Konzernen

Conway‘s Law

Teams & Prozesse

About Dogs and Cats - DevOps in Konzernen

13

Page 14: About Dogs and Cats - über DevOps in großen Konzernen

CONWAYS LAW

Organisationen, die Systeme modellieren, […] sind auf

Modelle festgelegt, welche die Kommunikationsstrukturen

dieser Organisationen abbilden.

(Melvin E. Conway - 1968)

https://de.wikipedia.org/wiki/Gesetz_von_Conway

About Dogs and Cats - DevOps in Konzernen

14

Page 15: About Dogs and Cats - über DevOps in großen Konzernen

CONWAYS LAW

UND PROZESSE

Prozesse und Abläufe in Organisationen bilden den

Informationsfluss und Informationsbarrieren derselben ab.

Die prägenden Informationsflüsse in klassischen

Organisationen sind …

• der Bottom-Up Report

• die Top-Down Planung

About Dogs and Cats - DevOps in Konzernen

15

Page 16: About Dogs and Cats - über DevOps in großen Konzernen

CONWAYS LAW

UND PROZESSE

Prozesse und Abläufe in Organisationen bilden den

Informationsfluss und Informationsbarrieren derselben ab.

Informationsbarrieren werden durch Übergabepunkte

gehandhabt. An diesen wird …

• Arbeit eingefroren und Information gesammelt

• danach als Arbeitspaket weitergegeben

About Dogs and Cats - DevOps in Konzernen

16

Page 17: About Dogs and Cats - über DevOps in großen Konzernen

FACHLICHE TEAMS

Eine Entwicklungsabteilung besteht oft aus:

• Architekturteam

• mehreren Entwicklerteams

• QA-Team

Administrationsabteilung besteht oft ebenfalls aus mehreren

fachlichen Teams

About Dogs and Cats - DevOps in Konzernen

17

Page 18: About Dogs and Cats - über DevOps in großen Konzernen

GLEICHARTIGE RUDEL

Lücken in der Fachlichkeit während der Arbeitsphase

Fachliche Konflikte werden zu Rudelkämpfen

Informationsbeschaffung über Barrieren

Kreative Einflüsse kommen oft von „außen“

About Dogs and Cats - DevOps in Konzernen

18

Page 19: About Dogs and Cats - über DevOps in großen Konzernen

GEMISCHTE RUDEL

About Dogs and Cats - DevOps in Konzernen

19

Page 20: About Dogs and Cats - über DevOps in großen Konzernen

GEMISCHTE RUDEL

• interne Skills in Kundenkommunikation und Prozessen

• Diversität in den Fachlichkeiten

• Fachliche Konflikte und Lösungen sind Teil der täglichen Projektarbeit

• Kreative Einflüsse kommen von „innen“

http://dustinrcollins.com/devops-a-house-divided

About Dogs and Cats - DevOps in Konzernen

20

Page 21: About Dogs and Cats - über DevOps in großen Konzernen

INTERDISZIPLINÄRE TEAMS

Projekterfolg steht im Zentrum

Wenige externe Abhängigkeiten

Aufgaben in kleinen Schritten abgeschlossen werden

Abteilungen werden zu autarken Mini-Unternehmen

About Dogs and Cats - DevOps in Konzernen

21

Page 22: About Dogs and Cats - über DevOps in großen Konzernen

Ziele, Ziele, Ziele

… der eigene Weg

About Dogs and Cats - DevOps in Konzernen

22

Page 23: About Dogs and Cats - über DevOps in großen Konzernen

HERAUSFORDERUNGEN

Ziele definieren!

Für strategische Transformation

Für organisatorische Transformation

Für Technische Transformation

About Dogs and Cats - DevOps in Konzernen

23

Page 24: About Dogs and Cats - über DevOps in großen Konzernen

STRATEGIEZIELE

Das eigene Business verstehen…

• Welchen Mehrwert liefert das Unternehmen ?

• Änderungen des Marktes berücksichtigen !

• Was sind die Stärken gegenüber Mitbewerbern ?

About Dogs and Cats - DevOps in Konzernen

24

Page 25: About Dogs and Cats - über DevOps in großen Konzernen

ORGANIZATIONSZIELE

z.B. mehr Effizienz durch:

• weniger Handovers und Automatisierung

• weniger sequenziellem Arbeiten

• weniger Reworkaufwand durch CI

z.B. mehr Effektivität durch:

• Verteilung von Entscheidungen

• Transparenz in Projekt und Entscheidungen

• Anforderungen stetig pflegen

About Dogs and Cats - DevOps in Konzernen

25

Page 26: About Dogs and Cats - über DevOps in großen Konzernen

TECHNISCHE ZIELE

Zum Beispiel:

bessere Versionierbarkeit

automatische Auswertbarkeit für Controlling

weniger Komplexität

höhere Geschwindigkeit der Tests

About Dogs and Cats - DevOps in Konzernen

26

Page 27: About Dogs and Cats - über DevOps in großen Konzernen

DER EIGENE WEG

Es gibt keinen generellen Plan,

aber …

es gibt viele gute Ideen und Praxiserfahrungen!

About Dogs and Cats - DevOps in Konzernen

27

Page 28: About Dogs and Cats - über DevOps in großen Konzernen

Varianten in der Praxis

Transformation

About Dogs and Cats - DevOps in Konzernen

28

Page 29: About Dogs and Cats - über DevOps in großen Konzernen

DEVOPS ALS EIGENES TEAM ?

sehr verbreitet z.B. bei HERE

• muss Erfahrung vielen Bereichen des Unternehmens mitbringen

• Teammitglieder brauchen starkes Standing in den Unternehmensbereichen

• problematisch, da breite Veränderung von „aussen“ kommt

https://puppetlabs.com/blog/team-structure-for-devops-success

http://continuousdelivery.com/2012/10/theres-no-such-thing-as-a-devops-team/

About Dogs and Cats - DevOps in Konzernen

29

Page 30: About Dogs and Cats - über DevOps in großen Konzernen

DEVOPS ALS JOBROTATION

Als erster Schritt in klassischen Unternehmen

• jeder darf sich für einige Wochen einen anderen Bereich aussuchen

• Nicht nur Tausch zwischen Entwicklern und Administratoren

• Erfahrungsaustausch, Verständnis, Vertrauen

About Dogs and Cats - DevOps in Konzernen

30

Page 32: About Dogs and Cats - über DevOps in großen Konzernen

DEVOPS ALS NORMALZUSTAND

Beispiele Facebook, Google, Amazon …

• Stetige gemischte Teams

• Diversität als Stärke verstehen

• Nicht nur Techies im Team !

About Dogs and Cats - DevOps in Konzernen

32

Page 33: About Dogs and Cats - über DevOps in großen Konzernen

ORGANISATORISCHE

TRANSFORMATION

• kleine Iterationen bei der Transformation

• Praktisches Training

• Organisatorische Freiheit -> das Team ist Zentrum

• Involvierung und Gespräche

• Transparenz und gegenseitiges Vertrauen bei allen

Problemen

• kultivieren von positiven Erfahrungen

About Dogs and Cats - DevOps in Konzernen

33

Page 34: About Dogs and Cats - über DevOps in großen Konzernen

TECHNISCHE TRANSFORMATION

• alle Vorschläge zu Lösungen ernst nehmen

• einfache Lösungen bevorzugen

• automatisierte Testbarkeit gewährleisten

• Abhängigkeiten bei einzelnen Lösungen bewerten

... es gibt i.A. keine eierlegende Wollmilchsau.

About Dogs and Cats - DevOps in Konzernen

34

Page 35: About Dogs and Cats - über DevOps in großen Konzernen

About Dogs and Cats - DevOps in Konzernen

35

Page 36: About Dogs and Cats - über DevOps in großen Konzernen

KERN VON DEVOPS

Technologie war Auslöser, Agile Bewegung der Treiber

Viele Administrationstasks inzwischen automatisierbar

Volles Potential durch Veränderung der Organisation

Prozesse sollen helfen nicht stören

Veränderung der Organisation steckt im Kern von DevOps

About Dogs and Cats - DevOps in Konzernen

36

Page 37: About Dogs and Cats - über DevOps in großen Konzernen

MENSCH & TECHNIK

• Veränderung der Technologie ist rasant

• Kulturtransformation, menschlich langsam

erst recht in großen hierarchischen Organisationen

About Dogs and Cats - DevOps in Konzernen

37

Page 38: About Dogs and Cats - über DevOps in großen Konzernen

MENSCH

Veränderung gelebter Kultur durch:

• Transparenz und Kommunikation

• Wissenstransfer und Anwendung

Konflikte der Anforderungen ist normal,

Vertrauen und Respekt notwendig.

About Dogs and Cats - DevOps in Konzernen

38

Page 39: About Dogs and Cats - über DevOps in großen Konzernen

VERÄNDERUNG MESSEN

• Frustrationpegel

• Genauigkeit in Aufwandschätzungen

• Kurze/Keine Wartezeiten zwischen Implementierung und Livegang

• Weniger Stau in der Arbeit

• Bessere Anwendung von Standards

• Schnelle Korrektur von Konfigurationsprobleme

• Weniger Deploymentfehler mit stabiler Deployment Prozedur

About Dogs and Cats - DevOps in Konzernen

39

Page 40: About Dogs and Cats - über DevOps in großen Konzernen

DEVOPS, CHATOPS AND NOOPS

Tausend Namen, ein Gedanke …

Verbesserung von Organisation und Prozessen,

basierend auf den Möglichkeiten der Technik.

About Dogs and Cats - DevOps in Konzernen

40

Page 41: About Dogs and Cats - über DevOps in großen Konzernen

About Dogs and Cats - DevOps in Konzernen

41

Page 42: About Dogs and Cats - über DevOps in großen Konzernen

PERSÖNLICHER AUFRUF

viel Potential zur Testbarkeit bleibt ungenutzt

bitte kein pre-TDD bei der Automatisierung

Test-Driven zu Arbeiten zahlt sich aus

ohne Tests altert der Code

About Dogs and Cats - DevOps in Konzernen

42

Page 43: About Dogs and Cats - über DevOps in großen Konzernen

FAZIT

DevOps braucht:

• Kontinuität und Hartnäckigkeit

• Gegenseitiges Vertrauen und Respekt

• Konflikte und Freiraum zur Lösung

DevOps braucht alle

About Dogs and Cats - DevOps in Konzernen

43