Start mit DevOps

Zusammenarbeit steigert den Unternehmenswert

03.07.2015
Von 


Frank Sempert schrieb als Experte zu den Themen Cloud Ecosystem und Big Data/Advanced Analytics. Als Analyst und Berater war er er seit mehr als zehn Jahren tätig. Davor war er 20 Jahre CEO und President mehrerer internationaler IT-Unternehmen. Zudem war er Vorsitzender des Beirates einiger innovativer, Deutschen Software-Unternehmen und engagierte sich in Vereinigungen, wie. z.B. der AmCham oder dem Wirtschaftsrat Deutschland. Frank Sempert ist im März 2017 verstorben.

Wände niederreißen

Die Wand, die zwischen Dev(elopment) und Op(eration)s besteht, sollte übeprüft werden und ob diese Trennung Auswirkungen auf Geschäftsziele des Unternehmens hat. Dazu sollten übergreifende Teams gebildet und eventuelle Abhängigkeiten geplant werden. Ziel ist es hierbeim, den Einsatz vorhersehbar zu machen.

DevOps soll die Verbesserung eines kontinuierlichen Flusses von neuen Software-Releases/Anwendungen laut folgendem Modell ermöglichen:

  • Fluss von links nach rechts
    Kontinuierliches Deployment von Software-Releases erfordert einen ungehinderten links nach rechts Fluss von der Software-Entwicklung und Test bis zur Freigabe/Bereitstellung und Produktion. Wartezeiten sind auf Null zu fahren, durch Management der Ressourcen und Beseitigung oder Verringerung ungeplanter Arbeit, von Warteschlangen oder Engpässen. Das gesamte System ist end-to-end zu optimieren. DevOps Praktiken sind in der testgetriebenen Entwicklung, automatisierte Tests in einem Klon der Produktionsumgebung. Bei Google zum Beispiel arbeiten 15.000 Entwickler und erzeugen 75 Millionen Tests an jedem Tag.

  • Fluss von rechts nach links
    Feedback ist in allen Phasen der DevOps wichtig, um zu verhindern, dass Probleme entstehen und falls erforderlich, diese schneller zu beheben. Testautomatisierung, Bereitstellungs-Automatisierung und Produktions-Telemetrie sind Praktiken, die sicherstellen, dass Code und Umgebung funktionieren wie vorgesehen. Etwas anderes ist die Ownership der Entwickler über deployte Releases/Anwendungen. Deployment und Management von über Produktions-, Test-, und Entwicklungsumgebungen hinweg identischer Infrastruktur-Software gewährleisten, dass Versionen sauber in der Produktion wie in Entwicklung und bei Test laufen. Schaltet die Konfiguration jedoch bei einem neuen Release, wenn zunehmend Dinge schief gehen, auf off-line, werden bei Bedarf schnelle Änderungen in der Produktion möglich.

  • Kontinuierliche Innovation
    Einmal implementiert, muss DevOps sich entwickeln. Ein erster Schritt ist es, DevOps über die Organisation auszubreiten. Ein anderer ist die Schaffung von Shared Services in Form von Gruppen oder Kompetenz-Zentren beispielsweise für Entwickler-Tools, Test, CM, Operations- und Produktions-Telemetriewerkzeuge. Dieses Vorgehen hilft, die kontinuierliche Verbesserung der Verfahren zu koordinieren und Automatisierungs-Ressourcen über alle Software-Projekte zu implementieren.
    Vor zwei Jahren war es üblich, 10 Releases pro Tag zu schaffen, heute sind es in großen Web-Organisationen nicht selten Tausende von Releases. Amazon berichtet 25.000 Releases über alle Dienstleistungsangebote je Arbeitstag. Beschäftigung mit neuesten Technologien, wie GitHubot und ChatOps, um die Produktions-Herausforderungen zu bewältigen, ist eine weitere Möglichkeit, um sicherzustellen, dass kontinuierliches Experimentieren und damit Verbesserung die DevOps Kultur prägt

Empfehlung: Es empfiehlt sich, übergreifende Teams zu bilden und gemeinsame Ziele und Arbeitsabläufe zu entwickeln.

Vertrauen und Überprüfen der Ergebnisse

DevOps ist nicht ausschließlich über den Abriss von Wänden oder das Entfernen kultureller Barrieren zu erreichen, sondern über den Aufbau leistungsfähiger Synergien zwischen den Organisationen. Dazu ist eine Veränderung des Denkens der Entwickler sowie der operativen Kollegen notwendig. Dann lässt sich mit gemeinsamen Metriken, das Unternehmen innovativ vorantreiben.
Allerdings werden einige Metriken für die meisten Organisationen von Bedeutung sein:

  • Business-Metriken: ROI, Kundenzufriedenheit, Marktanteil, Marktstellung, Prüfung von Erkenntnissen, Kosten der Einhaltung

  • Geschwindigkeit: Time to Market und andere Maßnahmen der kontinuierlichen Bereitstellung, Release Frequenz, Durchfluss

  • Qualität: MTTF, MTTR, Fehler in der Produktion (Ausfälle, die beim Deployment verursacht werden) und verminderte Qualität.

Empfehlung: Gemeinsames transparentes Arbeiten im IT-Betrieb, um Metriken, die geschäftlichen Nutzen und gemeinsame Fortschritte betonen, herauszuarbeiten.

Auswirkungen und Leitlinien

Ob Startup, Cloud-Anbieter, SMB oder Großunternehmen - immer fordert eine mit DevOps gestartete Entwicklung Führungskräfte auf, IT-Infrastruktur und Operations anzuleiten, gemeinsam zu arbeiten. Das bedeutet auch, den anfänglichen Widerstand aufzuarbeiten und einen gemeinsamen Boden zu finden, auf dem gegenseitiges Vertrauen aufgebaut werden kann.

Empfehlung für Anbieter/Provider

Anbieter von Apps, Geschäftsanwendungen und Cloud-Lösungen sollten das potenzielle Geschäftsmodell und dessen Vorteile in Betracht ziehen. Die Beschäftigung mit DevOps nahestehenden Technologien wird Gelegenheiten erzeugen, um Kundenanforderungen zu erfüllen, Marktanteile zu erhöhen und nachhaltige Profitabilität zu gewährleisten.

Empfehlung für Unternehmens- und IT-Leiter

Ob mobile Anwendungen für Knowledge-Worker oder Cloud-Lösungen entwickelt werden, um Geschäfts-Nutzen für Kunden zu generieren, DevOps kann Wettbewerbs-Vorteile durch Reduzierung von Kosten und/oder schnelleres Time to Market erzeugen.

Die Transformation zu DevOps erfordert es jedoch, dass die Unternehmensleitung den IT-Bereich ermächtigt, kollaborativ an der Erfüllung gemeinsamer Unternehmenszielen zu arbeiten. (bw)