Es wird erwartet, dass der API-Markt von 4,1 Milliarden Dollar im Jahr 2021 auf 8,14 Milliarden Dollar im Jahr 2027 ansteigen wird. Dieses massive Wachstum zeigt, wie stark die API-Nutzung - sowohl intern als auch extern - zunimmt.
Diese Zunahme der API-Nutzung bringt auch Herausforderungen für die API-Verwaltung mit sich. Unternehmen haben interne APIs, externe APIs und Drittanbieter-APIs gleichzeitig im Einsatz. Sie müssen neue APIs erstellen und beschaffen, aktuelle APIs aktualisieren und veraltete APIs ausmustern. Damit die API-Nutzung effizient ist, muss es eine Strategie zur Verwaltung aller APIs geben. Deshalb brauchen Sie eine API-Lebenszyklusverwaltung. Die API-Lebenszyklusverwaltung besteht aus einer Reihe von Prozessen, die Entwicklern dabei helfen, APIs von der Planungsphase bis zur letzten Phase, in der eine API stillgelegt wird, zu organisieren.
Für eine effektive API-Verwaltung sollten Sie die Regeln für jede Phase definieren und ein API-Gateway, ein Entwicklerportal und ein Dashboard verwenden, um alle Ihre APIs nahtlos zu verwalten.
Was sind die Stadien des Lebenszyklus einer API?
Es gibt keinen allgemeinen Konsens über die Gesamtzahl der Phasen im Lebenszyklus einer API. Einige unterteilen ihn in fünf, andere in drei, wieder andere in acht und so weiter. Ausgehend davon, wie oft APIs den Prozess des Wechsels von einem Zustand in einen anderen durchlaufen, haben wir den API-Lebenszyklus in die folgenden 10 Phasen unterteilt:
1. Planung
In der Planungsphase definiert der Entwickler den Grund für die Erstellung der API. Wenn Geschäftsinteressenten neue Merkmale und Funktionen für das Produkt fordern, sammelt das Entwicklerteam die Anforderungen und legt die Ziele für die API auf der Grundlage dieser Bedürfnisse fest.
Dies ist auch die Phase, in der die Entwickler mehrere Diagramme auf einem Whiteboard oder einer Skizzenanwendung erstellen, um zu visualisieren, wie die API funktionieren wird und wie sie sich in das API-Ökosystem einfügen wird.
2. Gestaltung von
In der Entwurfsphase wird die API-Architektur festgelegt. Dieser Schritt ist wichtig, weil derjenige, der die API entwirft, sie nicht unbedingt bauen wird. Der Entwurf muss standardisiert sein, damit er für alle im Team leicht verständlich ist.
Es gibt vier API-Architekturen:
- REST: Representational State Transfer, verwendet für Web- und mobile Anwendungen.
- SOAP: Simple Object Access Protocol, wird in Betriebssystemen verwendet.
- RPC: Remote Procedure Call, verwendet für verteilte Anwendungen.
- GraphQL: Graph Query Language, die in mobilen Anwendungen verwendet wird.
Von den vier Typen sind REST und SOAP die am häufigsten verwendeten.
Sie entwerfen REST-APIs unter Verwendung der OpenAPI-Spezifikation (OAS) - ein Format, das die API-Syntax und -Struktur beschreibt, unabhängig von der Programmiersprache, die zur Erstellung der API verwendet wird. Sie schreiben die Spezifikationen in YAML oder JSON und sorgen dafür, dass die API mit den Designrichtlinien des Unternehmens übereinstimmt.
Die Idee und die Prozesse bleiben dieselben für SOAP-APIs, aber anstelle von OpenAPI-Spezifikationen verwenden Sie Web Services Description Language (WSDL), eine XML-basierte Schnittstellenbeschreibungssprache, um die Spezifikationen der API zu schreiben.
3. Gebäude
In diesem Stadium weiß der Entwickler, der an der API arbeitet, was die API tun soll und wie sie funktionieren soll. Alle Informationen aus der Planungs- und Entwurfsphase sind dokumentiert und für die Person, die die App erstellt, zugänglich. In der Erstellungsphase schreiben die Entwickler den Code und erwecken die API zum Leben. Im Folgenden finden Sie einige der Standardaktivitäten, die in dieser Phase durchgeführt werden.
- Standardisierung der Antworten auf alle Arten von Anfragen, wie z.B. 202: Anfrage akzeptiert und 404: Ressource nicht gefunden.
- Erstellung des API-Endpunkts, d. h. der URL, unter der die API-Anforderungen empfangen werden.
- Angabe des Anfragetyps, den der Endpunkt empfangen kann, z. B. (GET, POST, PUT, PATCH, DELETE).
- Paginierung für GET-Anfragen, d.h. wenn die Suchanfrage 10.000 Ergebnisse liefert, zeigt die Schnittstelle Seite 1 von 100 an und zeigt die ersten 100 Ergebnisse an.
- Implementierung von Caching auf der Client-Seite für eine schnellere Leistung, da einige Ressourcen auf der Client-Seite zwischengespeichert werden können, um die Belastung des Servers zu verringern.
Sobald die API entwickelt ist, durchläuft sie den Testprozess, bei dem Tools wie SOAPUI und REST-assured für SOAP- bzw. REST-APIs verwendet werden.
4. Sicherstellung
Die Absicherung schließt sich eng an die Erstellungsphase an. In dieser Phase verschlüsseln die Entwickler die API-Endpunkte mit SSL-Zertifikaten. Dies hilft, Angriffe von Hackern zu verhindern, die versuchen, Namen von Servern, Frameworks, Versionen und andere sensible Informationen zu erlangen.
Benutzerauthentifizierung und -autorisierung sind durch OAuth 2.0 gesichert. Die Benutzerauthentifizierung wird noch wichtiger, wenn es um externe APIs geht. Denn jeder, der Zugriff auf die API hat, kann sie für einen Angriff auf das System nutzen. Mit geeigneten Authentifizierungsmethoden können nur autorisierte Personen Ihre API nutzen. Für öffentliche APIs und externe APIs werden Anfragelimits und Limits für die Anfragegröße definiert, um die API vor DDoS-Angriffen zu schützen.
5. Versionierung
Bei der Versionskontrolle nehmen Entwickler Änderungen an der API vor und erstellen eine neue, verbesserte Version davon. Die Versionierung ist erforderlich, weil Sie dies möglicherweise tun müssen:
- Einfügen eines neuen Datentyps, der als Antwort auf Anfragen zurückgegeben werden kann.
- Hinzufügen oder Entfernen von Anfrage- und Antworttypen.
- Weitere Endpunkte hinzufügen.
Nach der Einführung der neuen Version wird die alte Version allmählich zurückgebaut und ausgemustert.
In der Regel fügen die Entwickler die Versionsnummer der API in ihren URI-Pfad (Uniform Resource Identifier) ein. Der URI-Pfad wird verwendet, um die API zu identifizieren. Die Benennungskonvention verwendet zusätzlich zum URI das Format "MAJOR.MINOR.PATCH". Wenn eine API also 2.4.10 neben ihrem Namen hat, bedeutet dies, dass es sich um die zweite Hauptversion, die vierte Nebenversion der zweiten Version und den 10. In ähnlicher Weise ist 1.0.0 die erste Hauptversion und stabile Version einer API.
6. Veröffentlichung
Die Veröffentlichung einer API bedeutet, dass sie den Nutzern zur Verfügung gestellt wird. Diese Nutzer können bei internen APIs Ihre Teammitglieder, bei externen APIs Ihre Partner und Kunden oder bei öffentlichen APIs jeder auf der Welt sein. Wenn Sie die API veröffentlichen, gehen Sie mit der stabilen Version in den Echtbetrieb.
7. Katalogisierung
In dieser Phase fügen die Entwickler die API zum API-Katalog ihres Unternehmens hinzu - der Bibliothek für alle APIs in Ihrer Organisation. Der Katalog sollte auch die relevante Dokumentation aus den Phasen der Planung, des Entwurfs, der Erstellung, der Versionierung und anderen Phasen des API-Lebenszyklus enthalten.
Die Katalogisierung hilft bei der Zentralisierung und Organisation der API-Infrastruktur in Ihrem Unternehmen. Außerdem erleichtert es neuen Entwicklern die Arbeit mit APIs und die Erstellung neuer Versionen, da ihnen alle benötigten Hintergrundinformationen an einem Ort zur Verfügung stehen.
8. Beobachtung
Sobald eine API veröffentlicht ist und die Benutzer sie zu nutzen beginnen, richten die Entwickler eine Überwachung ein, um die Verfügbarkeit, Nutzung und Leistung im Auge zu behalten und sicherzustellen, dass sie wie vorgesehen funktioniert. Einige der Metriken, die zur Beobachtung der Leistung einer API verwendet werden, sind Betriebszeit, Ausfallzeit, eindeutige API-Kunden, Anfragen pro Minute und Fehler pro Minute.
Um API-Analysen zu verfolgen, können Sie entweder eine benutzerdefinierte Lösung erstellen oder Tools wie SnapLogic APIM verwenden.
9. Skalierung
Je mehr Personen Ihre API nutzen, desto mehr Ressourcen benötigt Ihr Server. Mit der zunehmenden Akzeptanz steigt auch die Anzahl der Anfragen und die CPU- und Speichernutzung. Um sicherzustellen, dass Ihre API eine größere Anzahl von Benutzeraufrufen bewältigen kann, können Sie eine vertikale Skalierung vornehmen, d. h. Sie können kontinuierlich mehr Arbeitsspeicher und schnellere Prozessoren hinzufügen. Die vertikale Skalierung kann jedoch mit der Zeit teuer werden, da Sie ständig neue Hardware kaufen müssen.
Die horizontale Skalierung ist eine bessere Alternative zur vertikalen Skalierung. Sie fügen neue Server hinzu, hosten Ihre API auf mehreren Servern und stellen durch Lastausgleich sicher, dass alle Server gleichmäßig in Bezug auf CPU- und Speichernutzung ausgelastet sind. Auf diese Weise bleiben die Kosten unter Kontrolle, da Sie nicht so häufig neue Hardware kaufen müssen, und Ihre Ressourcen werden effizient genutzt.
10. Ausscheiden
APIs werden in der Regel stillgelegt, wenn eine bessere Version verfügbar ist, wenn es Sicherheitsbedenken oder zu viele Fehler gibt oder wenn es einfach nicht sinnvoll ist, sie weiter zu verwenden. In jedem Fall sollte die Entscheidung, die API einzustellen, allen mitgeteilt werden, die die API verwenden. Bevor Google die Kontakte-API im Januar 2022 einstellte, kündigte es an, dass die API im September 2020 veraltet sein würde - so hatten die Nutzer mehr als ein Jahr Zeit, sich darauf einzustellen.
Eine ordnungsgemäße Versionierung hilft auch bei der Stilllegung einer API, da Sie Ihre Nutzer einfach auffordern können, auf die empfohlene Version umzusteigen, und ihnen dafür einige Monate Zeit geben können. Wenn Sie die Versionen ordnungsgemäß katalogisiert haben, können Sie jederzeit eine neue Version zurücksetzen und bei Bedarf zu einer älteren Version wechseln. Die Verfügbarkeit älterer, ausgemusterter Versionen für die Analyse kann auch bei der Behebung wiederkehrender Probleme mit verschiedenen Versionen der API helfen.
4 Tools für ein effektives API-Lebenszyklus-Management
Verwenden Sie die folgenden Tools, um sicherzustellen, dass Ihre APIs den Geschäfts- und Compliance-Anforderungen entsprechen und wiederverwendbar, zugänglich und konsistent sind.
1. Entwickler-Portal
Ein Entwicklerportal ist ein Repository mit Informationen für externe und interne Entwickler, die Ihre APIs nutzen. Betrachten Sie es als einen Selbstbedienungsspeicher für Daten und Anwendungen, der alle technischen Informationen über alle APIs in Ihrem Unternehmen enthält.
Ihr Entwicklerportal sollte eine API-Dokumentation und Anleitungen sowie ein Forum enthalten, in dem Entwickler Fragen stellen und an Diskussionen teilnehmen können.
- Die Dokumentation hilft bei allen zehn Phasen des API-Lebenszyklus. Jeder Entwickler, der Änderungen an einer API vornehmen muss, kann auf das Entwicklerportal zugreifen und alle erforderlichen Hintergrundinformationen erhalten.
- Ein Forum innerhalb des Portals hilft ihnen, sich mit anderen Entwicklern auszutauschen, die mit denselben oder ähnlichen APIs arbeiten. Für kleine Teams ist ein Forum möglicherweise nicht notwendig. Wenn Sie jedoch externe APIs anbieten und organisationsübergreifend Partner und Kunden haben, die diese APIs nutzen, kann ein Forum nützlich sein.
- Das Entwicklerportal sollte über einen zentralen API-Katalog verfügen, über den Ihre Entwickler auf alle Ihre aktuellen APIs zugreifen können. Wenn Sie Hunderte von internen APIs in der Produktion haben, hilft Ihnen ein API-Katalog, diese einfach zu verwalten.
In einigen Fällen haben externe Endnutzer nur Zugriff auf das Forum und die API-Definitionen. Diese Nutzer haben in der Regel die Möglichkeit, die API-Entwickler zu kontaktieren, wenn sie Probleme haben. Die API-Entwickler überwachen das Forum und beantworten die Fragen der Nutzer.
Sie können ein anpassbares Entwicklerportal wie Blobr verwenden oder ein eigenes Portal erstellen, das Sie bei der Katalogisierung und Dokumentation Ihrer APIs unterstützt.
2. API-Gateway
Ein API-Gateway ist ein Tool, das die Schnittstelle zum Endnutzer vom Backend der API entkoppelt. Es zerlegt einzelne Benutzeranfragen in mehrere Anfragen, sendet sie an die richtigen Systeme, sammelt Ressourcen auf der Grundlage der Anfrage und liefert die Antwort zurück. Das Gateway übernimmt auch die Benutzerauthentifizierung, Überwachung und Analyse sowie die Ratenbegrenzung. In Systemen mit hohem Volumen, in denen Hunderte, Tausende oder Zehntausende von Anfragen eingehen, ist es sinnvoll, die Verwaltung der Anfragen und die Verarbeitung der Anfragen zu entkoppeln.
Sie können ein oder zwei APIs ohne ein API-Gateway verwalten, aber bei mehreren APIs wird ein Gateway notwendig. Sie erhalten zusätzliche Sicherheit, da sensible API-Endpunkte nicht offengelegt werden. API-Gateways verwalten auch die Ratenbegrenzung, Benutzerauthentifizierung und -autorisierung sowie die Skalierung.
Ein API-Gateway ist auch nützlich, wenn das Team den DevOps-Ansatz, eine Microservices-Architektur oder ein serverloses Modell verwendet.
Im Rahmen des DevOps-Ansatzes werden ständig neue Versionen mehrerer APIs erstellt, getestet, bereitgestellt und überwacht. Jedes Mal, wenn eine neue Version bereitgestellt wird, muss auch die API-Definition, die sich im API-Gateway befindet, aktualisiert werden. Das Gateway aktualisiert die API-Definitionen automatisch, wenn neue Versionen bereitgestellt werden.
In einer Microservices-Architektur werden die Anwendungen als lose gekoppelte und unabhängig voneinander einsetzbare Gruppe von Diensten aufgebaut. Angenommen, ein Benutzer möchte vollständige Produktinformationen über ein Produkt aus einer Anwendung, die eine Microservices-Architektur verwendet. Seine Anfrage zum Abrufen dieser Informationen muss in mehrere Anfragen aufgeteilt werden, da die vollständigen Produktinformationen in einer Microservices-Architektur nicht an einem einzigen Ort gespeichert sind. Bei Systemen mit hohem Datenaufkommen, die kein API-Gateway verwenden, müssen die Entwickler eine benutzerdefinierte Lösung erstellen, um solche Anfragen aufzuteilen. Da API-Gateways eingehende Anfragen in kleinere Anfragen aufteilen, arbeiten Microservices-Architektur und API-Gateways gut zusammen.
Ein serverloses Modell oder eine serverlose Anwendungsarchitektur ist eine Möglichkeit, Anwendungen in der Cloud zu erstellen. Die Entwickler, die dieses Modell verwenden, verwalten die Server nicht; der Cloud-Anbieter richtet die Server ein und konfiguriert und skaliert sie nach Bedarf. API-Gateways arbeiten mit serverlosen Frameworks und können so konfiguriert werden, dass sie die Anfragelast ausgleichen, indem sie bestimmte Anfragen an bestimmte virtuelle Server leiten.
API-Gateways sind ein einziger Zugangspunkt für alle Benutzeranfragen und können daher ein Ausfallrisiko darstellen. Minimieren Sie dieses Risiko, indem Sie Ihr API-Gateway für einen Hochverfügbarkeits-Cluster konfigurieren. Hochverfügbarkeitscluster bestehen aus verteilten Datenspeichern und mehreren Instanzen des Gateway-Dienstes, die auf mehreren Servern ausgeführt werden. Je mehr Server Sie im Cluster haben, desto mehr verringern Sie das Risiko von Systemausfällen.
Sie können das SnapLogic-API-Gateway verwenden oder Ihr eigenes erstellen.
3. API-Dashboard
Ein API-Dashboard, in dem Sie die API-Nutzung und wichtige API-Kennzahlen einsehen können, hilft Ihnen, Probleme mit Ihren Live-APIs zu erkennen und proaktiv zu lösen.
Die Verfolgung von API-Leistungs- und Nutzungsmetriken wie Anfragen pro Minute (RPM), durchschnittliche und maximale Latenzzeit, Fehler pro Minute, Betriebszeit, CPU-Nutzung und Speichernutzung ist Teil der "Beobachtungsphase" des API-Lebenszyklus. Alle diese Daten sind auch ohne ein API-Dashboard Teil des API-Ökosystems. Die Daten sind weiterhin über das API-Gateway zugänglich. Um auf sie zuzugreifen, müssen Sie jedoch eine benutzerdefinierte Software erstellen, die die Daten vom Gateway abruft.
Ein API-Dashboard kann Ihnen helfen, die für Sie wichtigen Datenpunkte zu verfolgen, zu visualisieren und zu analysieren. Es macht auch den Zugang zu API-Metriken einfacher und benutzerfreundlicher. Im Idealfall sollte Ihr Dashboard Echtzeitdaten vom API-Gateway erhalten.
Nehmen wir das API-Dashboard der CRM-Plattform Zoho. Es hilft ihren Nutzern, ihre eigene API-Nutzung zu verfolgen. Dieses Dashboard ist zwar für Kunden gedacht, Sie können es aber auch für interne APIs oder private externe APIs verwenden, um für Sie wichtige Datenpunkte zu verfolgen.
Verwenden Sie Databox zur Erstellung eines benutzerdefinierten Dashboards oder erstellen Sie Ihr eigenes.
4. Verwenden Sie iPaaS-Plattformen, die das API-Lebenszyklusmanagement unterstützen
Die Integrationsplattform als Service (iPaaS) hilft bei der Integration Ihres gesamten Software-Ökosystems, so dass die in Ihrem Unternehmen generierten Daten gesichert und für die Analyse vorbereitet werden können. Alle Datenpipelines in Ihrem Unternehmen werden automatisiert und über die von Ihnen verwendete iPaaS-Plattform gesteuert. Ihre iPaaS-Strategie umfasst alle digitalen Assets, einschließlich Ihrer APIs. Anstatt verschiedene Tools für die Anwendungsintegration und die Verwaltung des API-Lebenszyklus zu verwenden, nutzen Sie eine Integrationsplattform, die alle zehn Phasen des API-Lebenszyklus unterstützt.
Sie müssen Ihre iPaaS-Strategie und Ihre Strategie für das API-Lebenszyklusmanagement jedoch immer noch getrennt voneinander entwickeln. Das liegt daran, dass iPaaS sich mehr auf die Prozessautomatisierung und Softwareintegration konzentriert, während sich das API-Lebenszyklusmanagement auf die Erstellung, Nutzung und Wartung von APIs konzentriert. Wenn Ihr iPaaS-Tool beides unterstützt, können Sie Integrationen und API-Lebenszyklusmanagement effizienter handhaben.
Transformieren Sie Ihr API-Lebenszyklus-Management mit SnapLogic
SnapLogic ist eine Low-Code/No-Code-Integrationsplattform und API-Verwaltungsplattform in einem. Sie können Integrationspipelines als REST-APIs erstellen, OpenAPI-Spezifikationen importieren und diese internen APIs zusammen mit externen und Drittanbieter-APIs verwalten, ohne die SnapLogic-Plattform zu verlassen. Unsere API-Verwaltungsplattform bietet eine vollständige Lösung für die Verwaltung des API-Lebenszyklus, mit der Sie Zugang zu API-Dashboards und einem Self-Service-API-Entwicklerportal erhalten und eine Überfrachtung mit Tools vermeiden können.
Nutzen Sie unsere All-in-One-Plattform, um die vollständige Kontrolle über jede Phase des API-Lebenszyklus zu erhalten, von der Planung bis zur Stilllegung. Weitere Informationen über die API-Management-Lösung von SnapLogic finden Sie hier.