Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Infecting Hermes with the CI/CD virus

Infecting Hermes with the CI/CD virus

DevOps ist nicht eine Person in einem crossfunktionalen Team, die sich z.B. um die Deployments kümmert. Es ist vielmehr der ganzheitliche Ansatz, einen hohen Grad an Automatisierung der Pipeline zu erreichen, eine effiziente Teststrategie, fachliches und technisches Monitoring und vor allem das richtige Mindset im gesamten Team. Die Wirksamkeit dieses Mindsets spiegelt sich in der Fähigkeit der Teams, kontinuierlich Software in Produktion zu bringen.

Seit mehr als einem Jahr bringen wir alle Beteiligten in einer Community of Practice zusammen und unterstützen die Teams bei der Findung einer eigenen Continuous Delivery- Strategie.
Wir stellen unsere Learnings und Failures des vergangen Jahres vor und zeigen, wie sich das Verhältnis zum Deployen verändert hat. Und wir zeigen auf, welche weiteren positiven Effekte die CoP auf das community-building und die Kollaboration zwischen den Teams bei Hermes ausgelöst hat (z.B. Security Community, Test-COP, Logging Monitoring CoP).

Ann-Katrin Arndt
[email protected]

Katja Haase
[email protected]

Hermes Germany GmbH

August 29, 2019
Tweet

More Decks by Hermes Germany GmbH

Other Decks in Technology

Transcript

  1. 01 Ein kurzer Überblick über Hermes Germany 02 Wie kam

    es zur Infektion? 03 Wie entwickelt sich der Virus? 04 Was haben wir gelernt? 05 Was sagen die Kollegen? 06 Wie geht es weiter?
  2. Hermes Germany ist der zweitgrößte Paket- Logistiker Deutschlands • Gegründet

    1972 • Wir stellen derzeit etwa 400 Millionen Pakete pro Jahr zu • Neben Otto arbeiten wir auch für viel andere Onlinehändler, wie z.B. Amazon, H&M, Zalando • Großteil der Softwarelösungen sind Inhouse-Entwicklungen • Neuentwicklung der Scanner-App und weitere Systeme
  3. Vor der Infektion • Manuelle Deployments über Stunden • Deployments

    vorrangig Nachts • Langer Freigabeprozess • Deployments höchstens einmal im Quartal • Anwender wurden mit einem Featurepaket erschlagen
  4. Die Kultur stimmt, der Virus kann sich ausbreiten • Die

    Organisation hat sich entwickelt • Das methodische Verständnis ist gereift • Neubau alter Anwendungen, Migration in die Cloud • Wir wollen kontinuierlichen Mehrwert liefern
  5. „Es gibt keinen Zweifel. Sie sind mit dem CI/CD Virus

    infiziert.“ „SIE MÜSSEN ETWAS TUN!“
  6. „Es gibt keinen Zweifel. Sie sind mit dem CI/CD Virus

    infiziert.“ „SIE MÜSSEN ETWAS TUN!“ „Ich verschreibe Ihnen eine Community of Practice“ • Besteht seit Anfang 2018 • Treffen finden regelmäßig statt • Alle Abteilungen aus der IT sind vertreten • Vorträge, Workshops, offene Austauschformate
  7. „Es gibt keinen Zweifel. Sie sind mit dem CI/CD Virus

    infiziert.“ „SIE MÜSSEN ETWAS TUN!“ „Ich verschreibe Ihnen eine Community of Practice“ „Wie kann der Virus sich gezielt verbreiten?“
  8. Inkubationsverlauf 11 • Behebung von Prozess- Blockaden/Störungen • Kollaboration zwischen

    allen Beteiligten • Hohe Transparenz AGILE Prozesse CI/CD Praktiken • Regelmäßige Integration der Arbeit • Kunden sehen regelmäßige Updates und geben regelmäßig Feedback • Automatisierung DEVOPS Kultur • Auflösung der Hürden zwischen Entwicklung und Betrieb • Vermeidung von Inselwissen • Schnelle Reaktionszeiten
  9. • Product Owner haben Bewusstsein für die Vorteile von automatisierten

    Pipelines • Führungskräfte lernen die Vorteile von CI/CD zu schätzen und unterstützen aktiv • Fachbereich stützt die kleinen Deployments und vertraut Entwicklertests CI/CD im Unternehmen
  10. • Jedes Team hat Teile seines Deployments automatisiert • Es

    wird aktiv an einer weiteren Automatisierung der Pipelines gearbeitet • Teams tauschen sich untereinander aus • Diskussionen über die Notwendigkeit einer CD-Strategie werden weniger CI/CD in den Teams
  11. Automatisierte Pipelines - Beispiel 1 „Legacy System“ 15 DEVELOPMENT ENVIRONMENT

    INTEGRATION ENVIRONMENT PRODUCTION ENVIRONMENT Unit Tests Push into Feature Branch Push to Nexus manuell automatisiert Build Feature Branch Deployment to Testserver 1 Deployment to Integration Server Push into Develop Branch Build Develop Branch Integration Tests Release Erstellung Push into Master Branch Push to Nexus Build Master Branch Deployment to Production Change Mangement
  12. Automatisierte Pipelines - Beispiel 2 „Cloud Applikation“ 16 Merge into

    Development Branch manuell automatisiert Unit Tests Quality Gate (Sonarqube) Integration Tests OWASP Integration Artefact (Docker image) Deployment to Production Integration Tests Unit Tests Merge into Integration Branch DEVELOPMENT ENVIRONMENT INTEGRATION ENVIRONMENT PRODUCTION ENVIRONMENT
  13. • Neue Anwendungen werden direkt im Team verwaltet* *Voraussetzung: Applikation

    läuft in der Cloud • Aufbau der notwendigen Fähigkeiten im Team • Risikobewertung und Verantwortung sind im Team angenommen • Eigenständiges Monitoring unserer Systeme in den Teams DevOps Virus
  14. Zur gezielten Weiterentwicklung des Continuous Delivery-Virus nutzen wir diese Matrix

    (Ursprüngliche Quelle: infoQ.com) Grundlagen Einsteiger Fortgeschrittener Könner Experte Kultur & Organisation Ausprägung von Fähigkeiten je Bereich und Level Design & Architektur Build & Deploy Test & Verifikation Information & Reporting
  15. Statistik zum Infektionsverlauf 2018 2019 Kultur & Organisation 6,6 7,1

    Design & Architektur 5,5 5,2 Build & Deploy 6,1 6,2 Test & Verifikation 4,8 5,4 Information & Reporting 3,1 3,3 • Vergleich der Durchschnittswerte Fortgeschritten
  16. 24

  17. „Es gibt keinen Zweifel. Sie sind mit dem CI/CD Virus

    infiziert.“ „SIE MÜSSEN ETWAS TUN!“ „Ich verschreibe Ihnen eine Community of Practice“ „Wie bekommen wir den Virus unter Kontrolle?“ „Wie läuft die Therapie“ Therapie-Erfolge • Community interaktiv gestalten • Problemstellungen sind teilweise sehr heterogen, daher fehlen mitunter Impulse für neue Herangehensweisen / Ideen • Definition eines größeren Ziels ist wertvoll für die Entwickler • Arbeitsgruppen schlafen manchmal ein • Nicht zu viele Arbeitsgruppen zur gleichen Zeit Learnings & Failures • Vorträge und Workshops wechseln sich mit offenen Formaten ab • Lean Coffee als Austausch- format • Teamworkshops zur Ver- besserung der CI/CD Pipelines (Inhalte, Herangehensweise, Wissensaustausch) • Patchmanagement hat es in die Matrix geschafft, als neuen Eintrag • Integration in den Arbeitsalltag: Business Values werden beim Anlegen der Jira-Tickets gepflegt, Auswertung über die aktuellen Businesswerte IT- übergreifend Unsere „Therapie“
  18. • Community interaktiv gestalten • Definition eines größeren Ziels ist

    wertvoll für die Entwickler • Problemstellungen sind teilweise sehr heterogen, daher fehlen mitunter Impulse für neue Herangehensweisen / Ideen • Initiativen aus CoP schlafen manchmal ein • Nicht zu viele Initiativen zur gleichen Zeit "Notfalleinsätze"
  19. • Großes Interesse für das Thema CI/CD • Abteilungen arbeiten

    zusammen an stetiger Verbesserung • Teilnehmer teilen gerne ihr Wissen und Erfahrungen • Teilnahme an der CoP ist akzeptiert • Es haben sich weitere Communities gebildet (CoP Qualitätssicherung, Security Champions, Technologie Gilde) • Wir bekommen Anfragen, ob Themen in CoP vergestellt werden können • CoP wird als neue Platform wahrgenommen und geschätzt „Therapie“-Erfolge
  20. „Es gibt keinen Zweifel. Sie sind mit dem CI/CD Virus

    infiziert.“ „SIE MÜSSEN ETWAS TUN!“ „Ich verschreibe Ihnen eine Community of Practice“ „Wie bekommen wir den Virus unter Kontrolle?“ „Wie läuft die Therapie“ Therapie-Erfolge • Community interaktiv gestalten • Problemstellungen sind teilweise sehr heterogen, daher fehlen mitunter Impulse für neue Herangehensweisen / Ideen • Definition eines größeren Ziels ist wertvoll für die Entwickler • Arbeitsgruppen schlafen manchmal ein • Nicht zu viele Arbeitsgruppen zur gleichen Zeit Learnings & Failures • Veränderung der Umfrage zum Stand CI/CD • Ziele zusammen mit den Teilnehmern der CoP definieren • Community-Gedanken noch weiter Vorantreiben • Arbeitsgruppen besser begleiten • Regelmäßige Check-Ins mit den Teams zum Stand der (teameigenen) CI/CD Pipeline So machen wir weiter Tolles Format um Ideen und Themen außerhalb der Abteilungsgrenzen kennenzulernen. Super teamübergreifend, aber manchmal etwas zu theoretisch. Sehr hilfreich und gute Fortbildungsmöglichkeit! Die CoP zeigt aus, dass die Schwierigkeiten, die wir bei uns im Team vorfinden nicht nur uns betreffen. Durch die CoP erfahren wir, ob neue und interessante Technologien in anderen Teams eingesetzt werden. Sehr hilfreich, da transparent gemacht wird, welchen Stand die Pipelines der anderen Teams haben. Hier werden wichtige Themen besprochen!
  21. „Es gibt keinen Zweifel. Sie sind mit dem CI/CD Virus

    infiziert.“ „SIE MÜSSEN ETWAS TUN!“ „Ich verschreibe Ihnen eine Community of Practice“ „Wie bekommen wir den Virus unter Kontrolle?“ „Wie läuft die Therapie“ Therapie-Erfolge • Community interaktiv gestalten • Problemstellungen sind teilweise sehr heterogen, daher fehlen mitunter Impulse für neue Herangehensweisen / Ideen • Definition eines größeren Ziels ist wertvoll für die Entwickler • Arbeitsgruppen schlafen manchmal ein • Nicht zu viele Arbeitsgruppen zur gleichen Zeit Learnings & Failures • Umfrage zum Stand CI/CD messbarer gestalten • Ziele gemeinsam mit den Teilnehmern der CoP definieren • Community-Gedanken noch weiter vorantreiben • Initiativen stärker verfolgen • Regelmäßige Check-Ins mit den Teams zum Stand der (teameigenen) CI/CD Pipeline …. • Umfrage zum Stand CI/CD messbarer gestalten • Ziele gemeinsam mit den Teilnehmern der CoP definieren • Community-Gedanken noch weiter vorantreiben • Initiativen stärker verfolgen • Regelmäßige Check-Ins mit den Teams zum Stand der (teameigenen) CI/CD Pipeline Wie verbreiten wir den Virus weiter
  22. „Es gibt keinen Zweifel. Sie sind mit dem CI/CD Virus

    infiziert.“ „SIE MÜSSEN ETWAS TUN!“ „Ich verschreibe Ihnen eine Community of Practice“ „Wie bekommen wir den Virus unter Kontrolle?“ „Wie läuft die Therapie“ Therapie-Erfolge • Community interaktiv gestalten • Problemstellungen sind teilweise sehr heterogen, daher fehlen mitunter Impulse für neue Herangehensweisen / Ideen • Definition eines größeren Ziels ist wertvoll für die Entwickler • Arbeitsgruppen schlafen manchmal ein • Nicht zu viele Arbeitsgruppen zur gleichen Zeit Learnings & Failures • Umfrage zum Stand CI/CD messbarer gestalten • Ziele gemeinsam mit den Teilnehmern der CoP definieren • Community-Gedanken noch weiter vorantreiben • Initiativen stärker verfolgen • Regelmäßige Check-Ins mit den Teams zum Stand der (teameigenen) CI/CD Pipeline …. Wie verbreiten wir den Virus weiter AGILE Prozesse CI/CD Praktiken DEVOPS Kultur