DevOps-Kosten clever senken

Ziel eines jeden DevOps-Teams ist es, mit weniger Einsatz mehr zu erreichen. Oft genug stehen dabei jedoch die eingesetzte Technologie oder die jeweilige Unternehmenskultur im Weg - nicht selten ist es sogar eine Kombination aus beiden Faktoren.

Mit sorgfältiger Planung und konsequentem Aufbrechen festgefahrener Denkmuster ist es aber möglich, die Kosteneffizienz von DevOps-Strategien zu steigern – unabhängig davon, an welchem Punkt seiner Innovationsreise sich eine Organisation gerade befindet. Einige praktische Tipps können helfen, eine geeignete Vorgehensweise zu finden:

Abläufe straffen

Entwickler lieben die Cloud: Sie können neue Instanzen starten, schnell auf grenzenlose Speicherkapazitäten zugreifen und effizient arbeiten – und das alles ohne teure Investitionen und Einrichtungen vor Ort. Allerdings hat diese Benutzerfreundlichkeit ihren Preis, denn: die Teams müssen wachsam sein und ihre Cloud-Nutzung, ausufernde Instanzen sowie mögliche Kostenüberschreitungen stets im Auge behalten. Unternehmen können ihre Ausgaben senken, indem sie alle ihre Cloud-Aktivitäten gut überwachen. Dazu gehören insbesondere die regelmäßigen Kosten für SaaS-Accounts, die zwar in Sekundenschnelle eingerichtet sind, später aber vielleicht gar nicht mehr verwendet oder nicht mit den Entwicklungsbudgets abgeglichen werden.

Michael Friedrich, der Autor dieses Beitrags, ist Developer Evangelist bei GitLab und verfügt über mehr als 15 Jahre Erfahrung im Bereich Ops und Infrastrukturmanagement. Er absolvierte ein Studium in Hardware/Software Systems Engineering an der Fachhochschule Hagenberg in Österreich. Zunächst arbeitete er an verschiedenen IT- und Entwicklerprojekten der Universität Wien mit, unter anderem bei ACO.net, der Österreichischen Forschungs- und Bildungsplattform. Zudem entwickelte Michael Friedrich über viele Jahre das Projekt Icinga maßgeblich mit, eine Open-Source-Anwendung zur System- und Netzwerküberwachung. Nach einer Tätigkeit beim Nürnberger IT-Dienstleister Netways übernahm er 2020 bei GitLab die Aufgabe eines Developer Evangelist. Er widmet sich den Themen CI/CD, Monitoring/Observability und Sicherheit. Zudem engagiert er sich in der Open-Source-Entwicklung und tritt als Referent bei Events und Meetups auf (Bild: GitLab).Michael Friedrich, der Autor dieses Beitrags, ist Developer Evangelist bei GitLab und verfügt über mehr als 15 Jahre Erfahrung im Bereich Ops und Infrastrukturmanagement. Er absolvierte ein Studium in Hardware/Software Systems Engineering an der Fachhochschule Hagenberg in Österreich. Zunächst arbeitete er an verschiedenen IT- und Entwicklerprojekten der Universität Wien mit, unter anderem bei ACO.net, der Österreichischen Forschungs- und Bildungsplattform. Zudem entwickelte Michael Friedrich über viele Jahre das Projekt Icinga maßgeblich mit, eine Open-Source-Anwendung zur System- und Netzwerküberwachung. Nach einer Tätigkeit beim Nürnberger IT-Dienstleister Netways übernahm er 2020 bei GitLab die Aufgabe eines Developer Evangelist. Er widmet sich den Themen CI/CD, Monitoring/Observability und Sicherheit. Zudem engagiert er sich in der Open-Source-Entwicklung und tritt als Referent bei Events und Meetups auf (Bild: GitLab).

Dabei kann auch die Automatisierung von Kernprozessen durchaus hilfreich sein: So können Unternehmen z.B. einen selbstskalierenden CI/CD-Cluster so einrichten, dass dieser jedes Mal Tests durchführt, wenn das Team neuen Code veröffentlicht oder Implementierungen realisiert. Mit entsprechenden Tools lässt sich diese Arbeit auf mehrere Server verteilen und die Kapazität nach Bedarf erhöhen oder verringern, um so die Kosten auf einem niedrigen Niveau zu halten. Mit diesem Ansatz können Unternehmen bis zu 90 Prozent Kosten sparen, sichern aber gleichzeitig die gewünschte Code-Qualität.

Weniger ist oft mehr

Die beachtliche Auswahl an verfügbaren DevOps-Werkzeugen bietet den Entwicklungsteams im Grunde zu viele Entscheidungsmöglichkeiten, denn genau diese Vielzahl von Optionen kann bei Projekten den Grundstein für Budgetüberschreitungen legen: Das Team muss die anfänglichen Investitionskosten berücksichtigen, gleichzeitig aber auch sicherstellen, dass diese Werkzeuge später laufend gewartet und aktualisiert werden. Hochspezialisierte Werkzeuge verlangen möglicherweise die Einstellung hochspezialisierter Entwickler, was den Preis weiter erhöht.

Das beste Argument für eine Optimierung nach dem Motto „weniger ist mehr“ ist in der Regel eine Toolchain, die vom DevOps-Team als einzelne durchgängige Toolchain implementiert wird. Damit können Unternehmen ihren zentralen Veröffentlichungszyklus von einmal alle ein bis zwei Wochen auf einmal alle paar Minuten beschleunigen.

Legacy Systeme und die eigene Unternehmenskultur neu überdenken

Während manche Unternehmen den Vorteil haben, dass sie ihre DevOps-Strategie von Grund auf neu planen können, müssen die meisten Teams den Arbeitsablauf ihrer bestehenden Toolchains und Tests effizienter gestalten. Solch ein vernünftige Vorgehensweise zur Umgestaltung birgt jedoch häufig auch Risiken und zusätzliche Kosten.

So ist die Umstellung von Legacy Systemen auf einen schlankeren DevOps-Ansatz nicht nur zeitaufwendig, sondern kann auch das übergeordnete Ziel der Beschleunigung wertvoller Software-Aktualisierungen untergraben. Denn Legacy Systeme behindern den Modernisierungsaufwand oft durch ihre schiere Größe: Bei Millionen von Codezeilen kann es schwierig sein, sich von kostspieligen manuellen Tests zu lösen. Deshalb ist es in diesen Fällen ratsam, die Technologie und Unternehmenskultur auf den Prüfstein zu stellen.

Organisationen, die diese Herausforderung annehmen, neue Technologieentscheidungen treffen und ihre Entwicklungs- und Testteams dazu ermutigen, neue Arbeitsabläufe einzuführen, können dabei durchaus gewinnen. Ein möglicher Ansatz ist es, die Entwicklung von Monolithen hin zu Microservices zu verlagern und damit zu einer Container-basierten Architektur überzugehen. Der Schlüssel zu einer solchen strategischen Migration ist der Aufbau der zugrunde liegenden Architektur auf der Grundlage von Containern mit Hilfe von Kubernetes, Docker und Plattformen wie OpenShift, AWS und Google Cloud. Neben einem innovativen Aufbau der Architektur ist es zudem ratsam für Konfiguration, Entwicklung, Test, Implementierung und Verwaltung der verschiedenen Microservices eine durchgängige Plattform zu nutzen.

Mut zum Wandel

Automatisierung ist ein Bereich von DevOps, in dem die Kosten für die Nichtdurchführung sehr wahrscheinlich die Kosten für die tatsächliche Implementierung übersteigen – eine Erkenntnis, zu der früher oder später alle Teammitglieder kommen, die sich mit Testautomatisierung befassen. Demnach stellt eine kürzlich durchgeführte DevSecOps Umfrage fest, dass sich Entwickler, Sicherheitsexperten und Operationsteams darin einig sind, dass Softwaretests das größte Hindernis für die Innovationsprogramme eines Unternehmens sind.

Die Automatisierung mehrerer Testprozesse ist ein praktischer Lösungsansatz für diese Einschränkungen. Die Erfahrungen der gemeinnützigen Programmiergruppe Free Code Camp z.B. biete wertvolle Einblicke in die Funktionsweise einer im Vorfeld skizzierten Strategie. Die Nutzergemeinde hat auf Automatisierung gesetzt, um manuelle, sich wiederholende Arbeiten zu vermeiden, Prozesse zu beschleunigen und Testabläufe effektiver zu steuern. Dazu hat sie eine CI-Pipeline zur besseren Fehlererkennung entwickelt. Anfangsinvestitionen in Zeit und Ressourcen werden sich langfristig bezahlt machen und liefern in der Regel sehr gute Ergebnisse.

Fazit

Es ist durchaus möglich, die Ergebnisse von DevOps zu beschleunigen und gleichzeitig die Kosten niedrig zu halten. Wenn es gelingt, klares strategisches Planen, Kreativität und ein an der Realität orientierter Wandel in der Unternehmenskultur durch geeignete Teams sowie präzises Arbeiten zusammenzubringen, dann kann dies in jedem Unternehmen zum Erfolg führen.

Themenseiten: Anwendungsentwicklung, Gitlab

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu DevOps-Kosten clever senken

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *