Was ist DevOps?

DevOps ist eine relativ neue und innovative Methode zur Entwicklung und Bereitstellung hochwertiger Software.

Der Begriff „DevOps“ kombiniert Teile der Ausdrücke Software Development (Softwareentwicklung) und Technology Operations (Technologiebetrieb), da dieser Ansatz Silos beseitigt und Entwicklungs- und Betriebsaktivitäten vereint.

DevOps entstand vor mehr als 10 Jahren und hat sich seitdem enorm weiterentwickelt. Systemadministratoren wollten mit effizienteren agilen Produktentwicklungsteams Schritt halten, die immer häufiger einsatzbereite Software entwickelten. Teams konnten Software zwar besser bereitstellen, aber es verblieben Engpässe im restlichen Wertstrom, z. B. in Bereichen wie Planung, Bereitstellung und Verwaltung von Produktionssystemen. Damals verursachten diese Engpässe Reibung zwischen Entwicklungs- und Betriebsteams – und das ist selbst heute bei vielen Unternehmen der Fall. Andrew Clay Shafer und Patrick Debois haben den Begriff DevOps 2008 geprägt und das Konzept etablierte sich mit der ersten DevOpsDays-Veranstaltung im Jahr 2009 in Belgien.

Zur Implementierung von DevOps brauchen Sie nicht nur Tools, Sie müssen auch die Arbeitsweisen und Prozesse der Mitarbeiter überarbeiten. DevOps beseitigt die Barriere zwischen den Ingenieursteams, die eine Anwendung oder einen Service entwickeln, und den Mitarbeitern, die diesen Service in der Produktion ausführen. Prozesse und Arbeitsschritte sind auf den ganzen Lebenszyklus der Produkte und Services und alle erforderlichen Faktoren für Bereitstellung und Betrieb abgestimmt.

Im Idealfall verwaltet ein Team alle Serviceaspekte, einschließlich Sicherheits- und Testfunktionen. In größeren Unternehmen kann das Team noch in Funktionsbereiche eingeteilt werden, der Prozess und die Kommunikation müssen aber unbedingt auf die End-to-End-Bereitstellung des ganzen Service ausgerichtet sein. Diese produktorientierte Ansicht kann auf einem einfachen Microservice oder komplexeren Vorgaben für ein Release basieren (das wird oft durch die Umstände und den Endkunden bestimmt). Ziel ist es, mit der Zeit weiter kleinere Änderungen vorzunehmen und schneller zu iterieren.

Die neuen Prozesse und Teams automatisieren so viele Aufgaben wie möglich und erleichtern die End-to-End-Verbindung des Produktlebenszyklus durch Technologielösungen, darunter die entscheidende Feedbackschleife von Kunde zu Team.

DevOps ist wichtig, weil ein Unternehmen sich damit vom Wettbewerb abheben und schneller auf Geschäftsbedürfnisse reagieren kann. DevOps erleichtert die Softwareentwicklung mit verbesserter End-to-End-Zusammenarbeit, nicht nur zwischen Entwicklungs- und Betriebsteams, sondern auch mit Bereichen wie Sicherheit (auch als DevSecOps bezeichnet), Tests (Qualitätssicherung oder QA), Versionskontrolle und Funktionen für die teamübergreifende Zusammenarbeit wie ChatOps. DevOps sorgt für bessere Softwareprodukte und erfolgreiche Implementierungen.

Im Grunde ist DevOps eine Best Practice. Der Grundgedanke ist, dass Organisationen für Anwendungs- und Servicebereitstellung am besten arbeiten, wenn Softwareentwicklungsteams wirklich zusammenarbeiten und kontinuierliche Integration und Bereitstellung (CI/CD) einsetzen. Das bedeutet, dass die Software am Ende jeder Iteration, selbst nach kürzester Zeit, produktionsfertig ist, auch wenn sie nicht jedes Mal in der Produktion bereitgestellt wird.

Große Unternehmen vollziehen DevOps-Transformationen, um ein häufiges und grundlegendes Problem mit der Entwicklung von Unternehmenssoftware zu lösen. Entwickler programmieren und testen neue Software in einer Offline-Entwicklungsumgebung. Dort können sie Fehler beheben, Code anpassen und Anforderungen verfeinern, ohne das Unternehmen, die Regierungsbehörde oder die Gesundheits- oder Bildungseinrichtung zu gefährden.

Wenn die neue Software oder der Code aber in der echten Umgebung bereitgestellt wird, treten Probleme auf, da die Entwicklungsumgebung nicht genau mit der sich stets verändernden Produktionsumgebung identisch ist. Das kann zu Schwierigkeiten oder sogar zum Scheitern führen. Nicht erfolgreiche Bereitstellungen können kostspielige und zeitaufwendige Probleme zur Folge haben. Früher war das ein noch größeres Problem, da zahlreiche Änderungen in vereinzelten Releases eingeführt wurden.

Die Betriebsteams müssen anhand der richtigen Prüfungen sicherstellen, dass Produkte zuverlässig in der Produktion ausgeführt werden. Es kann zu Reibung zwischen dem Betriebsteam und dem Entwicklungsteam kommen, das den Code iterieren und Änderungen so schnell wie möglich in die Produktion überführen möchte.

Eine DevOps-basierte Bereitstellungs-Pipeline sorgt dafür, dass Entwickler und Betriebsmitarbeiter:

  • besser zusammenarbeiten

  • einer gemeinsamen Arbeitsweise und Strategie folgen

  • Hindernisse und Silostrukturen beseitigen

  • Verantwortung teilen

  • QA, Versionskontrolle, Konfigurationsverwaltung und Releasemanagement als vernetzte, kontinuierliche Bereitstellungsaktivität betrachten (oft als Wertstrom bezeichnet)

Durch Integration von Entwicklungs- und Betriebsteams mit automatisierten Abläufen können Unternehmen die Zusammenarbeit, die Arbeitskultur und letztendlich die Produktivität verbessern. DevOps-Integration basiert auf der Automatisierung von Infrastruktur und Workflows. So können Anwendungen kontinuierlich in der Produktion bereitgestellt und die Anwendungsleistung konstant gemessen werden.

Die Automatisierung ist eine wesentliche Best Practice von Unternehmen, die ein DevOps-Modell einsetzen. Automatisieren Sie so viele Aufgaben wie möglich, besonders:

  • Codefunktions-, Benutzer- und Sicherheitstests

  • Workflows, einschließlich Stage-Gates und Releases

  • Infrastrukturimplementierungen und -änderungen

  • Validierung von Konfigurationsverwaltungsänderungen

DevOps bietet einen wesentlichen Wettbewerbsvorteil dank automatischer Codefunktionen während des Software-Entwicklungslebenszyklus. Automatisierung wird aber nur genutzt, wenn das Team weiß, dass entsprechende Funktionen verfügbar sind und dass viele zuvor manuelle Funktionen wie ITIL Change Management zunehmend automatisiert werden. Die Automatisierung kann Entwicklern administrative Aufgaben abnehmen und ihnen die Arbeit so erheblich erleichtern.

DevOps Change Management – ServiceNow DevOps für Change Management in Unternehmen.

Als weitere Best Practice von DevOps wird Software in kleinen Blöcken geschrieben, die innerhalb von Stunden integriert, getestet, überwacht und eingeführt werden können. Jetzt dauert es nicht mehr Wochen oder Monate, große Mengen an Softwarecode zu schreiben und zu testen. Entwicklungsteams können dadurch die Geschäftsanforderungen besser erfüllen und das Risiko eines schwerwiegenden Ausfalls aufgrund eines Releases mit vielen Änderungen wird verringert. Außerdem können kleinere Änderungen einfacher rückgängig gemacht werden, wenn ein Problem in der Produktion auftritt. Diese Best Practice gilt sowohl für neue cloudbasierte Technologien als auch für traditionelle Infrastruktur.

Nicht alle Projekte können in häufigeren kleinen Blöcken bereitgestellt werden. Manchmal bietet es sich nach wie vor an, Änderungen in größeren oder weniger häufigen Releases in einem größeren DevOps-Lebenszyklus zusammenzufassen. DevOps-Teams arbeiten aber nach dem Grundsatz, dass ihr Code sofort bereitgestellt werden kann.

Einige Unternehmen haben umfangreiche Erfahrungen in der agilen Entwicklung gesammelt und experimentieren mit DevOps-Ansätzen oder setzen diese komplett ein. Andere dagegen sind der Meinung, dass DevOps noch nicht für den vollumfänglichen Einsatz in größeren Unternehmen bereit ist. Dieser Glaube basiert auf einer Reihe von Faktoren, wie dem Umstand, dass DevOps wesentliche Änderungen an Mitarbeiterorganisation, Prozessen und Technologie erfordert. Außerdem müssen fast alle Großunternehmen zahlreiche behördliche Vorschriften einhalten, insbesondere wenn ihre Systeme finanzielle, personenbezogene oder Gesundheitsdaten verarbeiten. Aufgrund ihrer Compliance-Anforderungen richten Großunternehmen strenge Kontrollen im IT-Betrieb für die Freigabe von Anwendungs-Updates ein. Diese Kontrollen eignen sich hervorragend für Automatisierung, da sie auf manuellen Prozessen basieren.

Je mehr DevOps implementiert wird und die Erfahrung und Automatisierung zunimmt, desto öfter wird DevOps für die Lösung echter Geschäftsprobleme eingesetzt. Wenn Unternehmen erkennen, wie sie Geschwindigkeit und Agilität mit Compliance und Kontrolle vereinen können, sind sie absolut bereit, neue Softwarefunktionen zu entwickeln. Erfolgreiche DevOps-Praktiken setzen dieses Bewusstsein voraus und können die Mitarbeiterproduktivität steigern, da die zugehörigen Systeme nach dem Prinzip „Planen, Erstellen, Ausführen“ effizienter laufen.

Sie können DevOps-Methoden intelligent im ganzen Unternehmen einführen, die Risiken von schneller Arbeit mindern und die Reibung zwischen dem IT-Betrieb und den Entwicklungsteams minimieren. Großunternehmen, die strenge Kontrollen für die Geschäftskontinuität einsetzen, können den Übergang mit neuen Technologien wie Wertstrommanagement (Value Stream Management, VSM) erleichtern.

DevOps-Lebenszyklus - ServiceNow Nutzen Sie die ServiceNow-Plattform für DevOps-Lebenszyklusverwaltung.

Ein effektives DevOps-Team iteriert schnell und schafft auf grundlegende Weise Nutzen: kleinere und häufigere Software-Releases, die pünktlich oder überpünktlich bereitgestellt werden und weniger Probleme in der Produktion aufweisen. Selbst wenn Fehler in der Produktion auftreten, werden diese schneller behoben. Das Team kann sich außerdem dank der über Zusammenarbeit und Wertstrommanagement verfügbaren Daten weiterbilden und verbessern.

Gute DevOps-Teams stellen Code weitaus schneller und mit weniger Fehlern als andere Teams mit geringerer Leistung bereit. Der Übergang zu DevOps fördert die kontinuierliche Verbesserung in der Organisation, da jede beteiligte Person auf Informationen zum ganzen Lebenszyklus zugreifen kann. Außerdem erreichen Sie mit den neu entstehenden KI-Funktionen in DevOps noch mehr Effizienz dank Automatisierung und verbesserter Zuverlässigkeit.

Der Business Case für DevOps ist eindeutig, aber die Einführung bringt möglicherweise unerwartete Führungsherausforderungen mit sich. Unternehmen müssen gut vorbereitet und zielstrebig sein, um von der Wasserfallentwicklung zur agilen Softwareentwicklung und schließlich zu DevOps überzugehen. Der Aufwand lohnt sich aber.

Stabilität

Viele Best Practices von DevOps verbessern die Stabilität. Ein Beispiel dafür ist der Ansatz von kleineren Änderungen, die wahrscheinlich nicht zu schwerwiegenden Ausfällen führen und bei Bedarf schnell und oft automatisch zurückgesetzt werden können. Der kontinuierliche Integrationsprozess von DevOps stellt sicher, dass Codeänderungen angemessen kombiniert und getestet werden. Außerdem kann die Anwendung von Richtlinien und Tools Probleme so früh wie möglich im Zyklus beseitigen.

Sicherheit

Der Puppet-Bericht State of DevOps 2019 zeigt, dass eine stabile DevOps-Grundlage die Sicherheitsimplementierung einfacher und zuverlässiger macht. Sicherheit wird genauso wie Codeentwicklung, Tests und Betrieb zu einem Bestandteil der Arbeit des DevOps-Teams. Zusammenarbeit wird verbessert und die Sicherheit ist in den Prozess integriert.

Geschwindigkeit

Durch die Arbeit in kleineren Iterationen und kombinierten End-to-End-Teams können Änderungen schneller implementiert werden. Außerdem können die Teams schneller auf die Bedürfnisse des Unternehmens reagieren. Die Gesamtzeit von der ersten Idee bis zu vollendeten Änderung in der Produktion kann erheblich verkürzt werden, sodass Sie die Wertschöpfung beschleunigen.

Collaboration

Die Vorteile von DevOps werden durch verbesserte Zusammenarbeit und Kommunikation noch gestärkt. Entwickler erhalten direktes Feedback zur Leistung des Produktionscodes und Betreiber erhalten größere Einblicke in die Bereitstellung und deren Hintergrund. Alle beteiligten Bereiche, darunter Sicherheit und Qualitätssicherung, können ihre Richtlinien mit Unterstützung des ganzen Teams teilen und verfeinern.

Es ist nicht leicht, die Zusammenarbeit zwischen Entwicklern und Betriebsteams zu fördern, damit diese Code schnell schreiben und für die Produktion freigeben. Änderungen in Kultur und Prozessen sowie die richtigen DevOps-Tools sind für DevOps unerlässlich. Viele IT-, Entwicklungs- und Geschäftsbereichsleiter in großen Unternehmen sind angesichts eines solchen Übergangs verständlicherweise unsicher. Es besteht aber ein überzeugender Business Case für DevOps und Produkte wie ServiceNow DevOps vereinfachen den Workflow. Es gibt einfach nichts, das gegen eine DevOps-Bereitstellung spricht.

DevOps-Hybridmodell verbindet „Dev“ mit „Ops“ – ServiceNow Mit ServiceNow DevOps können Sie die Entwicklung und den Betrieb verbinden.

Wechsel zu DevOps

Weiten Sie den DevOps-Erfolg auf das gesamte Unternehmen aus. Nehmen Sie der hohen Geschwindigkeit das Risiko und minimieren Sie die Reibung zwischen IT-Betrieb und Entwicklung.