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

Continuous Delivery. Lessons (Not) Learned.

Continuous Delivery. Lessons (Not) Learned.

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