Getty Images
Wie man die Kontrolle über API-Wildwuchs zurückgewinnt
Eine unzureichende Kontrolle über große Portfolios interner und externer APIs kann zu einem problematischen Wildwuchs führen. Wie Softwareteams dies verhindern.
Unkontrolliert kann ein großes Portfolio von APIs schnell zu einem 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 einem API-Wildwuchs führen.
Wenn es zu einem API-Wildwuchs kommt, können sich Ineffizienzen wie doppelter Entwicklungsaufwand für redundante Anwendungsfunktionen einschleichen, was höhere Investitionen für die Wartung erfordert und die Komplexität des Systems erhöht. Die Notwendigkeit der Abwärtskompatibilität für viele Verbraucher kann immens komplex und teuer sein. Multiple Sources of Truth können auch zu Datenkonflikten führen, was zu schlechten Erfahrungen und Unklarheiten führt, die die Akzeptanz verringern können.
In diesem Artikel gehen wir auf einige übergreifende Strategien ein, die Softwareteams anwenden können, um die Ausbreitung von APIs zu verhindern oder bei Bedarf die Kontrolle über ein bereits schlecht verwaltetes API-Portfolio zurückzugewinnen.
Beurteilen Sie das Ausmaß der Auswirkungen
Die Verwaltung einer unkontrollierten Ausbreitung von APIs erfordert gezielte Anstrengungen von Softwareteams, um sicherzustellen, dass sie die Gesamtkomplexität, die Kosten für Änderungen und die Notfallwartung auf ein Minimum beschränken können.
Der Kampf gegen den API-Wildwuchs beginnt mit der Bestimmung des Gesamtumfangs der Auswirkungen einer API auf den Betrieb und den Ressourcenverbrauch. Häufig können APIs mit Softwareeinheiten sowohl innerhalb als auch außerhalb der Unternehmensgrenzen interagieren. Der Einflussbereich der APIs ist oft begrenzt, wenn die Anwendungen, ob intern oder extern, explizit mit ihnen integriert sind.
Öffentlich verfügbare APIs können einen deutlich höheren Grad an Verwaltungskomplexität aufweisen. Neben der Klassifizierung nach dem Umfang der Auswirkungen – die eine beliebige Anzahl von Komponenten und Endpunkten außerhalb der Kontrolle des Unternehmens umfassen können – kann eine einzelne öffentliche API oft mehrere Datenformate, Sicherheitsstandards und Kommunikationsprotokolle umfassen. Daher ist es unerlässlich, das Ausmaß der Fragmentierung während der Vertrags- und Protokollimplementierung zu ermitteln.
Umgang mit APIs bei der Migration
Manchmal müssen APIs im Laufe ihres Lebenszyklus zwischen Systemen migriert werden. Um einen reibungslosen Übergang zu ermöglichen, müssen die Softwareteams die APIs vor der Migration vorbereiten, um sicherzustellen, dass sie ihren gewünschten Zustand beibehalten. Um Übergangsprobleme zu vermeiden, kann es auch erforderlich sein, die Migration so zu kalibrieren, dass die APIs im Laufe der Zeit langsam und nicht in großen Mengen migriert werden.
Es gibt einige grundlegende Techniken zur Versionierung von APIs, die sich in diesem Zusammenhang als nützlich erweisen können, zum Beispiel die Möglichkeit für Kunden, auf neuere Versionen zu migrieren, während die älteren Verträge veraltet sind. Teams können auch zugängliche Bibliotheken für beliebte Laufzeiten erstellen, Kompatibilitätsschichten für neuere APIs einrichten oder verbraucherspezifische Funktions-Flags hinzufügen, um eine nahtlose Migration zu unterstützen.
Bringen Sie funktionale Standards in Ordnung
Sobald die bestehende Landschaft und die Auswirkungen gut verstanden sind, sollten sich die nachfolgenden Schritte auf die Konvergenz der bestehenden Standards konzentrieren. Diese Phase kann in drei Teilschritte unterteilt werden, die wir im Folgenden erläutern.
Messen und Analysieren
Die Teams müssen die API-Nutzung in der gesamten Umgebung regelmäßig messen und analysieren. In Bereichen, in denen keine oder nur eine geringe Kontrolle über die API-Konsumenten besteht, benötigen Sie möglicherweise die Unterstützung von API-Verwaltungs-Tools oder Plattformen, die Funktionen wie Mocking unterstützen. Identifizieren Sie die wichtigsten Risikobereiche, kritische Funktionalitäten und alle vorhandenen API-Formate.
Funktionalität konsolidieren
APIs in großen, nicht verwalteten Portfolios weisen oft redundante Verhaltensweisen auf, die zu doppelten Informationsquellen und Entwicklungsaufwand führen. Es ist wichtig, die Quellen zu trennen, indem Sie klare Grenzen für die Klassifizierung von APIs und, was vielleicht noch wichtiger ist, für die Verwaltungszuständigkeiten ziehen. Dazu kann es erforderlich sein, neue APIs zu erstellen, die konsolidierte Versionen älterer APIs sind, bestehende APIs, die als überflüssig angesehen werden, zu verwerfen oder einfach die Verträge bestehender APIs zu aktualisieren, um ihren Anwendungsbereich einzugrenzen.
Standardisieren
Nach der funktionalen Konsolidierung ist es wichtig, endgültige Konventionen festzulegen, die mit den geschäftlichen Anforderungen und Zielen übereinstimmen, die letztendlich den Weg für Übergänge und neue Entwicklungen vorgeben. Die Dokumentation und grafische Darstellung dieser Beziehungen trägt wesentlich dazu bei, einen breiteren Konsens über Dinge wie Vertragsstrukturen und zugrunde liegende Protokolle zu erzielen.
Governance-Strukturen schaffen
Um sicherzustellen, dass ein API-Wildwuchs den gesamten Geschäftsbetrieb nicht zum Erliegen bringt, müssen Sie unbedingt Führungsgremien einrichten, die alle Aktualisierungen der gesamten API-Strategie und der funktionalen Landschaft überprü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-Managementplattform kann die notwendige Unterstützung bieten, um Governance-Standards frühzeitig zu konsolidieren und zu etablieren. Es lohnt sich, APIs zu studieren und von ihnen zu lernen, die öffentlich verfügbar sind, in großem Umfang funktionieren und mit Strenge entwickelt und verwaltet werden (die Stripe API Reference ist ein gutes Beispiel dafür). Was die Tools betrifft, so sind Kong und Tyk zwei beliebte Open-Source-Plattformen für das API-Management, die einen erweiterbaren Katalog von Plug-ins für die API-Analyse und Konsolidierungsfunktionen bieten.