Entscheidungen über die Entwicklung, das Testen, die Bereitstellung, den Betrieb und die Wartung von Unternehmensanwendungen werden nicht isoliert getroffen. In der Vergangenheit mag es so gewesen sein, dass das Netzwerkbetriebsteam die Kontrolle hatte und die letzte Station bildete, bevor etwas Wichtiges umgesetzt werden konnte. Um ehrlich zu sein, mochten die meisten von ihnen es wahrscheinlich auch auf genau diese Weise.
Aber die Dinge haben sich geändert. Anstatt strenge Kontrollen auszuüben, wird das NetOps-Team jetzt mit Leuten bombardiert (meist DevOps, wenn wir ehrlich sind), die es vorziehen, Dinge allein umzusetzen. Dinge, von denen sich das NetOps-Team wünscht, dass Sie sie nicht tun würden (wie z. B. Sicherheitsprotokolle für Ihre neue Anwendung zu umgehen oder die Lastenausgleichseinstellungen für die Aktualisierung einer Anwendung durcheinander zu bringen).
Das DevOps-Team versucht eigentlich nur, die Dinge zu verbessern. Das Ganze anpassungsfähiger zu gestalten. Mehr Selbstverwaltung und weniger Verwaltung durch Mikrodienste zu erzielen. Die Agilität zu steigern.
Die Sache ist die, dass das DevOps-Team in der heutigen Unternehmensumgebung das NetOps-Team benötigt, wenn es seinen agilen Arbeitsstil beibehalten will. Das DevOps-Team kann all das nicht einfach alleine umsetzen (schließlich laufen all diese Anwendungen auf einer zugrunde liegenden Infrastruktur). Es kann außerdem nicht erwarten, dass das NetOps-Team in den Hintergrund tritt und all seine üblichen Verantwortlichkeiten aufgibt. Das würden auch Sie nicht wollen. Das NetOps-Team spielt eine wichtige Rolle bei der Aufrechterhaltung der Sicherheit und Leistung aller vom DevOps-Team erstellten Anwendungen und bringt wichtige Fähigkeiten und Fertigkeiten in den CI/CD-Workflow ein.
Wenn Sie Teil des DevOps-Teams sind und versuchen, Ihre NetOps-Kollegen tiefer in den CI/CD-Workflow einzubinden, müssen diese zunächst einmal den Wunsch haben, sich zu beteiligen, um den Wert einer Änderung des aktuellen Stands zu erkennen. Das ist eigentlich ganz einfach, wenn man bedenkt, dass die kleineren Probleme, die die Automatisierung leicht löst, mühsame und zeitaufwendige Routineaufgaben darstellen, die immer und immer wieder erledigt werden müssen. Die Art von Aufgaben, die jeder vernünftige Arbeiter gerne an einen Bot abgeben würde.
Änderungsaufträge sind ein gutes Beispiel. Sie haben sich durch einen Stapel von Aufträgen gekämpft, jede Änderung manuell eingegeben und dann noch einmal auf deren Richtigkeit überprüft, denn schließlich ist dies heute Morgen schon Ihr neunter Auftrag. Alle Aufträge laufen langsam zusammen und Sie fragen sich, wie Sie überhaupt in diese Situation gekommen sind. Jeden Tag den ganzen Tag lang Änderungsaufträge ausfüllen? Darauf hat wohl niemand Lust.
Es gibt einen besseren Weg: Die Automatisierung all jener überflüssigen, sich oft wiederholenden Aufgaben, die einem ansonsten interessanten und produktiven Tag im Wege stehen.
42 % der Unternehmen haben ihre Anwendungsdienste bereits automatisiert, wie unser Bericht zum Stand der Anwendungsdienste ergab.
Die Leute oben in der Firma wollten, dass wir bei diesem Projekt die Führung übernehmen, denn es dreht sich schließlich alles um das Produkt, oder? Wen kümmert es, ob die Männer und Frauen, die diese Aufgaben erledigen, ihre Arbeit lieben, oder? (Falsch!)
Dennoch sind eine robuste Leistung und Sicherheit für Ihre Anwendungen eigentlich ein ziemlich positiver Nebeneffekt dafür, dass diese Art Ihrer Arbeit weniger nervtötend und überflüssig ist.
Das Schöne an der Automatisierung ist, wenn Sie es beim ersten Mal richtig machen, wissen Sie, dass es danach jedes Mal richtig gemacht wird.
Durch die Automatisierung der Dienste, die die Zuverlässigkeit und Sicherheit Ihrer Anwendungen gewährleisten, gewinnen Sie nicht nur Zeit für interessantere, weniger monotone Projekte – Sie verbessern auch die Qualität dieser Dienste. Das liegt daran, dass gut durchdachte, automatisierte Workflows nicht von selbst entstehen. Es ist die Aufgabe des NetOps-Ingenieurs, das optimale Modell zu erstellen, auf dem jeder automatisierte Workflow funktioniert, um so immer wieder optimale Ergebnisse zu erzielen.
Das Schöne an der Automatisierung ist, wenn Sie es beim ersten Mal richtig machen, wissen Sie, dass es danach jedes Mal richtig gemacht wird.
In einem automatisierten Workflow behält das NetOps-Team nicht nur die Kontrolle über seine Fachgebiete (was Ihre Anwendungen schneller, zuverlässiger und sicherer gestaltet), sondern kann automatisierte Prozesse generieren, die so einfach zu bedienen sind, dass das DevOps-Team nie wieder etwas anderes in Erwägung ziehen wird (was wiederum Ihre Anwendungen schneller, zuverlässiger und sicherer gestaltet).
Es ist fast immer so, dass weder die DevOps- noch die NetOps-Teams in der Lage sind, alle Lösungen für die Wartung der kritischen Anwendungen und Daten eines Unternehmens alleine zu finden. Es war schon immer so, dass diese beiden Teams zusammenarbeiten müssen. Die heutigen Automatisierungsmöglichkeiten tragen wesentlich dazu bei, die Spannung bei diesen Interaktionen zu reduzieren.
DevOps, NetOps, SecOps... keines dieser Teams befindet sich in völliger Isolation. Im modernen CI/CD-Workflow besteht der Erfolg in der Entwicklung klar definierter, bewährter Methoden, die schnell und einfach (d. h. automatisch) in komplexen Systemen repliziert werden können. Um eine solide Grundlage für diese automatisierten Arbeitsabläufe zu schaffen, ist eine solide Partnerschaft zwischen DevOps, NetOps und SecOps erforderlich, wobei jeder sein Fachwissen zur Unterstützung der anderen Teams zur Verfügung stellt.
Unabhängig von der Umgebung (Cloud, Container usw.) sind Ihre Anwendungen auf die zugrunde liegenden Anwendungs-, Netzwerk- und Sicherheitsdienste angewiesen. Das NetOps-Team hat die Aufgabe, den Datenfluss durch das Netzwerk aufrechtzuerhalten, sicherzustellen, dass die Anwendungen skalierbar und reaktionsfähig sind, und zu gewährleisten, dass die Daten bei Bedarf verfügbar und immer gesichert sind. Und jedes Betriebsteam spielt eine Rolle bei der Risikominderung – sei es das Risiko, dass Ihre Anwendung nicht wie beabsichtigt funktioniert, das Risiko, dass Ihr Netzwerk überlastet wird oder das Risiko, dass Bedrohungen von außen versuchen, Ihre Vermögenswerte anzugreifen. Und es ist interessant festzustellen, dass die DevOps-Prinzipien, die gute Ergebnisse für die Software-Entwicklung – Kultur, Automatisierung, Messung und Weitergabe – erzielen, dieselben Prinzipien sind, die auch gute Ergebnisse in Sachen Sicherheit erzielen, so der DevOps-Bericht von Puppet zum Stand der Entwicklung 2019.
Diese Interaktion zwischen den verschiedenen Betriebsteams ist konstant. Das ist die Art und Weise, wie die IT im gesamten Internetzeitalter funktioniert hat. Es gibt jedoch immer Raum für Verbesserungen, z. B. als der agile Software-Entwicklungsprozess auf den Plan trat und die Grenzen für die schnelle Entwicklung sowie Bereitstellung von Anwendungen verschoben wurden. Zu dieser Zeit begannen die DevOps-Teams mit der großen Veränderung hin zu einem agileren Entwicklungsansatz und nahmen somit einen schnelleren Weg, um „vom Code zum Kunden“ zu gelangen.
Diese Beschleunigung treibt die Veränderungen voran, die DevOps-Teams jetzt erleben. Die gute Seite: DevOps-Teams sind in der Lage, sich schneller zu bewegen und proaktiver zu handeln. Die schlechte Seite: Es können Spannungen entstehen, wenn die Prozesse anderer Abteilungen nicht auf die gleiche Weise ablaufen.
Es ist keine gute Idee, diese anderen Abteilungen einfach zu ignorieren oder Mitarbeiter, die noch nicht ganz mit Ihrer neuen Arbeitsweise vertraut sind, zu ignorieren. Wenn DevOps-Teams versuchen, alles alleine umzusetzen, ist das sowohl ineffizient als auch unangemessen. Auf diese Weise werden Prozesse (versehentlich oder auch nicht) fehleranfälliger, und fehlerhafte Prozesse können dazu führen, dass alle möglichen Dinge schief laufen – und zwar nicht nur für das DevOps-Team, sondern für alle, einschließlich Ihrer Kunden, die wohl die letzten Menschen sind, auf die Sie einen negativen Einfluss ausüben möchten.
Damit DevOps-Teams ihre Arbeit wirklich richtig machen können, brauchen Sie das NetOps-Team als Partner und nicht als Feind. Der Dreh- und Angelpunkt jeder soliden Partnerschaft ist die Kommunikation. Das DevOps-Team muss mit dem Netzwerkteam darüber kommunizieren, wie Dienste zur Unterstützung von Anwendungen beschafft werden sollen.
Häufig ist das DevOps-Team der Experte für die Automatisierung, für die gesamte Herangehensweise und für Dinge wie Infrastructure-as-Code. Das Netzwerk-Team ist jedoch der Experte für das Verständnis der tatsächlichen Architekturressourcen, die bereitgestellt werden müssen, und für das Verständnis, welche Tools für diese Bereitstellung zur Verfügung stehen. Durch Gespräche und gegenseitigen Respekt können DevOps und NetOps erkennen, wo Automatisierung notwendig ist und wie sie am besten zu bewerkstelligen ist.
Sie haben nichts zu verlieren, DevOps, und viel zu gewinnen, wenn Sie Ihren NetOps-Kollegen helfen, die Rolle der Automatisierung im gesamten CI/CD-Workflow zu erweitern. Der Schlüssel dazu ist die Erkenntnis, dass, so wie Sie der Experte für die Entwicklung von Codes sind, einer oder mehrere Ihrer Kollegen Experten für die Bereitstellung von Netzwerk- und Sicherheitsdiensten zur Unterstützung dieser Codes sind. Verpassen Sie nicht die Chance, ihnen dabei zu helfen, der bestmögliche Experte zu sein.