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

Continuous Delivery. Lessons (Not) Learned.

Continuous Delivery. Lessons (Not) Learned.

Avatar for Bastian Spanneberg

Bastian Spanneberg

November 27, 2015
Tweet

More Decks by Bastian Spanneberg

Other Decks in Technology

Transcript

  1. Vorstellung 2 • Java Dev turned Automation Junkie • CI/CD/Automation

    seit ~2007: Ant, Maven, Gradle, Bash, Jenkins, Puppet, Ansible, ... • Banken, IT-Diensleister, Web-Platformen • @codecentric München
  2. 5 Continuous Delivery ? Jenkins vs. Bamboo vs. ... Private

    Cloud! Docker FTW!!!11! Puppet/Chef/Ansible ... Microservices Phoenix Server DevOps
  3. Story 1: Das Datingportal 8 Ausgangssituation: → Legacy Codebase (CORBA

    anyone?) → Modernisierungen → Dev-getriebene Einführung Continuous Delivery
  4. Story 1: Das Datingportal 9 Verlauf: → Legacy Code →

    Legacy Pipeline → Umsetzung (exkl.) duch 2 Mitarbeiter (dev) → Feature-Druck nach 1. laufender Version → Mitarbeiter machen wieder andere Dinge → Probleme in der Pipeline. Probleme für alle. → Ops zu wenig/zu spät mit im Boot. Keine gemeinsame Team-Mentalität
  5. Story 1: Das Datingportal 10 Lehre: Die Umsetzung von Continuous

    Delivery ist keine einmalige Angelegenheit → Reviews und Evaluierung neuer Techniken und Vorgehen → Behandle deine CD-Pipeline und Infrastruktur wie deinen Code → Wissen in den Teams. Bestenfalls kein CD-Team.
  6. Story 1: Das Datingportal 11 Lehre: Continuous Delivery braucht Rückhalt

    im Management → Bereitschaft Leuten Zeit für das Thema einzuräumen und kontinuierlich Zeit zu investieren → Impact auf Teams ausserhalb Dev und Ops
  7. Story 2: Die Bank 12 Ausgangssituation: → Management-Entscheidung: “Wir machen

    jetzt Scrum und Agile” → Silo-Teams (HW, OS, VMs, DB, Ops, Dev1..n, Test, …) → Orga: Projekt vs. Produkt → (Nicht-) Entscheidungskultur (“das muss dann jmd entscheiden”, “da müssen wir noch einen Termin machen”)
  8. Story 2: Die Bank 13 Verlauf: → Projekt zur Einführung

    = Wasserfall-Projekt (O RLY?) → Silo-Teams für Einzel-Themen (Prozess, VCS+CI, DB, Testing, ...) → fehlender Wille (Möglichkeit?) sich Prozessuell zu verändern → am Besten selber Prozess wie vorher, nur alle 2 Wochen
  9. Story 2: Die Bank 14 Lehre: Continuous Delivery muss vom

    Team gewollt sein → Top-Down-Entscheidungen oft zum scheitern verurteilt → bei CD müssen Teams/Einzelne mehr/neue Verantwortungen übernehmen und sich verändern wollen → lieber in kleinen Teilen/Iterationen bottom-up arbeiten
  10. Story 2: Die Bank 15 Lehre: Continuous Delivery erfordert Veränderungen

    an Prozessen und Kultur/Organisation → wenn man auf einen schwergewichtigen Prozess wert legt sollte man es sich mit CD gut überlegen → Impact auf die ganze Organisation
  11. Story 3: Die Hotelsuchmaschine 16 Ausgangssituation: → (Greenfield) Rewrite bestehender

    Platform (Legacy Code und Braindrain) → Devs im “Elfenbeinturm” → Ops beschäftigt mit Tagesgeschäft
  12. Story 3: Die Hotelsuchmaschine 17 Verlauf: → Team hat sich

    verspielt → Keine You-build-it-you-run-it-Mentalität im Dev- Team → Ops bei Rewrite nicht früh mit im Boot → Resultat: enge Kopplung und Schwierigkeiten im realen Betrieb
  13. Story 3: Die Hotelsuchmaschine 18 Lehre: Continuous Delivery löst nicht

    deine Architektur- Probleme → Build / Deployment / Orchestrierung … sollten als 1st Class Citizens behandelt werden