Schnittstellen-Design

Wie Sie teure API-Fehler vermeiden

12.02.2024
Von 

David Linthicum ist ein US-amerikanischer Technologieexperte und Buchautor. Zu seinen Schwerpunktthemen gehören unter anderem Cloud Computing, SOA, Enterprise Application Integration und Enterprise Architecture.

Schlecht konzipierte und entwickelte Cloud-APIs sind problematisch. Das können Sie tun, um Latenzzeiten zu minimieren.
Unzureichendes API-Design kann für lange Gesichter sorgen und GenAI-infusionierte Betriebsamkeit verhindern.
Unzureichendes API-Design kann für lange Gesichter sorgen und GenAI-infusionierte Betriebsamkeit verhindern.
Foto: Kaleo | shutterstock.com

Stellen Sie sich vor es ist Freitagmorgen und Sie sehen aufgeregt der Inbetriebnahme Ihres neuen, generativen KI-Systems entgegen (das in der Public Cloud eines Hyperscalers läuft). Das soll heute in die E-Commerce-Systeme des Unternehmens - die für 80 Prozent der Einnahmen verantwortlich sind - integriert werden. Das Ziel: mehr Umsatz generieren und gleichzeitig die Online-Kunden besser verstehen.

Dazu kommunizieren die E-Commerce-Systeme mit dem Generative-AI-System über verschiedene Schnittstellen (APIs). Diese ermöglichen es den Anwendungen, über das GenAI-System Daten anzufordern. Soweit, so gut. Mit einer wachsenden Zahl von E-Commerce-Nutzern - und der damit verbundenen Belastung für die APIs - bricht die System-Performance schließlich ein. So stark, dass die Verbindung zum GenAI-System wieder gekappt werden muss.

Szenarien wie diese sind keine Seltenheit: Die Systeme mögen gut konzipiert sein, den APIs kommt allerdings zu wenig Aufmerksamkeit zu. Das kann zu Problemen führen, insbesondere in den Bereichen:

  • Performance,

  • Skalierung und

  • Latenz.

Diese Probleme werden dann oft kaschiert, indem zusätzliche Ressourcen angeschafft werden, etwa weitere Serverinstanzen. Das mag zunächst funktionieren - kostet aber auch Geld und befreit nicht von der Notwendigkeit, schlechte APIs zu fixen.

Die Wurzel des Schnittstellen-Übels

Wenn Schnittstellen nicht wie geplant funktionieren, liegt die Wurzel des Übels in den allermeisten Fällen in ihrem Design, bei dem verschiedene Aspekte berücksichtigt werden sollten. Zu den wichtigsten Grundlagen eines guten API-Designs gehören:

  • Skalierbarkeit: Schnittstellen sollten so gestaltet sein, dass sie steigenden Anforderungen gerecht werden können, ohne dabei an Leistung einzubüßen. Ein paar Tipps für Anwender: Implementieren Sie Caching-Strategien und Load Balancer und stellen Sie sicher, dass die zugrundeliegende Architektur in der Lage ist, dynamisch Ressourcen zuzuweisen.

  • Modularität: APIs sollten als modulare Services aufgebaut werden. Das ermöglicht es, die einzelnen Komponenten unabhängig voneinander zu entwickeln, bereitzustellen und zu skalieren. Das Resultat sind weniger Komplexität, ein verbesserte Wartbarkeit und eine höhere Chance darauf, dass Code wiederverwendet werden kann.

  • Statelessness: Die "Zustandslosigkeit" steht im Einklang mit den RESTful-Prinzipien. Soll heißen: APIs sollten keine Daten zwischen Anfragen speichern. Die Statelessness optimiert Skalierbarkeit und Zuverlässigkeit, da die Server innerhalb des Clusters jede Anfrage unabhängig voneinander bearbeiten können.

  • Effiziente Datenverarbeitung: Die Größe der Datenpakete, die an den Nutzer zurückgesendet werden, wird optimiert. Wenn API-Antworten keine unnötigen Daten enthalten, sinken die Latenzzeit und die benötigte Bandbreiten.

3 Maßnahmen für API-Performanz

Ein großes Problem ist in diesem Zusammenhang häufig, dass diejenigen, die die APIs entwickeln und bereitstellen, wenig bis gar keine Ahnung davon haben, wie sich die Schnittstellen bei unterschiedlichen Belastungen verhalten. Die einzige Möglichkeit, das herauszufinden: Monitoring, Testing und der Einsatz von (Leistungs-)Metriken. Wir empfehlen Ihnen:

  • Überwachen Sie die API-Latenz kontinuierlich, also die Zeit, die eine Anfrage für den Weg vom Client zum Server benötigt - und wie lange es dauert, die Antwort an den Client zu senden.

  • Messen Sie den Durchsatz, also die Anzahl der in einem bestimmten Zeitraum erfolgreich übermittelten Nachrichten. So ermitteln Sie die Kapazität der API.

  • Beobachten Sie API-Fehlerraten, um etwaige Zuverlässigkeitsprobleme vorab zu entschärfen. Erhöhte Fehlerraten sind ein Hinweis darauf, dass etwas nicht in Ordnung ist - und korrigiert werden muss.

(fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.