Definition

DevOps as a Service

DevOps as a Service ist ein Bereitstellungsmodell für eine Reihe von Tools, die die Zusammenarbeit zwischen dem Softwareentwicklungsteam eines Unternehmens und dem Betriebsteam erleichtern.

Bei diesem Bereitstellungsmodell stellt der DevOps-as-a-Service-Anbieter die unterschiedlichen Tools bereit, die verschiedene Aspekte des Gesamtprozesses abdecken, und verbindet diese Tools, damit sie als eine Einheit zusammenarbeiten. DevOps as a Service ist das Gegenteil eines internen Best-of-Breed-Ansatzes, bei dem das DevOps-Team eine unzusammenhängende Sammlung einzelner Tools verwendet.

Das Ziel von DevOps as a Service ist es, sicherzustellen, dass jede Aktion, die im Softwarebereitstellungsprozess durchgeführt wird, nachverfolgt werden kann. Das DevOps-as-a-Service-System hilft sicherzustellen, dass das Unternehmen die gewünschten Ergebnisse erzielt und erfolgreich Strategien wie Continuous Delivery (CD) und Continuous Integration (CI) verfolgt, um den Geschäftswert zu steigern. DevOps as a Service liefert außerdem Feedback an die Entwicklergruppe, wenn ein Problem in der Produktionsumgebung festgestellt wird.

Vorteile von DevOps as a Service

DevOps as a Service kann für Unternehmen interessant sein, denen es an interner DevOps-Expertise oder dem Budget fehlt, um Mitarbeiter mit diesen Fähigkeiten zu beschaffen oder auszubilden. Dieser Ansatz verbirgt auch die Komplexität des Daten- und Informationsflussmanagements in der Toolchain.

Verschiedene Personen und Teams, die am DevOps-Prozess beteiligt sind, können über intuitive Schnittstellen die Aspekte der Tools aufrufen, die sie benötigen, ohne dass sie verstehen müssen, wie die gesamte Toolchain funktioniert. Mit dem gleichen DevOps-as-a-Service-Angebot kann beispielsweise ein Entwickler Tools für Quellcodemanagement aufrufen, ein Tester kann Application-Performance-Management-Tools prüfen und das IT-Operations-Team kann mit Konfigurationsmanagement-Tools Änderungen vornehmen. Auf diese Weise kann das Team Aktivitäten, die in der Toolchain stattfinden, überwachen und darüber berichten.

Abbildung 1: DevOps as a Service
Abbildung: DevOps as a Service

Durch die Integration ausgewählter Elemente von DevOps-Tools in ein einziges übergreifendes System zielt DevOps as a Service darauf ab, die Zusammenarbeit, Überwachung, Verwaltung und Berichterstattung zu verbessern. Eine effektive DevOps-as-a-Service-Strategie ermöglicht es einem Unternehmen, einen flexibleren Ansatz für seine Märkte zu wählen und neue Produkte und Dienstleistungen hervorzubringen, wenn sich der Markt verändert. DevOps und DevOps as a Service können mit traditionellen Entwicklungs- und Bereitstellungsprozessen koexistieren.

Nachteile von DevOps as a Service

Die Diskussion über DevOps-as-a-Service-Angebote setzt voraus, dass es eine Einigung auf eine einzige vollständige Toolchain für DevOps gibt, die die Anforderungen jeder Organisation effektiv erfüllt, beziehungsweise eine, die ein Anbieter in einem Managed-Services-Modell anbieten kann. Die meisten DevOps-Toolchains beinhalten irgendeine Art von CI/CD-Pipeline und Überwachungsfunktionen, vom Softwareentwicklungsprozess bis hin zum Deployment in die Produktion, aber die Bedürfnisse und Präferenzen der Unternehmen werden variieren.

Ein Managed-DevOps-Servicemodell kann auch die Optionen einer Organisation für Tools und spezifische Funktionen im Vergleich zu einer spezifischen Evaluierung und Auswahl von Best-of-Breed-Tools, die intern integriert sind, einschränken. Managed-DevOps-Anbieter bieten unter Umständen weniger Auswahlmöglichkeiten bei den einzelnen Tools, egal ob sie selbst oder von Partnern stammen.

Weitere potenzielle Herausforderungen bei einem DevOps-as-a-Service-Modell sind Kompromisse zwischen Geschwindigkeit und Sicherheit sowie die Fähigkeit eines Service-Providers, die Anforderungen an Verfügbarkeit und Zuverlässigkeit zu erfüllen. Eine Organisation muss die Nutzung von Services und zugehörigen Tools genau im Auge behalten, um die Kosten unter Kontrolle zu halten.

Darüber hinaus müssen die internen Mitarbeiter eines Unternehmens verstehen, wie die verwalteten DevOps-Services und gehosteten Tools miteinander interagieren und sich in die eigene IT-Infrastruktur und die gewählte Cloud-Plattform integrieren, damit sie die Anwendungen nach der Bereitstellung in der Produktion unterstützen können.

Der DevOps-as-a-Service-Markt

Zu den DevOps-as-a-Service-Anbietern gehören Anbieter von DevOps-Tools, Anbieter von Public-Cloud-Plattformen, Systemintegratoren und sogar IT-Teams, die eine Toolchain kuratieren und sie intern integrieren. Ein DevOps-as-a-Service-Anbieter bietet typischerweise mindestens eine der folgenden Leistungen:

  • einen komplett proprietären Stack, der vom Anbieter erstellt, verwaltet und gewartet wird;
  • Strategien für den Anwender, um den kulturellen Wandel zu bewältigen, der mit der Verschmelzung von Aufgaben einhergeht, die traditionell von siloartigen Softwareentwicklungs- und Systembetriebsteams durchgeführt wurden;
  • einen offenen Stack, bei dem der Anbieter ein proprietäres Interoperabilitätssystem erstellt, das einige gehostete Open-Source-Komponenten zulässt; oder
  • eine Orchestrierungsschicht, die offene Programmierschnittstellen zur Integration mit bestehenden Tools nutzt.

Eine Vielzahl von Anbietern bietet irgendeine Form von DevOps as a Service an - große Public-Cloud-Plattformen, große und kleine Anbieter von Managed Services, globale Beratungsunternehmen und DevOps-spezifische Beratungsfirmen.

Die Anbieter können As-a-Service-Versionen ihrer Tools anbieten, die einzelne Glieder in der DevOps-Toolchain darstellen und diese mit anderen Tools in der DevOps-Toolchain integrieren. Typischerweise umfassen und unterstützen diese Anbieter jedoch nicht eine gesamte DevOps-Toolchain, insbesondere wenn sie Tools von mehreren Anbietern einbeziehen.

Diese Definition wurde zuletzt im Juli 2021 aktualisiert

Erfahren Sie mehr über Data-Center-Betrieb