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.
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.
Neueste Kommentare
Noch keine Kommentare zu DevOps-Kosten clever senken
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.