top of page

Architektur von NoOps für Unternehmen Teil IV

  • helmutbaumann1
  • 2. Juni 2023
  • 7 Min. Lesezeit


Verstehen des Paradigmenwechsels zu NoOps


In DevOps , haben wir gelernt, wie ein Unternehmen KI und ML in DevOps-Pipelines nutzen kann. Der Grund dafür ist, dass viele Manuelle Aufgaben durch intelligente Automatisierung überflüssig werden. NoOps geht noch einen Schritt weiter: IT-SyStege werden vollständig automatisiert, so dass die Betreiber nicht mehr manuell in die Systeme eingreifen müssen. Wie weit sind wir von diesem Paradigmenwechsel noch entfernt? Und ist er auch realistisch?


NoOps scheint eher ein Ideal zu sein als eine reale Praxis. Dennoch verdient die Idee von NoOps einige Anerkennung. Sie entspricht den Grundsätzen von DevOps und automatisiert so viel wie möglich bei der Entwicklung, der Bereitstellung und dem Betrieb von Code. Laut Deloitte war NoOps eine logische Entwicklung bei der Automatisierung von IT-Aufgaben und der Verlagerung von Aktivitäten vom Betrieb zur Entwicklung, wobei der Schwerpunkt auf den Geschäftsergebnissen liegt. Das ist nichts Neues . DevOps und vor allem Site Reliability Engineering (SRE) haben diese Prinzipien als Grundlage.


NoOps ist nicht dasselbe wie die automatisierte Bereitstellung von Infrastruktur.


Bei NoOps geht es um die automatisierte Verwaltung des gesamten Stacks - Anwendungen, Middleware , Datenbanken und Infrastruktur. In Bezug auf die Infrastruktur stützt sich das Konzept von NoOps auf Infrastrukturkomponenten, die kodiert und durch Code gesteuert werden können. Virtuelle Maschinen sind zwar eine Option, aber diese sind in Bezug auf die Automatisierung des Betriebs

nicht sehr flexibel. Container und insbesondere serverlose Lösungen sind logischer.


Wir können die Kodierung , die Bereitstellung der Infrastruktur, die Bereitstellung von APIs und Konfiguration automatisieren. Wir können Technologien hinzufügen, die Probleme und Anomalien schnell erkennen, und vielleicht sogar Systeme einsetzen, die diese automatisch auf der Grundlage vordefinierter Richtlinien beheben. Vielleicht können wir eine Anwendung vollständig automatisieren, aber die Realität ist, dass die heutige Unternehmens-IT aus komplexen Ökosystemen innerhalb und außerhalb des Unternehmens besteht. Das macht es schwer , wenn nicht gar unmöglich, NoOps in der Praxis wirklich umzusetzen. Im Gegenteil, der Betrieb wird immer komplexer. Andererseits geht es bei NoOps aber auch nicht darum, den Betrieb vollständig abzuschaffen.


NoOps sollte als Konzept und Leitfaden für die Nutzung von Automatisierung, Kosteneinsparungen und die Beschleunigung von Entwicklungen verstanden werden, während gleichzeitig die Systeme stabil und widerstandsfähig bleiben und nicht durch manuelle Betriebsabläufe behindert werden. NoOps hilft Architekten bei der Umsetzung von Shift-Links-Prinzipien, bei der Einbindung von KI in den Betrieb und bei der Automatisierung der IT.


Die Rolle der KI in NoOps verstehen


IT-Talente werden immer knapper, da die Marktnachfrage nach qualifizierten und ausgebildeten Ingenieuren mit hoher Geschwindigkeit steigt. Aufgrund dieser Knappheit steigen auch die Kosten für Personal. Um die Kosten niedrig zu halten und dennoch so agil wie möglich arbeiten zu können, müssen Unternehmensarchitekten nach anderen Möglichkeiten suchen, die IT zu betreiben.


Der Betrieb wird jedoch weiterhin benötigt. Wir brauchen Leute , die sich um die Systeme kümmern und dafür sorgen, dass diese Systeme stabil laufen. Das kann man nicht alles Maschinen überlassen. Aus diesem Grund ist es gut, die Definition von NoOps etwas einzugrenzen. Wir können NoOps als die Phase definieren, in der kein eigenes Personal mehr für die Verwaltung der IT benötigt wird. Dies wäre dann ein logischer Schritt in der Entwicklung von DevOps für Unternehmen, bei dem Teams in den Bereichen Entwicklung , Bereitstellung und Betrieb als Einheit arbeiten,


Es gibt zwei Dinge, die eine wichtige Rolle spielen , um dieses Stadium zu erreichen:



Einführung von Shift-Links: Mit automatisierten Vorlagen, vorab genehmigten Mustern und Prozessen können wir in einem frühen Entwickklungsstadium mit dem Testen beginnen und konsistenten, stabilen Code in den nächsten Phasen (einschließlich Produktion) bereitstellen. Dies wird mit Sicherheit zu weniger Arbeit für den Betrieb führen. Normalerweise legen die Betreiber fest, wie die Produktion überwacht wird, während die Entwickler dies in Sandboxen, Entwicklungs- und Testumgebungen selbst kontrollieren. Bei NoOps wird dies ganz an den Anfang des gesamten Zyklus verlagert - die DevOps wird dies ganz an den Anfang des gesamten Zyklus verlagert - die DevOps-Teams entscheiden, wie der Code getestet und überwacht wird. Das Team ist von Anfang bis Ende verantwortlch. Die Unterscheidung zwischen Betreibern und Entwicklern wird obsolet.


Künstliche Intelligenz und maschinelles Lernen: Wie wir bei AIOps gesehen haben, helfen KI und ML bei der schnellen Erkennung von Problemen und können sogar so trainiert werden, dass sie Empfehlungen geben oder Maßnahmen wie diese einleiten: - Automatisiertes Software-Lebenszyklus-Management: KI hilft dabei, zu erkennen, wann eine Software aktualisiert werden muss, und kümmert sich um den Aktualisierungsprozess, damit die auf der Software basierenden Dienste einsatzbereit und stabil bleiben.


Automatisierte Fehlerbehebung: KI kann automatische Aktionen auslösen, um Probleme zu beheben, noch bevor das Problem auftritt. Vorausschauende Wartung ist möglich- Selbstheilung: Wenn ein unerwartetes Problem auftritt, erkennt die KI es, weiß aus der Vergangenheit oder durch Lernen, wie es zu lösen ist, und wendet schließlich die Lösung an. Der Prozess der Problembehebung wird als Selbstheilung bezeichnet. Zu beachten ist , dass alle diese Aktionen - Lebenszyklusmanagement, Behebung und Heilung - protokolliert werden müssen, damit jede Änderung nachvollziehbar ist.


Wir haben nun über die Automatisierung in DevOps gesprochen, KI in DevOps eingeführt und auch die weitere Nutzung der Automatisierung in NoOps diskutiert. Die Grundlage für diese Automatisierungsebene ist die heuristische Automatisierung.


Schaffung einer Architektur für heuristische Automatisierung


Zunächst eine Definition des Begriffs “Heuristik“: Sie wir als Anwendung einer Lösung auf ein Problem bezeichnet, die nicht das Ziel hat, die optimale Lösung zu sein, sondern ausreicht, um das entdeckte unmittelbare Problem zu lösen. Versuch und Irrtum würden sicherlich dieser Definition entsprechen.


Einer seiner Grundsätze wird häufig in der Architektur bei der Anwendung von ML verwendet: Wein Sie keine Lösung haben, gehen Sie davon aus, dass Sie eine Lösung haben, und sehen Sie, was sie bewirkt. Behalten Sie die guten Dinge und analysieren Sie die Teile, die nicht gut funktioniert haben. Versuchen Sie die iterierte Lösung erneut und lernen Sie daraus. Dies ist die Grundlage der heuristischen Automatisierung. Sie nutzt heuristisches Lernen, das durch KI genutzt werden kann, die in der Lage ist, Muster zu erkennen und daraus zu lernen. Die KI nutzt Algorithmen und Automatisierung - sie lernt ständig und passt die Analysen an, bis zu dem Punkt an dem die Lösung optimiert ist.


Zunächst müssen wir das Prinzip des Lernens verstehen. KI und ML in der Automatisierung verwenden typischerweise Deduktion. Es gibt noch weitere Lernprinzipien, wie z.B. Induktion und Abduktion, die aber für das Ziel der Automatisierung keinen wirklichen Mehrwert bringen.




Prinzip der Deduktion in ML


Bei der Deduktion analysiert das System ein Ereignis, indem es beobachtet und mit früheren Erfahrungen, Beispielen und gängigen Theorien vergleicht. Auf der Grundlage dieser Analyse wird es zu einer Schlussfolgerung kommen. Eine Regelbasis sagt das System, was als nächstes zu tun ist. Natürlich ist diese Regelbasis dynamisch, da das System Dinge die es gelernt hat, der Regelbasis hinzufügen wird.


In diesem Sinne können wir die Komponenten für die heuristische Automatisierung definieren:


  • Ereignisquellen: Aggregieren von Daten aus Ereignissen in Systemen und Systemkomponenten.

  • Daten über Muster und Korrelationen: Repository mit bekannten Mustern und Korrelationen zwischen Systemen.

  • Analysemaschine: Algorithmen und Regeln, die Analysen und die Vorhersage von Ergebnissen ermöglichen.

  • Analyseprozesse: Die Prozesse, die dem System sagen, was zu tun ist, wenn Anomalien entdeckt werden, und welche Lösungen aus der Regelbasis angewendet werden sollen.

  • Dynamische Regelbasis: Mögliche Lösungen auf der Grundlage von Induktionsmustern. Dies ist ein dynamischer Prozess , da die Lösungen ständig verbessert werden. Auf der Grundlage der gewonnenen Erkenntnisse werden die Lösungen aktualisiert.

Die logische Architektur der heuristischen Automatisierung ist in der folgenden Abbildung dargestellt:


Abbildung - Logische Architektur für heuristische Automatisierung


Die heuristische Automatisierung ermöglicht es dem Unternehmen, Folgendes zu tun:



  • Identifizieren und lösen Sie Probleme ohne menschliches Eingreifen durch die automatische Analyse komplexer Systeme.

  • Erkennen, identifizieren und verstehen Sie die Beziehungen zwischen Systemen und sagen Sie die Auswirkungen von Problemen voraus.

  • Lösen Sie Probleme durch ML unter Verwendung verschiedener Datenquellen und Echtzeitanalysen.

Es ist nochmal zu betonen dass NoOps und heuristische Automatisierung keineswegs die Absicht haben, Bediener zu ersetzen. Sie werden Ihnen helfen, Probleme schneller zu lösen, und den Unternehmen zu stabileren udn widerstandsfähigeren Systemen verhelfen.


Festlegen des Fahrplans für NoOps


NoOps ist kein Vertauensvorschuss. Wie bei DevOps erfordert jeder nächste Schritt einen Plan und eine Roadmap. Mit den Grundsätzen der heuristischen Automatisierung können wir die Automatisierung für eine intelligente Automatisierung, die Zusmamenarbeit mit der Cloud-nativen Automatisierung und die automatisierte Anwendungsbereitstellung in CI/CD-Pipelines nutzen.


Der Endzustand ist eine prädiktive Automatisierung mit Hilfe von prädikativer Analytik, die aktuelle Daten analysiert, um schließlich Vorhersagen für die Zukunft zu treffen. Dazu gehören die folgenden Punkte:



  • Skalierung für künftige Anforderungen, z.B. durch Analyse der Softwarenutzung , Vorhersage der künftigen Nutzung und entsprechende Maßnahmen zur Skalierung der Systeme.

  • Vorhersage von Geschäftstrends und Vorbereitung von Systemen darauf, einschließlich der Vorbereitung von Code durch Sammlung und Analyse von Anforderungen.

  • Code-Vorschläge zur Verbesserung des Codes und zur Erfüllung voraussichtlicher künftiger Anforderungen


Die Einführung von NoOps erfordert sowohl die richtige Einstellung als auch die volle Unterstützung durch die Unternehmensleitung. Das Management muss lernen, der Automatisierung zu vertrauen. Nur wenn dieses Vertrauen vorhanden ist, wird es auch bereit sein, in die richtigen Tools zu investieren. Dies wird Zeit brauchen, und der Zeitplan muss realistisch sein, was sich auch in der Roadmap widerspiegelt. Seien Sie schließlich auf Rückschläge und Verzögerungen vorbereitet. Bei NoOps und vollständiger Automatisierung geht es mehr um die Akzeptanz als um die Technologie, und die Akzeptanz ist ein Prozess.


Die Frage , die sich daraus ergibt, lautet: Ist das sicher?

Können wir die IT wirklich der Automatisierung und KI überlassen? Wie sicher werden unsere Systeme dann sein? Wir müssen unsere DevOps-Strategie auf Sicherheitsstandards abstimmen, einschließlich branchenüblicher Sicherheitsrahmen und unternehmenseigener Sicherheitsrichtlinien. Diese müssen in DevOps eingebettet werden.

Dies ist die Domäne von DevSecOps.


Fazit:


In diesem Post habe ich über das Konzept von NoOps - no operations - diskutiert.


Wir haben festgestellt, dass der Begriff irreführend sein könnte, da NoOps nicht bedeutet, dass das Unternehmen überhaupt keinen Betrieb mehr benötigt. NoOps ist ein Konzept , das das Potenzial der Automatisierung voll ausschöpft. Durch die Automatisierung von Entwicklung, Bereitstellung und Betrieb können sich knappe IT-Ressourcen auf neue Funktionen konzentrieren, da NoOps sie dabei unterstützen, Probleme in IT-Systemen schnell zu erkennen und zu beheben. Wir haben gelernt, dass NoOps (Wie AIOps) KI und ML nutzt.


Wir haben auch gelernt dass NoOps eine bestimmte Art von Architektur für die heuristische Automatisierung erfordert: die Anwendung iterative Lösungen, das Lernen aus diesen Lösungen und die kontinuierliche Verbesserung derselben. Wir haben auch die verschiedenen Komponenten der heuristischen Automatisierung diskutiert . Im letzten Abschnitt haben wir eine mögliche Roadmap von DevOps zu NoOps untersucht. Wir sind zu dem Schluss gekommen, dass die Technologie bereits zur Verfügung steht, dass Unternehmen sie aber erst übernehmen müssen, um die vollständige Automatisierung und damit das Konzept von NoOps wirklich zu nutzen.

Im nächsten Teil der Reihe werden wir ein wichtiges Thema im Zusammenhang mit DevOps in Unternehmen untersuchen - die Sicherheit. In DevSecOps werden wir lernen , wie man Sicherheit mit DevOps integriert. ,

Zugehörige Post‘s:

Erster Teil:

Zweiter Teil: DevOps:


Dritter Teil: SRE


 
 
 

Aktuelle Beiträge

Alle ansehen
ServiceNow Integration

Es ist länger her wo ich das letzte mal am Lagerfeuer gesessen bin, jetzt bin ich wieder da und beschäftige mich mit Integration um...

 
 
 

Comments


Beitrag: Blog2_Post

©2023 Lagerfeuer. Erstellt mit Wix.com

bottom of page