Hallo allerseits! Freunde, am 21. Februar haben wir den Kurs
„Backend PHP Developer“ gestartet. Im Vorfeld des Starts des Kurses möchten wir Ihnen die Übersetzung eines interessanten Materials mitteilen. Viel Spaß beim Lesen!
Im Oktober haben wir auf der NGINX Conf 2018-Konferenz ein neues
API-Steuerungsmodul für den NGINX-Controller angekündigt. Mit diesem Produkt stärken wir unsere Position als das am häufigsten eingesetzte
API-Gateway der Branche. Millionen von Websites verwenden bereits NGINX Open Source und NGINX Plus, um den Datenverkehr zwischen Serveranwendungen und den von diesen Anwendungen bereitgestellten API-Verbrauchern sicher zu übertragen.

Die effiziente Bearbeitung von Client-Anforderungen ist jedoch nur ein Aspekt einer erfolgreichen API (wenn auch ein äußerst wichtiger). Sie müssen Ihre APIs auch während ihres gesamten Lebenszyklus verwalten, einschließlich der Definition und Veröffentlichung sowie des Schutzes und der Verwaltung des Datenverkehrs. Sie müssen Leistungsprobleme verfolgen und beheben, um die Kundenzufriedenheit sicherzustellen, und den Datenverkehr analysieren, um den Geschäftswert zu maximieren. Umfassendes API-Management ist für die schnelle Einführung und den anhaltenden Erfolg Ihrer APIs von entscheidender Bedeutung.
Das API-Management deckt den gesamten Lebenszyklus Ihrer APIs ab(In der Abbildung: von oben im Uhrzeigersinn - Definition und Veröffentlichung, Sicherheit, Verkehrsmanagement (API-Gateway), Kontinuierliche Überwachung und Unterstützung, Analyse des Zugriffs auf die API. Anpassung (Dev-Portal);
im Zentrum - API Management)
Wie bei vielen unserer Kunden stellen Sie möglicherweise fest, dass die überwucherten Konzepte und Begriffe der API-Lösungen ziemlich entmutigend sind. In diesem Blog diskutieren wir wichtige API-Konzepte und untersuchen die Beziehung der API-Verwaltung zu API-Gateways.
SchlüsselkonzepteDie Verwaltungs-API hat ihre eigenen Konzepte und Begriffe:
- Interne APIs - Interne APIs sind nur für andere Anwendungen (und deren Entwickler) im Unternehmen verfügbar, nicht jedoch für externe Benutzer. Interne APIs helfen beim Öffnen von Daten und fördern die Zusammenarbeit zwischen Funktionseinheiten im Unternehmen. Hier ein gutes Beispiel: Bevor Sie Kunden unterstützen, muss das technische Supportteam des Unternehmens feststellen, ob der Kunde einen gültigen Supportvertrag hat. Diese Informationen sind bereits in einem CRM-System (Enterprise Customer Relationship Management) wie Salesforce gespeichert. Anstatt Informationen in einer eigenen Datenbank zu duplizieren, ruft die Kundensupportanwendung die interne CRM-API auf.
- Externe APIs - Externe APIs stehen Benutzern außerhalb Ihres Unternehmens zur Verfügung. Sie bieten Tools zum Aufbau von Partnerschaften mit Drittentwicklern sowie Ihrem gesamten Geschäftsumfeld von Lieferanten, Händlern, Wiederverkäufern und sogar Kunden. Externe APIs ermöglichen es Unternehmen auch, mithilfe innovativer Geschäftsmodelle neue Einnahmequellen zu generieren. Google Maps sind ein gutes Beispiel. Viele Websites und Apps von Drittanbietern enthalten eine Google-Karte, mit deren Hilfe Endbenutzer den Standort eines Geschäfts bestimmen oder Wegbeschreibungen abrufen können. Der Zugriff auf die Karte für den Endbenutzer kostet nichts, aber nach einer bestimmten Anzahl von Klicks berechnet Google für jeden API-Aufruf eine Gebühr von der Website oder Anwendung.
- Definition und Veröffentlichung . API-Verwaltungslösungen bieten eine intuitive Benutzeroberfläche zum Definieren aussagekräftiger APIs, einschließlich des Basispfads (URL), der Ressourcen und der Endpunkte.
- Ressourcen sind für jede API-Definition von grundlegender Bedeutung. Sie sind eine Abstraktion von Informationen, über die die API Operationen ausführt. Beispiele für Ressourcen sind Dokumente und Kunden-IDs. Die API wird aufgerufen, um diese Informationen abzurufen.
- Endpunkte geben an, wo sich Ressourcen befinden. APIs haben eine Basis-URL, zu der Endpunktpfade hinzugefügt werden. Alle API-Endpunkte beziehen sich auf die Basis-URL.
- Am API-Endpunkt
https://app.enterprise.com/v1/inventory/
ist /v1
beispielsweise der Basispfad und /inventory
die Ressource. - Mit API-Verwaltungslösungen können API-Autoren APIs in einer Vielzahl von Umgebungen veröffentlichen, z. B. für die Produktion, das Testen oder die Vorbereitung. Dies stellt die Konsistenz für jede Umgebung sicher und verhindert Fehlkonfigurationen. Die Lösungen automatisieren auch die Erstellung neuer APIs und die Änderung bestehender APIs.
- API- Gateway - Wie bereits erwähnt, schützen API-Gateways den Datenverkehr zwischen Ihrem Backend und den Verbrauchern Ihrer APIs und stellen ihn bereit. Die Gateway-Funktionalität umfasst die Authentifizierung von API-Aufrufen, das Weiterleiten von Anforderungen an die entsprechenden Backends, die Anwendung von Geschwindigkeitsbegrenzungen, um eine Überlastung Ihrer Systeme zu verhindern oder DDoS-Angriffe zu verringern, das Auslagern von SSL / TLS-Verkehr, um die Leistung zu verbessern und Fehler und Ausnahmen zu behandeln.
- Microgateway - Viele Lösungen verfügen über eine zentralisierte, eng verwandte Datenebene (API-Gateway) und eine Steuerebene (API-Verwaltungstool). Alle API-Aufrufe müssen die Steuerebene durchlaufen, wodurch sich die Verzögerung erhöht. Das API-Gateway in diesem Architekturansatz ist ineffizient, wenn Datenverkehr in verteilten Umgebungen verarbeitet wird (z. B. Intra-Service-Datenverkehr in einer Microservice-Umgebung oder Verarbeitung von IoT-Datenverkehr zur Unterstützung der Echtzeitanalyse). Für das Verkehrsmanagement haben Anbieter veralteter Lösungen, wenn Verbraucher und API-Anbieter in unmittelbarer Nähe sind, eine zusätzliche Softwarekomponente eingeführt - ein Mikro-Gateway für die Verarbeitung von API-Aufrufen.
- API-Analyse - Wenn Ihre APIs immer beliebter werden, müssen Sie sicherstellen, dass sie Ihren Benutzern einen Mehrwert bieten und Ihre Geschäftsziele erfüllen. Hier wird die Analytik kritisch. API-Verwaltungslösungen bieten wichtige Einblicke durch Visualisierungen (wie Dashboards und Berichte) von Metriken und API-Nutzung und informieren Sie (als Beispiele) darüber, welche APIs häufiger oder seltener verwendet werden, wie sich der API-Verkehr im Laufe der Zeit ändert und welche Entwickler sind die besten API-Konsumenten. Mithilfe der API-Analyse kann ein Inhaber eines API-Geschäfts, manchmal auch als „API-Produktmanager“ bezeichnet, einen Einblick in die Leistung eines API-Programms erhalten.
- Analytics ist auch wichtig für die Fehlerbehebung. API-Verwaltungslösungen bieten ein tiefes Verständnis der Leistung für jede API. Mit diesen Metriken können Infrastruktur- und Betriebsteams Leistungs- und Sicherheitsprobleme verfolgen und beheben. Hier einige Beispiele für Fragen, die von einem Analysten beantwortet werden können:
- Wie ist der Status und die Verfügbarkeit aller meiner API-Gateway-Instanzen?
- Wann sehen wir Verlangsamungen für eine API?
- Wann treten HTTP-Fehler für eine API auf?
- Wie ist der Status und die Verfügbarkeit aller meiner Instanzen des API-Gateways?
- Wann beobachten wir Verlangsamungen für die API?
- Wann treten HTTP-Fehler für eine API auf?
- API-Sicherheit - Sicherheit ist ein kritischer Aspekt der API-Infrastruktur. Ohne zuverlässigen Schutz kann jeder auf Ihre Daten und APIs zugreifen und böswilliges Verhalten einführen, indem er eine Anfrage an eine unsichere API ruft. Die Sicherheits-API enthält die folgenden Elemente:
- Authentifizierung - Unter Authentifizierung versteht man den Prozess der zuverlässigen Ermittlung der Identität des Anrufers. API-Schlüssel sind ein Standardmechanismus zur Authentifizierung und Identifizierung von Abonnenten, die auf die API zugreifen möchten. API-Verwaltungslösungen bieten API-Anbietern eine Schnittstelle zum Generieren von API-Schlüsseln, die dann zur Verwendung in API-Aufrufen an Drittentwickler weitergegeben werden können. OAuth ist ein weit verbreiteter Authentifizierungsmechanismus.
- Autorisierung - Autorisierung bezieht sich auf den Prozess des Bestimmens, welche Berechtigungen oder Zugriffsebenen einem Benutzer gewährt werden. Eine Möglichkeit, Benutzer zu autorisieren, besteht in JSON Web Tokens (JWT). JWTs sind Zugriffstoken, die Ansprüche geltend machen (Ansprüche sind JWT-Terminologie für einzelne Berechtigungen). Beispielsweise kann eine von einer Clientanwendung präsentierte JWT eine Zusicherung enthalten, die den Zugriff auf eine bestimmte Ressource ermöglicht. Wenn die Clientanwendung versucht, auf andere Ressourcen zuzugreifen, wird ein HTTP 403 Forbidden-Fehler zurückgegeben. Der Fehler wird zurückgegeben.
- Rollenbasierte Zugriffssteuerung (RBAC) - RBAC bezieht sich auf die Definition von Benutzerrollen mit bestimmten Berechtigungen. Beispielsweise sind Mitarbeiter von Infrastructure & Operations im Allgemeinen nicht für die Erstellung und Veröffentlichung einer API verantwortlich, sondern nur für die Überwachung und Fehlerbehebung. Daher wird ihnen eine Rolle zugewiesen, die nur diese Berechtigungen besitzt. Ebenso wird nur dem API-Produktmanager eine Rolle zugewiesen, die Zugriff auf API-Analysen hat.
- Geschwindigkeitsbegrenzung - Geschwindigkeitsbegrenzung bezieht sich auf die Auferlegung einer Begrenzung der Anzahl von Anforderungen, die der anfordernde Agent über einen bestimmten Zeitraum stellen kann (z. B. 10.000 Anforderungen pro Sekunde). Geschwindigkeitsbegrenzungen verhindern eine Überlastung Ihrer Backend-Systeme und tragen zur Abwehr von DDoS-Angriffen bei. Die API-Verwaltungslösung bietet eine Schnittstelle zum Bestimmen der Geschwindigkeitsbegrenzungen, die das API-Gateway dann anwendet. Mit Geschwindigkeitsbegrenzungen können Sie auch mehrstufige Service-Levels anbieten (z. B. können Gold-Kunden 10.000 Anfragen pro Sekunde und Silver-Kunden 5.000 Anfragen stellen).
- Portal für Entwickler . Das Entwicklerportal ist eine Online-Site, auf der Sie Ressourcen veröffentlichen, mit denen Sie Ihre API-Konsumenten schnell anpassen können, z. B. einen externen API-Katalog, eine vollständige Dokumentation und Codebeispiele. Über das Entwicklerportal können Entwickler von Drittanbietern ihre Anwendungen registrieren und API-Schlüssel und JWTs erhalten. Einige Lösungen bieten auch einen Mechanismus für die Interaktion zwischen Entwicklern, die Ihre API verwenden. Ein gut gestaltetes Entwicklerportal ist entscheidend für den Erfolg Ihres API-Programms.
Verwalten der NGINX-API: Verwenden des branchenführenden API-GatewaysNGINX ist bereits das branchenweit am häufigsten verwendete
API-Gateway. In unserer kürzlich durchgeführten Umfrage gaben 40% unserer Kunden an, NGINX als API-Gateway zu verwenden.
Das neue
API-Verwaltungsmodul des kommenden NGINX-Controllers kombiniert die Leistung und Effizienz von NGINX Plus als API-Gateway mit der neuen Funktionalität auf Verwaltungsebene. Mit dem NGINX-Controller können Infrastructure & Operations- und DevOps-Teams die API definieren, veröffentlichen, schützen, verfolgen und analysieren und gleichzeitig die Kontrolle über die Entwicklung der API behalten. Umfassende Überwachung und Warnungen tragen dazu bei, die Verfügbarkeit, Leistung und Zuverlässigkeit von Anwendungen sicherzustellen. Der NGINX-Controller bietet eine detaillierte Ansicht der wichtigsten Messdaten, sodass Infrastrastructure & Operations- und DevOps-Teams zunächst Leistungsprobleme vermeiden und auftretende Probleme schnell beheben können.
Unser Ansatz zur Verwaltung von APIs unterscheidet sich von herkömmlichen Lösungen. Im Gegensatz zu diesen Lösungen erfordert das NGINX Plus-API-Gateway (Datenebene) keine permanente Verbindung zum NGINX-Controller (Steuerebene), sodass der API-Laufzeitverkehr vom Steuerverkehr isoliert ist. Der NGINX-Controller macht lokale Datenbanken oder zusätzliche Komponenten überflüssig, die zu unnötiger Komplexität, Verzögerung und Fehlerquellen für NGINX Plus-API-Gateways führen können. Dies maximiert die Leistung, indem die durchschnittliche Antwortzeit für die Bereitstellung eines API-Aufrufs reduziert und das Volumen und die Komplexität des Gateways minimiert werden. Wenn Sie die Datenebene von der Steuerebene trennen, können Sie so viele Instanzen des API-Gateways bereitstellen, wie Ihre Anwendungsarchitektur erfordert. Mit dem NGINX-Controller können Sie die richtige Bereitstellung für die internen und externen Anforderungen der API mit einer einfachen, einfachen und leistungsstarken Lösung auswählen, die die NGINX Plus-Datenebene voll ausnutzt.
Die NGINX-Technologie unterstützt die
Capital One- Entwicklerportale -
Devexchange . Dies ermöglichte es Capital One, seine Anwendungen auf 12 Milliarden Operationen pro Tag mit Spitzenwerten von 2 Millionen Operationen pro Sekunde mit Verzögerungen von nur 10 bis 30 Millisekunden zu skalieren. NGINX unterstützt auch das
Adobe- Portal für
Adobe I / O- Entwickler. Mit Adobe I / O können Entwickler mithilfe der API Anwendungen integrieren, erweitern und erstellen, die auf Adobe-Produkten und -Technologien basieren. Die Plattform verarbeitet Millionen von Anfragen pro Tag mit einer leichten Verzögerung.
Hier ist eine Übersetzung, wie gefällt es dir? Wir warten auf Ihre Kommentare und laden Sie traditionell zu
einer offenen Lektion ein , die am 11. Februar von unserem Lehrer
Igor Sakhankov abgehalten wird .