Software in heutigen High-End-Netzwerken

Moderne High-End-Netzwerke basieren auf zwei zentralen Elementen: spezialisierter Hardware für die Paketweiterleitung auf der Data-Plane und spezialisierter Software auf der Control-Plane.

Die Software auf der Control-Plane ist der Dreh- und Angelpunkt des Systems; von hier wird die Data-Plane programmiert, um das volle Potential aller Netzwerkkomponenten auszuschöpfen. Dazu kommen diverse Protokolle und Routinen zum Einsatz, die sich bei einem High-End-Routing-System schnell mal zu hunderten Prozessen auf Betriebssystemebene und bis zu mehreren tausend Tabellen aufsummieren. 

Zudem ist die Control-Plane der primäre Andockpunkt, um Informationen mit den Systemen auszutauschen. Denn eine Komponente befindet sich im Live-Netz im ständigen Austausch – z.B. mit

  • anderen Netzwerkgeräten über Routing-Protokolle wie z.B. BGP, ISIS, OSPF, LDP, RSVP etc.
  • Orchestrierungssystemen über Protokolle wie NETCONF, REST-APIs etc.
  • SDN-Controllern über BGP-LS, PCEP etc.
  • dem Operator über SSH

Die hier aufgeführten Protokolle sind dabei nur ein kleiner Auszug dessen, was man auf einem Netzwerk-Betriebssystem (NOS) heutzutage so findet. 

Die Software auf der Control-Plane spielt also eine elementare Rolle im Netzwerkbetrieb. Umso wichtiger, dass sie auf dem neusten Stand gehalten wird. Denn nur so können z.B. Bugs in Bestands-Software und kritische Sicherheitslücken eliminiert oder neue Protokolle und Funktionen abgebildet, neue Hardware unterstützt oder der Support sichergestellt werden.

Betreiber hochperformanter Netzwerke wissen allerdings auch, dass die Einführung eines neuen Software-Pakets im Netzwerk nicht trivial ist. So muss vor einer Umsetzung genau geprüft werden, ob die neue Software bekannte Probleme behebt, neue Funktionen korrekt umsetzt und auch keine neuen Bugs in bereits genutzte Funktionen eingeführt.

 

Herausforderung Software-Update

Um das Risiko von Problemen im Netzwerkbetrieb durch die Einführung einer neuen Software zu minimieren, führen viele unserer Kunden daher intensive Software-Release-Tests durch. Dies kann je nach Komplexität der zu testeten Komponente(n) allerdings ein Prozess von Wochen oder sogar Monaten sein, so dass die Einführungszyklen neuer Software oftmals länger und länger werden. Ein Teufelskreis, denn durch die großen Abstände zwischen den Prüfzyklen laufen definiertes Testsetup und Live-Netz mehr und mehr auseinander, der testende Engineer muss sich erst wieder in das Testszenario einarbeiten und es u.U. um neue Test-Cases erweitern, so dass der jeder einzelne Testlauf noch aufwendiger wird. 

Aber nicht nur die Testdurchführung an sich, sondern auch die Planung und Dokumentation bedeuten enormen Aufwand. Üblicherweise werden hierzu Dokumente erstellt, um die Tests zu beschreiben und zu definieren. Dann werden sie dementsprechend durchgeführt und etwaige Abweichungen wiederum manuell dokumentiert. So entstehen insbesondere bei aufwendigen Tests oft Dokumente von mehreren hundert Seiten – die wohlgemerkt nicht nur aus reinem Selbstzweck erstellt werden, sondern für viele Netzbetreiber auch als Nachweis für Compliance-Vorgaben wichtig sind.

Alles in allem also ein Prozess, der nicht nur eine entsprechende Laborumgebung, sondern auch Zeit und Know-how der Mitarbeiter voraussetzt. So konnte Xantaro als Dienstleister im Netzwerkumfeld in den letzten Jahren einen steigenden Bedarf bei Kunden nach unseren Test-Services feststellen. Die Herausforderungen in der Qualifizierung neuer Software-Releases waren damit aber nicht verschwunden!

 

Ein neuer Ansatz zum Software-Test – von der Idee zur Lösung

Durch Übernahme von Test-Projekten für unsere Kunden waren immer wieder Engineers über längere Zeiträume gebunden. Zudem waren wir mit der Verzögerung zwischen Auswahl eines Software-Releases und Bereitstellung des Ergebnisses der Labortests unzufrieden. Ein neuer Ansatz musste her, der es ermöglichte, einen definierten Testplan schnell und akkurat durchführen zu können.

Es war klar, dass die Lösung nur Automatisierung sein konnte und unter Berücksichtigung unserer Erfahrungswerte folgende Anforderungen zur automatisierten Testdurchführung erfüllen sollte:

  • herstellerneutral bzw. -übergreifend
  • offen für die Einbindung externer Test-Tolls wie z.B. Ixia IxNetwork, TREX etc.
  • Definition der Test-Cases in Textdateien, um eine Versionierung mit git zu ermöglichen 
  • basierend auf bestehenden OpenSource-Tools, wo immer möglich
  • einfache Bedienung ohne tiefe Programmierkenntnisse
  • automatisierte Durchführung von Test-Routinen, Konfigurationsänderungen und Software-Updates
  • automatische Aufbereitung der Testergebnisse in PDF-Reports

So entstand nach Definition des Frameworks im Laufe einiger Monate Entwicklungsarbeit ein Tool, das heute in unserem XT3Lab ebenso wie in Laboren unserer Kunden zum Einsatz kommt: XFAST – Xantaro Fully Automated Software Testing.

 

XFAST – die Praxis zeigt die Vorteile der Software-Update-Automatisierung

Die wachsende Anzahl und Vielfalt der Testszenarien offenbart mehr und mehr das Potential der Lösung:

 

Aufwand – wenige Stunden statt mehrerer Tage

Beispielweise konnte im Rahmen unserer NextGen Data Center Solutions, wo XFAST kontinuierlich zur Auswahl stabiler und funktioneller Software eingesetzt wird, der Aufwand von fünf Arbeitstagen manuellem Software-Testing auf vier Stunden reduziert werden.

 

Genauigkeit – einfach mehr Details

Und auch in Punkto Genauigkeit liegen die Vorteile auf der Hand: Wo früher der zeitliche Aufwand den Testumfang einschränkte, können wir heute viel mehr und somit detaillierter testen – denn es spielt keine große Rolle, ob ein Testlauf noch kurz vor Feierabend angestoßen wird und über Nacht oder am Wochenende läuft und dabei vier, acht oder auch 24 Stunden dauert.

 

Testoptionen – auch Langzeittests sind möglich

Neben Funktionstests, die einen ersten Eindruck über ein neues Software-Release geben, sind also auch Langzeittests einfacher umsetzbar, welche konstant Ereignisse in der Testtopologie auslösen und die zu testenden Komponenten damit auch beschäftigen. So erweiterten wir im vergangenen Jahr beispielsweise ein Software-Release-Test für einen Kunden um eine Dauertestkomponente. In einer XFAST-Test-Suite definierten wir hierzu verschiedene Konvergenzereignisse in der Testtopologie, welche zwar nur eine Gesamtlaufzeit von einigen Minuten hatte, jedoch über vier Tage alle 15 Minuten durchgeführt wurde.

 

Ergebnisse – automatisierter Report, reproduzierbar bei neuen Releases

Am Ende meldete die XFAST-Test-Suite über 300 erfolgreiche Testläufe, aber auch Probleme bei einer einstelligen Anzahl. Die Analyse der XFAST-Reports mündete daraufhin in einem Ticket beim Hersteller, der die Problemfälle mit den von uns gelieferten Informationen nachstellen und in einem Service-Release lösen konnte, das dann schließlich in allen Fällen einen sauberen Testlauf erzielte.

 

Diese und weitere Beispiele aus der Praxis zeigen uns immer wieder die Vorteile von Automation. Es ist quasi egal, ob es um die Implementierung neuer Features und Systeme und deren Interoperabilität geht oder um Bug-Fixes und das Beseitigen von Sicherheitslücken – allein die Automatisierung des Testings von Software sorgt bereits für enorme Zeit- und Kostenersparnis und erhöhte Sicherheit insbesondere bei der Weiterentwicklung der immer komplexer werdenden Netzwerk-Szenarien.

 

 


Stehen auch Sie vor der Herausforderungen des nächsten Updates Ihrer Netzwerk-Software?
Fordern Sie uns und XFAST heraus – wir finden bestimmt eine Lösung!

Kontaktieren Sie uns über das nachfolgende Kontaktformular!

 

    FrauHerr

     

    Hier finden Sie alle Informationen zum Datenschutz.