Was ist ein NRE?

Was ist ein NRE?

Ein Network Reliability Engineer (NRE) ist eine Rolle im IT-Betrieb, die einen technischen Ansatz zur Messung und Automatisierung der Zuverlässigkeit des Netzwerks anwendet, um die Service-Level-Ziele, Vereinbarungen und Ziele der IT-Organisation und des Unternehmens in Einklang zu bringen. Die Anwendung von NRE wird als Network Reliability Engineering bezeichnet.

Was macht ein Network Reliability Engineer?

Netzbetreiber werden sich der zunehmenden Verbreitung der Netzautomatisierungstechnologie bewusst, doch die Konzentration auf Tools hat in Netzwerken hauptsächlich zu einer geringfügigen Zunahme automatisierter Arbeitsabläufe geführt. Der Fokus von NRE auf die Entwicklung steht im Gegensatz zum traditionellen Ansatz. Es kombiniert die Aufgaben eines Softwareentwicklers (Erstellen, Testen, Bereitstellen und Betreiben) mit denen eines Site Reliability Engineers (SRE) (Implementieren von DevOps). NREs implementieren Prinzipien und Verhaltensweisen von DevNetOps, um eine Netzwerk-Pipeline aufzubauen.

Während ein Teil der Arbeit eines NRE Aufgaben des Betriebs wie etwa die Durchführung von Upgrades, Audits, Änderungsanfragen und die Vorfallsreaktion umfasst, liegt ihr Hauptaugenmerk auf:

  • Aufbau und Bereitstellung des Netzwerks auf einer DevNetOps-Pipeline
  • Automatisierung der Management der Netzwerkdynamik
  • Integration von Systemen
  • Automatisierung von Workflows
  • Eliminierung mühsamer Aufgaben
  • Automatisierte Fehlersuche durch proaktives Testen
  • Aufbau von Zuverlässigkeit durch automatische Reaktion
  • Abstimmung für Fehlerbudgets und Service Level
    Objectives

Network Reliability Engineering – Verhaltensweisen

Verhaltensweisen

Beschreibung

Kodifizieren

Beginnend mit dem Erwerb von Netzwerksoft- und -hardwaresystemen (allgemein als Tag 0 bezeichnet), kodifiziert ein NRE Netzwerksoftwareartefakte, -geheimnisse und -konfiguration ähnlich wie ein Softwareentwickler in Quellcode-Repositorys.

Automatisieren

Mithilfe einer DevNetOps-Pipeline automatisiert ein NRE die Integration von Tests und reproduzierbaren, versionierten Bereitstellungen. Über die erste Bereitstellung und Aktualisierung hinaus nutzt ein NRE diese Pipeline auch für die Entwicklung von Zuverlässigkeit im Produktivbetrieb, Skalierbarkeit, Effizienzoptimierungen, dynamische Bereitstellung von Netzwerkressourcen für seine Kunden sowie Systemintegration.

Testen

Durch die Automatisierung von Entwicklung, Stresstests und Chaos Engineering stellt ein NRE sicher, dass die Lieferungen zuverlässig genug sind, um Servicestufen-Ziele und -Vereinbarungen zu erfüllen.

Überwachen

Ein NRE überwacht Servicestufen-Anzeigen sowohl manuell als auch automatisch mit Analysen, die automatische Reaktionen und Warnungen bei anomalen und statistisch relevanten Ereignissen auslösen. Protokolle und Telemetrie werden gesammelt und analysiert, um Erkenntnisse über die Effizienz zu gewinnen, den Kapazitätsbedarf zu planen und die Kapazität der elastischen Cloud-Netzwerkinfrastruktur zu automatisieren.

Messen

Schließlich legt die NRE-Kultur Wert auf Wahrheit und Visibilität und verwendet Indikatoren wie MTBF und MTTR, um ihre Wirksamkeit bei der Erreichung von Zuverlässigkeitszielen zu messen.

Vorteile von Network Reliability Engineering

Zuverlässigkeit ist der wichtigste Wert für NRE! Während die Geschwindigkeit des technologischen Fortschritts und die Beschleunigung der Geschäftsabläufe wichtige Wirtschaftsfaktoren sind, sind sie ohne eine zuverlässige Grundlage nutzlos. Da DevNetOps-Prinzipien den Schwerpunkt auf Entwicklung und Geschwindigkeit durch kleine inkrementelle Änderungen legen, sind Geschwindigkeit und Agilität einer evolutionären Architektur oft willkommene Nebenerscheinungen.

NREs entwickeln ein gründliches Verständnis dafür, wie das Netzwerk unter Druck beeinträchtigt wird und versagt, was die Gelegenheit bietet, die Vorfallsreaktion zu automatisieren und zu dokumentieren. Dies fördert einen proaktiven Ansatz zur Vermeidung von Produktionsausfällen.

Im Hinblick auf einzelne Ressourcen geben NREs geringere Sorge um Bereitstellungen und eine höhere Arbeitszufriedenheit an.

Insgesamt sorgen NREs für mehr Einfachheit bei Betrieb und Management. Im Netzwerkbetrieb muss eine Vielzahl von Variablen gesteuert, gesichert und überprüft werden, was enorme Komplexität verursacht. NREs lösen diese Komplexität mit einer gut kodifizierten, zuverlässigen Informationsquelle und einer automatischen Reaktion, die zu einem selbststeuerndem Netzwerk führt.

Was ist die Beziehung zwischen NRE, SDN und NFV?

Sie können Network Reliability Engineering gleichermaßen für die Vernetzung von Hard- und Softwaresystemen nutzen. Die Nutzung von NRE für rein softwaredefinierte Netzwerke (SDN) (entweder NFV (Network Functions Virtualization) oder SDN in der Cloud) ist einfacher zu simulieren und zu testen – Netzwerk-Hardware-Labors oder virtuelle Labors sind nicht erforderlich. NREs können die SDN-Steuerung von Hardware auch einfacher implementieren, da SDN-Systeme die Steuerung und Konfiguration ganzer Netzwerkarchitekturen in ihrer jeweiligen Domäne automatisieren und abstrahieren, sodass NREs bei vorhandenen SDN-Systemen nicht „das Rad neu erfinden“ müssen.

Weil es keine fehlerfreien Systeme gibt, ist die Arbeit eines NRE nie getan. Ähnlich wie bei der SRE- und DevOps-Kultur wird auch bei der NRE- und DevNetOps-Kultur Wert darauf gelegt, Fehler zu tolerieren, die zu schnellen Korrekturen und neuen Erkenntnissen führen. Kontinuierliche Verbesserung oder kaizen (ein japanisches Wort für „Veränderung zum Guten“) bedeutet nicht, im Gleichgewicht zu sein, sondern das Gleichgewicht wiederherzustellen. Und nur, wenn man erst versagen darf, kann man dann etwas wieder herstellen. 1Untersuchungen in vielen Bereichen zeigen, dass dieser Ansatz zu besseren Ergebnissen führt. Dementsprechend zielen NREs auf Evolution, nicht auf Perfektion ab. Bei der Aufteilung der Zeit zwischen Entwicklung und Betrieb sind NREs gut über Fehler informiert, zeichnen Lektionen auf und integrieren laufend Verbesserungen in die Tools und automatisierten Prozesse.