IT-Silos auflösen und Standard-Tools nutzen
21. März 2019Eine enge Zusammenarbeit zwischen Entwicklungs- und Netzwerk-Teams ist gefordert, um effiziente Lösungen zu entwickeln und aktuelle Anforderungen zu erfüllen. Dazu müssen zum einen IT-Silos aufgelöst, zum anderen gemeinsame, standardisierte Tools genutzt werden. Auf diese Weise lässt sich eine Lösung, die ein Team entwickelt hat, sofort vom anderen verwenden. Im Zuge der Digitalen Transformation und der zunehmenden Einführung agiler Methoden ist eine Auflösung bestehender IT-Silos notwendig. Doch dies ist leichter gesagt als getan: Viele Entwickler möchten ihre gewohnten Werkzeuge und Programmiersprachen weiterhin verwenden. So geschieht es häufig, dass in einem Team vorwiegend Java eingesetzt wird, in einem anderen jedoch Python. Das erschwert jedoch den Austausch von entwickelten Lösungen und Fachwissen.
Der Einsatz mehrerer Sprachen oder Tools ist gemäß der Studie „State of Network Automation 2018“ auch die größte Herausforderung für Netzwerk-Betriebsteams (NetOps). Doch eine Einschränkung der Auswahl und Standardisierung wird häufig als Eingriff in die persönliche Freiheit oder gar als Verhinderung von Effizienz und Innovationen betrachtet.
Kaum feste Vorschriften
Nur selten existieren in Unternehmen Vorschriften, welche Protokolle, Anwendungen oder Programmiersprachen zu nutzen sind. Trotzdem sind mit der Zeit Quasi-Standardlösungen innerhalb eines Teams entstanden, um eine reibungslose Zusammenarbeit und Wissens-Austausch zu gewährleisten. Die Entscheidung fiel dabei meist durch den Teamleiter oder anhand der Mehrheit an Fachkräften für die jeweilige Lösung.
Während sich diese Mehrheitsverhältnisse bisher nur langsam veränderten – aufgrund geringer Fluktuation und gleichbleibender Anforderungen –, kann dies nun deutlich schneller geschehen. So ist regelmäßig zu prüfen, ob die eingesetzten Lösungen auch weiterhin optimal sind. Laut Studien beträgt die durchschnittliche Lebensdauer von Software etwa sechs bis acht Jahre. Dabei werden größere Programme eher länger eingesetzt. Bei mehr als einer Million Codezeilen sind es schon zwölf bis 14 Jahre. Doch nicht nur eigenentwickelte Programme oder Lösungen von Drittanbietern gehören zu dieser Software, sondern auch Systeme zur Netzwerkautomatisierung. Im Laufe des Einsatzes dieser Software kümmern sich meist verschiedene Fachkräfte um Betrieb, Wartung, Anpassung und Aktualisierung. Dafür benötigen sie das entsprechende Wissen. Gemäß der Studie ist mangelndes Know-how aber für 49 Prozent der Teilnehmer eine Herausforderung.
Daher sollten keine unnötigen zusätzlichen Hürden durch die Nutzung diverser Tools und Programmiersprachen entstehen. So sind standardisierte Sprachen und Werkzeuge einzusetzen, für die ausreichend Fachkräfte verfügbar sind. Das spielt insbesondere dann eine entscheidende Rolle, wenn NetOps-Teams Systeme zur Automatisierung und Orchestrierung von Bereitstellung und Betrieb des Netzwerks einführen. Diese sind entsprechend zu pflegen und weiterzuentwickeln. Dabei kommt zwar selten nur eine einzige Programmiersprache zum Einsatz, aber in der Regel werden nur wenige genutzt.
Orientierung an DevOps
Die Netzwerk-Teams sollten sich dabei an der Entwicklungsabteilung orientieren, weil diese meist deutlich mehr Erfahrung darin besitzt, Lösungen kontinuierlich anhand der Business-Erwartungen zu verbessern. Durch eine Übernahme der bestehenden DevOps-Standards können sie nicht nur einfacher mit den Entwicklern zusammenarbeiten, sondern auch deren Know-how und Fähigkeiten in eigene Projekte einbinden.
Dabei ist aber häufig ein großes Hindernis zu überwinden: Bei der Netzwerkautomatisierung handelt es sich oft um ein heterogenes und kaum integriertes Gesamtsystem. Dieser „Mangel an Integration“ bildet laut 47 Prozent der Studienteilnehmer eine Herausforderung für die Automatisierung von Netzwerken. Damit wurde diese Ursache am zweithäufigsten genannt. Doch der Aufwand für die Integration und Standardisierung der Tools und Anwendungsdienste lohnt sich. Dann können nämlich die verschiedenen Teams die jeweils entwickelten Lösungen gegenseitig austauschen, um Automatisierungsprojekte zu beschleunigen. Eine solche Wiederverwendung bildet auch einen wesentlichen Faktor für die Verkürzung der Zeit bis zur Amortisierung der Investitionen.
Lösungen wiederverwenden
Die Vorteile einer Wiederverwendung haben viele Entwickler bereits erkannt und setzen etwa passende Open-Source-Lösungen ein. Tatsächlich nutzen heute schon bis zu 90 Prozent der Anwendungen Komponenten von Drittanbietern oder Open Source. Dies verkürzt die Entwicklungszeit. Außerdem gilt: Je länger Fachkräfte mit einer Programmiersprache oder Anwendung arbeiten, desto höher wird ihre Produktivität und Effizienz. Zusätzlich beschleunigen abteilungsübergreifend genutzte standardisierte Prozesse und agile DevOps-Methoden die Entwicklung neuer Funktionen.
Prinzipiell gilt dies auch für die Netzwerkautomatisierung, wenn bestehende Integrationen, einheitliche Tools und agile Prozesse genutzt werden. Dafür ist eine Kultur der Wiederverwendung und des Austauschs in allen Betriebsabteilungen durch Standardisierung sowie geeignete Prozesse zu unterstützen. Aber Standardisierung verkürzt nicht nur die Entwicklung der Produkte, sondern treibt auch Innovationen voran. Sie fördert die gemeinsame Nutzung von Systemen und Lösungen in allen operativen Bereichen. Experten arbeiten dann abteilungsübergreifend zusammen und tauschen Erfahrungen aus, so dass sie neue Anforderungen schneller erfüllen können. Ein solcher Pool an Fachkräften entwickelt effizient neue Ideen und innovative Funktionen. So müssen Unternehmen weniger externe Partner einbinden oder mühsam neue Entwickler suchen, um im Wettbewerb erfolgreich zu bleiben.
Der Weg zur Standardisierung
Doch die Einführung von standardisierten Tools führt häufig zu Enttäuschungen und Widerstand bei Mitarbeitern, wenn ihre bisher genutzte Lösung oder Programmiersprache nicht mehr verfügbar ist. Daher muss dieser Schritt mit einem umfassenden Change Management begleitet werden, um Fachkräften die langfristigen Vorteile der Standardisierung für ihre Arbeitsprozesse, den Austausch mit Kollegen, der teamübergreifenden Zusammenarbeit und der Nutzung moderner agiler Methoden zu verdeutlichen. Zudem lassen sich damit Automatisierungssysteme aufbauen, um die Effizienz über die gesamte Continuous Deployment Toolchain hinweg zu erhöhen.
Standardisierung sollte dabei kein Selbstzweck sein. So müssen Unternehmen vermeiden, dass sie alleine eine bestimmte Programmiersprache oder ein Tool einsetzen. Dann können sie nämlich nicht von übergreifender Zusammenarbeit oder Open-Source-Lösungen profitieren. Zudem sollten sie prüfen, ob genügend interne und externe Fachkräfte für die ausgewählten Tools vor Ort verfügbar sind. Sie können dafür die Prozesse anderer Unternehmen oder die Lehrpläne von Hochschulen betrachten.
Unternehmen dürfen Standardisierung auch nicht als nachrangiges Thema behandeln, also sich erst darum kümmern, wenn sie eine Implementierung bereits abgeschlossen haben. Stattdessen muss sie frühzeitig in Automatisierungsprojekten berücksichtigt werden, um teamübergreifende Lösungen zu entwickeln und einzusetzen. Dadurch lassen sich langfristig optimale Ergebnisse erzielen sowie spätere Nachteile bei Architektur und Betrieb vermeiden. So können Unternehmen auch IT-Silos auflösen, damit DevOps- und NetOps-Teams reibungslos auf einer Plattform zusammenarbeiten.
Lori MacVittie, Principal Threat Evangelist bei F5 Networks