Categories: Open SourceSoftware

DevOps-Kosten clever senken

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).

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.

Kai Schmerer

Kai ist seit 2000 Mitglied der ZDNet-Redaktion, wo er zunächst den Bereich TechExpert leitete und 2005 zum Stellvertretenden Chefredakteur befördert wurde. Als Chefredakteur von ZDNet.de ist er seit 2008 tätig.

Recent Posts

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

2 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

3 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

3 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

4 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

5 Tagen ago