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

Applied DevOps: Erfahrungen aus 4 Jahren DevOps bei FLYERALARM

Applied DevOps: Erfahrungen aus 4 Jahren DevOps bei FLYERALARM

Das Thema DevOps ist längst vom hippen Buzzword zu einer Notwendigkeit für viele Unternehmen geworden. Alles soll endlich besser werden. Doch wie genau stellt man das an?

Im Vortrag werde ich unseren steinigen Weg beschreiben: Von einem Unternehmen in dem Entwicklung und Betrieb in unterschiedlichen Abteilungen lagen, hin zu unabhängigen Teams mit Systemverantwortung. Von 1-2 Deployments pro Woche hin zu 15-20 Deployments pro Tag. Von einer monolithischen Infrastruktur hin zu einer Landschaft mit über 200 Systemen. Während wir in manchen Bereichen schnelle und nachhaltige Erfolge erzielen konnten liefen wir auch immer wieder in Sackgassen. Im Detail werde ich beschreiben, dass Tooling nur der erste Schritt auf dem Weg ist und warum man kein DevOps etablieren kann ohne grundlegendes Neudenken von Prozessen, Kultur und Selbstverständnis bei Devs und Ops.

Begleitet mich auf dem Weg durch unsere ungeschönte Geschichte mit vielen lehrreichen Erfahrungen.

Speaker:

Daniel Müller ist Team Lead in der Softwareentwicklung bei FLYERALARM, einer der größten europäischen Onlinedruckereien. Fachliche Schwerpunkte sind Druckautomatisierung, Produktionssteuerung und Logistiklösungen. Ursprünglich aus der Entwicklerecke kommend beschäftigte er sich zunehmend mit Themen wie agilen Entwicklungsprozessen und DevOps. In den letzten Jahren hatte er bei FLYERALARM die Gelegenheit den Wandel von einer monolithischen IT-Organisation hin zu einem agilen und cross-funktionalen Entwicklungsumfeld mitzugestalten.

Twitter:
@danielkmueller

Daniel Müller

June 26, 2018
Tweet

Other Decks in Programming

Transcript

  1. FLYERALARM > 2002 in Würzburg gegründet > 330 Mio. €

    Umsatz (2016) > 3,3 Mio. Aufträge (2016) > Bis zu 25.000 Pakete pro Tag > Über 100 Mitarbeiter in der IT, davon 50 Softwareentwickler > 10 Teams an den Standorten Würzburg und Berlin FLYERALARM Digital GmbH 2018
  2. SOFTWARE & SYSTEME > Viel Eigenentwicklung in den Bereichen Shop,

    CRM, Produkte, Accounting, Datenautomatisierung, Druck, Produktion und Logistik > Über 200 Systeme/Services im Betrieb > Microservice Architektur und Infrastruktur FLYERALARM Digital GmbH 2018
  3. CONTINUOUS INTEGRATION & DELIVERY > Manuelles Deployment von lokaler Maschine

    > Wenige Auserwählte können deployen > Testsprints FLYERALARM Digital GmbH 2018
  4. CONFIGURATION > Änderungen am Environment ausschließlich über Ops > Fehlende

    Synchronisation über Dev und Ops hinweg > Keine Prozesse FLYERALARM Digital GmbH 2018
  5. DEVELOPMENT ENVIRONMENT > Erst: Unterschiedliche Umgebung Dev <-> Production >

    Später: Virtuelle Maschine über Golden Image > Später: Anfänge mit Puppet durch Einzelperson FLYERALARM Digital GmbH 2018
  6. MONITORING > Logs in einen einzelnen Stream aggregiert > Wenig

    dediziertes Logging für einzelne Features > False-positives FLYERALARM Digital GmbH 2018
  7. CONTINUOUS INTEGRATION & DELIVERY > Deploy mit Capistrano > Deploy

    durch Lead Developer > CI/CD Umgebung mit Jenkins, später Bamboo > Deploy durch jeden Entwickler, höhere Eigenverantwortung > Hauptsächlich ein Deploykanal > Erste eigenständige Pipelines > Umfangreiche Tests sind Standard bei allen Neuentwicklungen FLYERALARM Digital GmbH 2018
  8. CONFIGURATION > Monolith abgebildet über Puppet > Fehlende Akzeptanz Puppet

    > Monolithische Herangehensweise, one-size-fits-all FLYERALARM Digital GmbH 2018
  9. DEVELOPMENT ENVIRONMENT > Lokale Umgebung per Puppet abgebildet > Puppet-VM

    sollte mit vagrant angepasst werden > Fehlende Akzeptanz, wiederkehrende Probleme > Workarounds statt gemeinsamer Weiterentwicklung FLYERALARM Digital GmbH 2018
  10. MONITORING > Elastic Stack & Graphana > Teams bauen domain-

    & featurespezifisches Monitoring > Etablieren von gemeinsam erarbeiteten Standards > Reaktionszeiten verkürzen sich stark > Symptome werden als solche schneller erkannt FLYERALARM Digital GmbH 2018
  11. CONTINUOUS DELIVERY & INTEGRATION > Vielzahl unabhängiger Pipelines für einzelne

    Services > Wartezeiten und Abstimmungsbedarf nur noch beim Restmonolith > Erste Services werden per Docker ausgerollt > Eigene Welten FLYERALARM Digital GmbH 2018
  12. CONFIGURATION > Puppet eingemottet > Maschinen per Ansible > Services

    per Docker > Mehrere Dockerswarms mit eigener Orchestration > Einheitliche Registry > Configuration wird vollständig von Entwicklern vorgenommen FLYERALARM Digital GmbH 2018
  13. MONITORING > Dezentral > Alerting automatisiert durch Bots/Icinga > Hoher

    Informationsgehalt bei der Nacharbeit eines Vorfalls FLYERALARM Digital GmbH 2018
  14. CONTINUOUS INTEGRATION & DELIVERY > Komplette Welt per Knopfdruck überall

    hin deploybar > Tests innerhalb eines Containers, weniger Konfiguration der Pipeline FLYERALARM Digital GmbH 2018
  15. DEVELOPMENT ENVIRONMENT > Unabhängige Environments für jedes Team > Gegen

    Abhängigkeiten zu anderen Komponenten kann gegen ein Image entwickelt werden FLYERALARM Digital GmbH 2018
  16. MONITORING > Auswertungen über Monate hinweg > Schnellere Feedbackkanäle >

    Automatisiertes Identifizieren und Lokalisieren von Fehlern > Automatisches Fehlerhandling, Fallbacks FLYERALARM Digital GmbH 2018