Techniken, um die Kontrolle über die widerspenstige API-Ausbreitung zu erlangen
HeimHeim > Nachricht > Techniken, um die Kontrolle über die widerspenstige API-Ausbreitung zu erlangen

Techniken, um die Kontrolle über die widerspenstige API-Ausbreitung zu erlangen

Aug 21, 2023

Getty Images

Wenn ein großes API-Portfolio nicht kontrolliert wird, kann es schnell zu einem großen Problem – und einer kostspieligen Belastung – für Unternehmen werden. Ohne eine klar definierte API-Strategie und Standardisierung können Anwendungen leicht außer Kontrolle geraten und zu einer unkontrollierten Ausbreitung der API führen.

Wenn eine API-Ausbreitung auftritt, können sich Ineffizienzen wie doppelter Entwicklungsaufwand für redundante Anwendungsfunktionen einschleichen, was höhere Investitionen in die Wartung erfordert und die Komplexität des Systems erhöht. Die Notwendigkeit der Abwärtskompatibilität kann für viele Verbraucher äußerst komplex und teuer sein. Mehrere Wahrheitsquellen können auch zu Datenkonflikten führen, was zu schlechten Erfahrungen und Unklarheiten führt, die die Akzeptanz verringern können.

In diesem Artikel untersuchen wir einige übergreifende Strategien, die Softwareteams implementieren können, um eine API-Ausuferung zu verhindern oder bei Bedarf die Kontrolle über ein bereits schlecht verwaltetes API-Portfolio zurückzugewinnen.

Die Bewältigung einer unkontrollierten Verbreitung von APIs erfordert gezielte Anstrengungen der Softwareteams, um sicherzustellen, dass sie die Gesamtkomplexität, die Kosten für Änderungen und die Notfallwartung auf ein Minimum beschränken können.

Die Bekämpfung der API-Ausbreitung beginnt mit der Bestimmung des Gesamtauswirkungsumfangs einer API auf den Betrieb und den Ressourcenverbrauch. APIs können häufig mit Softwareeinheiten sowohl innerhalb als auch außerhalb der Organisationsgrenzen interagieren. Der Wirkungsbereich der APIs ist häufig begrenzt, wenn die Verbraucher, ob intern oder extern, explizit in sie integriert werden.

Öffentlich verfügbare APIs können einen deutlich höheren Grad an Verwaltungskomplexität darstellen. Zusätzlich zur Klassifizierung nach Wirkungsbereich – der eine beliebige Anzahl von Komponenten und Endpunkten umfassen kann, die außerhalb der Kontrolle der Organisation liegen – kann eine einzelne öffentliche API oft mehrere Datenformate, Sicherheitsstandards und Kommunikationsprotokolle verkörpern. Daher ist es unbedingt erforderlich, das Ausmaß der Fragmentierung während der Vertrags- und Protokollimplementierung zu ermitteln.

Manchmal müssen APIs im Laufe ihres Lebenszyklus zwischen Systemen migriert werden. Um einen reibungslosen Übergang zu ermöglichen, müssen Softwareteams die APIs vor der Migration vorbereiten, um sicherzustellen, dass sie ihren gewünschten Zustand beibehalten. Um Übergangsprobleme zu reduzieren, kann es auch erforderlich sein, die Migration so zu kalibrieren, dass APIs langsam im Laufe der Zeit und nicht in großen Mengen migriert werden. Es gibt einige grundlegende API-Versionierungstechniken, die in dieser Hinsicht nützlich sein können, z. B. die Möglichkeit für Verbraucher, auf neuere Versionen zu migrieren, während die älteren Verträge veraltet sind. Teams können außerdem zugängliche Bibliotheken für gängige Laufzeiten erstellen, Kompatibilitätsebenen für neuere APIs erstellen oder verbraucherspezifische Funktionsflags hinzufügen, um eine nahtlose Migration zu unterstützen.

Sobald die bestehende Landschaft und ihre Auswirkungen gut verstanden sind, sollten sich die nachfolgenden Schritte auf die Konvergenz bestehender Standards konzentrieren. Diese Phase kann in drei „Unterschritte“ unterteilt werden, die wir weiter unten besprechen.

Teams müssen die API-Nutzung in allen Umgebungen regelmäßig messen und analysieren. Bereiche, in denen keine oder nur geringe Kontrolle über API-Konsumenten besteht, erfordern möglicherweise die Unterstützung von API-Verwaltungstools oder Plattformen, die Funktionen wie Mocking unterstützen. Identifizieren Sie Kernbereiche, kritische Funktionen und alle vorhandenen API-Formate.

APIs in großen, nicht verwalteten Portfolios können häufig redundante Verhaltensweisen aufweisen, die zu doppelten Informationsquellen und Entwicklungsaufwänden führen. Es ist wichtig, die Quellen zu verdeutlichen, indem strenge Domänengrenzen für API-Klassifizierungen und, was vielleicht noch wichtiger ist, Verwaltungsverantwortlichkeiten gezogen werden. Dies erfordert möglicherweise die Erstellung neuer APIs, bei denen es sich um „konsolidierte Versionen“ älterer APIs handelt, die Abschaffung vorhandener APIs, die als überflüssig gelten, oder einfach die Aktualisierung der Verträge bestehender APIs, um deren Umfang einzuschränken.

Sobald die funktionale Konsolidierung erfolgt ist, ist es wichtig, endgültige Konventionen zu etablieren, die auf die Bedürfnisse und Ziele des Unternehmens abgestimmt sind und letztendlich den Weg für Übergänge und neue Entwicklungen vorgeben. Die Dokumentation und Darstellung dieser Beziehungen wird einen großen Beitrag zur Schaffung eines breiteren Konsenses über Dinge wie Vertragsstrukturen und zugrunde liegende Protokolle leisten.

Um sicherzustellen, dass eine API-Ausuferung nicht den gesamten Geschäftsbetrieb zum Stillstand bringt, ist es unbedingt erforderlich, Leitungsgremien einzurichten, die alle Aktualisierungen der gesamten API-Strategie und Funktionslandschaft prüfen, bevor sie veröffentlicht werden. Diese Überprüfung sollte alle Konventionen oder Ausnahmen umfassen, die für alle API-Schnittstellen gelten.

Eine solide API-Management-Plattform kann die nötige Unterstützung bieten, um frühzeitig Governance-Standards zu konsolidieren und zu etablieren. Es lohnt sich, APIs zu studieren und von ihnen zu lernen, die öffentlich verfügbar sind, in großem Maßstab funktionieren und sorgfältig entworfen und verwaltet werden (die Stripe-API-Referenz ist ein gutes Beispiel dafür). Aus Tooling-Sicht sind Kong und Tyk zwei beliebte Open-Source-API-Verwaltungsplattformen, die über einen erweiterbaren Katalog von Plugins für API-Analyse- und Konsolidierungsfunktionen verfügen.