DevOps als Dienstleistung

Die Mauer zwischen Entwicklung und Betrieb muss fallen

8. Januar 2015, 17:01 Uhr | Thomas Fischer, Principal Architect bei Noris Network | Kommentar(e)
© Noris Network

Mit agilen Entwicklungsmethoden und Continuous-Delivery ist es möglich, mehrere Releases pro Tag zu veröffentlichen. Das stellt die Operations-Teams vor große Herausforderungen. Und die wachsen weiter, wenn der Betrieb an externe IT- und Rechenzentrumsdienstleister ausgelagert ist.

DevOps, die Bewegung einer engen Zusammenarbeit zwischen Softwareentwicklung und Betrieb zugunsten des kontinuierlichen Deployments agil entwickelter Software, wird von Rechenzentrumsdienstleistern aufgegriffen.
DevOps, die Bewegung einer engen Zusammenarbeit zwischen Softwareentwicklung und Betrieb zugunsten des kontinuierlichen Deployments agil entwickelter Software, wird von Rechenzentrumsdienstleistern aufgegriffen.
© Noris Network

Unter Anbietern von Webapplikationen und Cloud-basierter Software gilt eine hohe Release-Frequenz als großer Wettbewerbsvorteil. Um flexibler auf den Markt zu reagieren, sollen neue Features und Verbesserungen umgehend in Betrieb gehen. Statt weniger Releases pro Jahr gehen bei vielen Anbietern heute mehrere Releases pro Woche, Tag oder sogar pro Stunde in Produktion. Agile Methoden haben nicht nur die Softwareentwicklung revolutioniert, sondern auch die Art und die Frequenz, mit der Software in Betrieb genommen werden soll.

Der IT-Betrieb soll hingegen eine hohe Verfügbarkeit und Sicherheit garantieren. Hier steht ein starkes Interesse an einer möglichst statischen Infrastruktur mit möglichst wenigen Änderungen im Vordergrund. Die logische Konsequenz sind klassische Change-Prozesse mit ihren geordneten Abläufen bei Änderungen der Hardware, Infrastruktur und Anwendungen. Sie sind grundsätzlich erst einmal nicht auf sehr kurze Release-Zyklen ausgelegt. Eine der Auswirkungen dieser Diskrepanz ist das berühmte „Blame Game“: Bei Problemen weisen sich Development und Operations gegenseitig die Schuld zu. Releases werden in einer solchen Kultur zu einem extrem aufwändigen Unterfangen, das auf beiden Seiten hohe Reibungsverluste verursacht.

Genau an dieser Stelle greifen Continuous-Delivery und DevOps an. Releases sollen „Spaß“ machen. Vor allem aber sollen sie einfach, wiederholbar und kontrolliert durchgeführt werden können. Am besten auf Knopfdruck. Grundsätzlich können daher Continuous-Delivery und eine DevOps-Kultur als die logische Weiterführung von agilen Methoden im Bereich IT-Operations gesehen werden, um diese fit für die heutigen Anforderungen aus der Softwareentwicklung zu machen.

DevOps bei ausgelagertem Betrieb

Die DevOps-Bewegung sieht schon die enge Zusammenarbeit zwischen Entwicklung und IT-Betrieb innerhalb einer Unternehmung als große kulturelle Herausforderung. Die Schnittstellenprobleme bezüglich Organisation, Methoden, Tools und Prozessen gestalten sich noch weitaus komplexer, wenn Development und Operations in unterschiedlichen Unternehmen beheimatet sind.

Dies ist besonders dann der Fall, wenn der Betrieb einer Applikation an externe IT-Dienstleister ausgelagert ist, die es dem entwickelnden Unternehmen ermöglichen, sich auf sein Kerngeschäft zu konzentrieren und eine skalierbare IT-Infrastruktur zu betreiben und entsprechende Verfügbarkeiten sowie Sicherheit zu garantieren. Viele Unternehmen haben den IT-Betrieb komplett ausgelagert und fahren kommerziell wie technisch gut damit, das Management von Servern, Storage, Netzwerkinfrastruktur, Connectivity, Sicherheits- und Betriebssystemen in die Hände von Betriebsspezialisten zu legen. Doch: Tendenziell erhöht das Outsourcing die Mauer zwischen IT-Betrieb und Softwareentwicklung.

Dabei sind beide Seiten auf Informationen aus der jeweils anderen Domäne angewiesen: Entwicklungsteams müssen den aktuellen Stand der verschiedenen Umgebungen, wie deren aktuelle Performance-Metriken, sowie die Prozesse zur Übernahme von neuen Versionen in den IT-Betrieb kennen. Umgekehrt benötigt der IT-Betrieb Informationen darüber, welche Anforderungen oder welche Auswirkungen neue Softwareversionen auf Datenbanken, virtuelle Server und andere Infrastrukturkomponenten haben und ob beispielsweise Anpassungen an dem Release-Prozess notwendig sind.

Erste IT-Dienstleister reagieren jetzt auf die wachsenden Anforderungen aus den Entwicklungsabteilungen ihrer Kunden. Sie etablieren DevOps-Teams, die speziell die Aufgabe haben, die Zusammenarbeit mit den Entwicklungsteams des Kunden zu vertiefen und den Release-Prozess gemeinsam in Form einer Deployment-Pipeline zu automatisieren und zu optimieren.

Anbieterkompass Anbieter zum Thema

zum Anbieterkompass

  1. Die Mauer zwischen Entwicklung und Betrieb muss fallen
  2. Das Ziel: Continuous-Delivery
  3. Infrastructure as Code
  4. Expertenkommentar: Rechenzentren sollen DevOps leben

Das könnte Sie auch interessieren

Verwandte Artikel

funkschau, Noris Network

Cloud

Anbieterkompass