Foto-Ruhrgebiet - stock.adobe.co

Ein Leitfaden für Netzwerk-APIs und ihre Anwendungsfälle

Eine API ermöglicht die Kommunikation zwischen zwei Anwendungen. Netzwerk-APIs sind für die Kommunikation zwischen der Netzwerkinfrastruktur, ihren Protokollen und Anwendungen da.

Eine Application Programming Interface (API) ist eine Schnittstelle, die es verschiedenen Anwendungen ermöglicht, über eine Reihe von Mechanismen und Protokollen miteinander zu kommunizieren. In ähnlicher Weise ermöglicht eine Netzwerk-API die Kommunikation zwischen dem Netzwerk und Anwendungen, Webbrowsern und Datenbanken.

Eine API, die die REST-Architektur (Representational State Transfer) verwendet, wird oft als RESTful API bezeichnet. Diese APIs werden häufig in Netzwerken verwendet. RESTful-APIs setzen HTTP-Methoden zur Erfassung und Bearbeitung von Daten ein, während HTTP-RESTful-APIs zur Interaktion mit Daten nutzt.

Rahmenwerke wie das OSI-Modell sorgen für eine Standardisierung der Art und Weise, wie Anwendungen und Geräte verschiedener Anbieter in einem Netzwerk miteinander kommunizieren. APIs verschiedener Anbieter können interagieren, da sie den Methoden und Frameworks für verschiedene Stack-Schichten folgen.

APIs und Datenbanken können auch Funktionen zum Erstellen, Lesen, Aktualisieren und Löschen (Create, Read, Update and Delete, CRUD) verwenden, um Daten zu speichern oder zu ändern. CRUD-Funktionen haben Ähnlichkeiten mit HTTP-Funktionen sind hier zu sehen:

CRUD-Funktion

HTTP-Funktion

Aktion

Anwendungsfall

CREATE

POST

Ein Netzwerk aus der Ferne konfigurieren

Hinzufügen eines virtuellen LANs (VLAN)

READ

GET

Netzwerkgeräte über Telemetrie auflisten

Geräte in einem Netzwerk aus der Ferne auflisten

UPDATE

PUT/PATCH

Ändern einer Netzwerkkonfiguration

Ändern eines VLAN-Namens

DELETE

DELETE

Ungenutzte VLANs löschen

Ein VLAN löschen

Anwendungsfälle für Netzwerk-APIs

Jahrzehntelang war die Kommandozeile (CLI) der De-facto-Standard in Netzwerken. Mit der Verbreitung intelligenter Geräte und großer Datenmengen wurden die Netzwerke immer größer und komplexer, was die Verwaltung auf globaler Ebene angeht. Die Kommandozeile  war jedoch nicht für diesen Umfang ausgelegt, was oft zu langwierigen Aufgaben und menschlichen Fehlern führte.

Netzwerk-APIs können Netzwerkingenieuren helfen, Netzwerke einfacher und mit weniger Fehlern zu verwalten. Außerdem unterstützen sie programmierbare Netzwerke, die Konzepte wie Automatisierung und Skripting einführen.

Häufige Anwendungsfälle für Netzwerk-APIs sind:

  • Action Batches
  • Telemetrie
  • Provisionierung

Anwendungsfall

Wann APIs verwenden

Warum

Action Batches

Sie müssen ein Software-Update für 1.000 Netzwerkgeräte bereitstellen. Verwenden Sie eine einzige API-Anfrage, um alles auf einmal zu erledigen.

Es ist mühsam, Geräte einzeln zu konfigurieren oder zu aktualisieren. APIs können dabei helfen.

Telemetrie

Sie müssen aktive Geräte aus der Ferne sehen können.

Das Verwenden einer API bietet eine einfache Möglichkeit, die Geräte anzuzeigen. Im Vergleich zur CLI können Sie die Ergebnisse mit erweiterten Funktionen filtern.

Provisionierung

Sie müssen manuelle Aufgaben, wie die Konfiguration von Ports oder Lastausgleichsrichtlinien, automatisieren.

Vermeiden langwieriger CLI-Aufgaben für komplexe Konfigurationen.

Bewährte Verfahren für die Verwendung von Netzwerk-APIs

APIs verändern die Arbeitsweise von Netzwerktechnikern. Leider sind APIs in einer Welt, in der Netzwerke programmierbar sind, auch anfällig für Cyberangriffe von Bedrohungsakteuren.

Netzwerk- und Sicherheitsteams können Ressourcen wie die Top-10-Liste des Open Web Application Security Project (OWASP) nutzen, um gängige Bedrohungen zu verstehen und bessere API-Praktiken wie sichere Kodierung zu ermöglichen.

Weitere bewährte API-Praktiken sind:

  • Senden und empfangen Sie Daten im JSON-Format.
  • Verwenden Sie keine Verben in URLs.
  • Denken Sie über die Versionierung von Uniform Resource Identifier nach.
  • Erwägen Sie Optionen zur Datenfilterung.
  • Prüfen Sie die OWASP Top 10 Schwachstellen.

API-Beispiele

Benutzer bemerken oft nicht, was passiert, wenn sie Geräte, Anwendungen und Plattformen verwenden, aber APIs sind für diese Interaktionen unerlässlich.

Hier sind einige bekannte Multivendor-APIs:

API

Definition

Anwendungsfall

RESTCONF

Ein HTTP-basiertes Protokoll, das eine programmatische Schnittstelle für den Zugriff auf in Yang definierte Daten bietet.

Ermöglicht einem Netzwerkadministrator den Zugriff auf verschiedene Netzwerkgeräte.

OpenFlow

Ein herstellerübergreifender Standard für die Implementierung von Software-definierten Netzwerken in Netzwerkausrüstung.

Hilft bei Load Balancing, Routing, Topologieerkennung und anderen Aufgaben.

NETCONF and YANG API

Ein Management-Netzwerkprotokoll, das zur Verwaltung von Netzwerkgeräten verwendet wird.

Ändert Konfigurationen, löscht und ermittelt den Status von Netzwerkgeräten.

Der beste Weg für Admins, APIs zu verstehen, besteht darin, zu bewerten, wie sie das Management von Netzwerken verbessern und durch die verschiedenen Herausforderungen zu lernen. Admins können verschiedene Tools verwenden, um mit Netzwerk-APIs zu interagieren, zum Beispiel:

  • cURL: Ein Befehlszeilen-Tool, das Entwickler verwenden, um Daten zu und von einem Server zu übertragen.
  • Postman: Eine API-Plattform für das Entwickeln und Verwenden von APIs.
  • Visual Studio Code (VS Code): Einer der fortschrittlichsten Code-Editoren der Welt. Netzwerktechniker können VS Code verwenden, um Code zur Automatisierung täglicher Routineaufgaben zu schreiben oder fortschrittliche benutzerdefinierte Skripte zur Interaktion mit Netzwerk-APIs zu erstellen.

Programmierbarkeit verändert das Netzwerk

Das Netzwerk ist jetzt programmierbar, und die Fähigkeit zu programmieren ist eine hilfreiche Fähigkeit für Netzwerktechniker. Netzwerk-APIs sind die neue CLI geworden. Diejenigen, die den Wandel zur Automatisierung annehmen, werden in der sich wandelnden Technologiebranche erfolgreich sein. Die Vernachlässigung dieser Chance könnte dazu führen, dass Netzwerktechniker in Unternehmen irrelevant werden.

Die Automatisierung ist kein Ersatz für die Netzwerkarbeit, aber sie bietet die Möglichkeit, Dinge besser und schneller zu erledigen in einer Welt, in der Flexibilität der Schlüssel zum Erfolg ist.

Erfahren Sie mehr über IT-Berufe und Weiterbildung

ComputerWeekly.de
Close