BLOG | NGINX

Adaptive Governance gibt API-Entwicklern die Autonomie, die sie brauchen

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Andrew Stiefel Miniaturbild
Andrew Stiefel
Veröffentlicht am 10. November 2022

Heutige Unternehmen bestehen oft aus global verteilten Teams, die APIs und Microservices erstellen und bereitstellen, normalerweise in mehr als einer Bereitstellungsumgebung. Laut dem State of Application Strategy Report von F5 arbeiten 81 % der Organisationen in drei oder mehr Umgebungen, darunter öffentliche Clouds, private Clouds, lokale Umgebungen und Edge.

Die Gewährleistung der Zuverlässigkeit und Sicherheit dieser komplexen Multi-Cloud-Architekturen stellt für die Platform-Ops-Teams, die für ihre Wartung verantwortlich sind, eine große Herausforderung dar. Laut den im F5-Bericht befragten führenden Softwareentwicklern stehen Sichtbarkeit (45 %) und durchgängige Sicherheit (44 %) ganz oben auf der Liste der Multi-Cloud-Herausforderungen, mit denen Platform Ops- Teams konfrontiert sind.

Angesichts der wachsenden Anzahl von APIs und Microservices entwickelt sich die API-Governance schnell zu einem der wichtigsten Themen bei der Planung und Implementierung einer unternehmensweiten API-Strategie. Aber was ist API-Governance und warum ist sie für Ihre API-Strategie so wichtig?

Was ist API-Governance?

Auf der grundlegendsten Ebene umfasst die API-Governance das Erstellen von Richtlinien und das Ausführen von Prüfungen und Validierungen, um sicherzustellen, dass APIs auffindbar, zuverlässig, beobachtbar und sicher sind. Es bietet Einblick in den Zustand der komplexen Systeme und Geschäftsprozesse, die Ihren modernen Anwendungen zugrunde liegen, und kann von Ihnen verwendet werden, um die Weiterentwicklung Ihrer API-Infrastruktur im Laufe der Zeit zu steuern.

Warum brauchen Sie API-Governance?

Die strategische Bedeutung der API-Governance kann nicht hoch genug eingeschätzt werden: Sie ist das Mittel, mit dem Sie die allgemeine API-Strategie Ihres Unternehmens umsetzen. Ohne die richtige Governance können Sie niemals Konsistenz hinsichtlich Design, Betrieb und Produktisierung Ihrer APIs erreichen.

Bei schlechter Governance ergeben sich häufig belastende Anforderungen, die die Arbeit der Teams verlangsamen. Bei richtiger Umsetzung reduziert die API-Governance jedoch den Arbeitsaufwand, rationalisiert Genehmigungen und ermöglicht es den verschiedenen Teams in Ihrem Unternehmen, unabhängig voneinander zu arbeiten und gleichzeitig die Gesamtziele Ihrer API-Strategie zu erreichen.

Welche Arten von APIs müssen Sie verwalten?

Der Aufbau eines effektiven API-Governance-Plans als Teil Ihrer API-Strategie beginnt mit der Identifizierung der API-Typen, die Sie in der Produktion haben, sowie der Tools, Richtlinien und Anleitungen, die Sie zu deren Verwaltung benötigen. Heute arbeiten die meisten Unternehmensteams mit vier primären API-Typen:

  • Externe APIs – Werden externen Verbrauchern und Entwicklern zur Verfügung gestellt, um Self-Service-Integrationen mit Daten und Funktionen zu ermöglichen.
  • Interne APIs – Werden zum Verbinden interner Anwendungen und Microservices verwendet und sind nur für die Entwickler Ihres Unternehmens verfügbar.
  • Partner-APIs – Fördern Sie strategische Geschäftsbeziehungen, indem Sie Entwicklern aus Partnerorganisationen den Zugriff auf Ihre Daten oder Anwendungen ermöglichen.
  • APIs von Drittanbietern – Werden von Drittanbietern als Service genutzt, oft zur Zahlungsabwicklung oder zum Ermöglichen des Zugriffs auf Daten oder Anwendungen.

Jeder API-Typ im Unternehmen muss verwaltet werden, um sicherzustellen, dass er sicher, zuverlässig und für die Teams und Benutzer zugänglich ist, die darauf zugreifen müssen.

Welche API-Governance-Modelle können Sie verwenden?

Es gibt viele Möglichkeiten, API-Governance zu definieren und anzuwenden. Bei NGINX sehen wir typischerweise, dass Kunden eines von zwei Modellen anwenden:

  • Zentralisiert – Ein zentrales Team überprüft und genehmigt Änderungen. Je nach Umfang der Vorgänge kann dieses Team zu einem Engpass werden, der den Fortschritt verlangsamt.
  • Dezentralisiert – Einzelne Teams können APIs autonom erstellen und verwalten. Dies erhöht die Markteinführungszeit, geht jedoch auf Kosten der allgemeinen Sicherheit und Zuverlässigkeit.

Im weiteren Verlauf der API-First-Umstellung der Unternehmen geraten jedoch beide Modelle ins Wanken, da die Anzahl der in der Produktion befindlichen APIs zunimmt. Zentralisierte Modelle versuchen häufig, einen Einheitsansatz zu implementieren, der im Laufe des Prozesses verschiedene Überprüfungen und Freigaben erfordert. Dies verlangsamt die Entwicklungsteams und führt zu Reibungen – in ihrer Frustration finden Entwickler manchmal sogar Wege, die Anforderungen zu umgehen (die gefürchtete „Schatten-IT“).

Das andere Modell – dezentrale Governance – funktioniert für API-Entwickler zunächst gut, mit der Zeit nimmt jedoch die Komplexität zu. Wenn die verschiedenen Teams, die APIs bereitstellen, nicht häufig miteinander kommunizieren, ist das Gesamterlebnis zwischen den APIs inkonsistent: Jede ist anders konzipiert und funktioniert anders, Versionsänderungen führen zu Ausfällen zwischen den Diensten und die Sicherheit wird zwischen den Teams und Diensten inkonsistent durchgesetzt. Für die Teams, die APIs erstellen, führt der zusätzliche Aufwand und die Komplexität genau wie beim zentralisierten Modell letztendlich dazu, dass die Entwicklung fast unmöglich wird.

Cloudnative Anwendungen sind auf APIs angewiesen, damit die einzelnen Mikrodienste miteinander kommunizieren und Antworten an die Quelle der Anfrage zurücksenden können. Auch wenn Unternehmen aufgrund ihrer Flexibilität und Agilität weiterhin auf Microservices setzen, wird die API-Ausbreitung nicht verschwinden . Stattdessen benötigen Sie einen anderen Ansatz zur Steuerung von APIs in diesen komplexen, sich ständig ändernden Umgebungen.

Verwenden Sie Adaptive Governance, um API-Entwickler zu unterstützen

Glücklicherweise gibt es einen besseren Weg. Adaptive Governance bietet ein alternatives Modell, das API-Entwicklern mehr Handlungsfreiheit lässt und Platform-Ops-Teams gleichzeitig die Kontrolle gibt, die sie brauchen, um die Zuverlässigkeit und Sicherheit von APIs im gesamten Unternehmen zu gewährleisten.

Im Mittelpunkt der adaptiven Governance steht die Ausbalancierung von Kontrolle (Notwendigkeit der Konsistenz) und Autonomie (Fähigkeit, lokale Entscheidungen zu treffen), um Agilität im gesamten Unternehmen zu ermöglichen. In der Praxis entbündelt und verteilt das adaptive Governance-Modell die Entscheidungsfindung auf mehrere Teams.

Platform-Ops-Teams verwalten die gemeinsame Infrastruktur (API-Gateways und Entwicklerportale) und legen globale Richtlinien fest, um die Konsistenz zwischen den APIs sicherzustellen. Teams, die APIs erstellen, fungieren jedoch als Fachexperten für ihre Dienste oder Geschäftsbereiche. Sie können lokale Richtlinien für ihre APIs festlegen und anwenden – rollenbasierte Zugriffskontrolle (RBAC), Ratenbegrenzung für ihren Dienst usw. – um die Anforderungen für ihre individuellen Geschäftskontexte zu erfüllen.

Durch adaptive Governance kann jedes Team oder jede Geschäftseinheit seine Arbeitsabläufe definieren und das erforderliche Maß an Kontrolle ausbalancieren, während gleichzeitig die gemeinsame Infrastruktur der Organisation genutzt wird.

Implementieren Sie Adaptive Governance für Ihre APIs mit NGINX

Wenn Sie mit der Planung und Implementierung Ihrer API-Strategie beginnen, befolgen Sie diese Best Practices, um eine adaptive Governance in Ihrem Unternehmen zu implementieren:

Sehen wir uns an, wie Sie diese Anwendungsfälle mit API Connectivity Manager , Teil der F5 NGINX Management Suite, umsetzen können.

Gemeinsame Infrastruktur bereitstellen

Teams in Ihrem gesamten Unternehmen erstellen APIs und müssen ähnliche Funktionen in ihre Microservices integrieren: Authentifizierung und Autorisierung, mTLS-Verschlüsselung und mehr. Sie müssen ihren API-Verbrauchern – seien es interne Teams, Geschäftspartner oder externe Entwickler – auch Dokumentation und Versionierung zur Verfügung stellen.

Anstatt von den Teams zu verlangen, ihre eigenen Lösungen zu entwickeln, können Platform-Ops-Teams Zugriff auf eine gemeinsame Infrastruktur bereitstellen. Wie bei allen Aktionen im API Connectivity Manager können Sie dies in nur wenigen Minuten über die Benutzeroberfläche oder die vollständig deklarative REST-API einrichten, wodurch Sie den API Connectivity Manager in Ihre CI/CD-Pipelines integrieren können. In diesem Beitrag verwenden wir die Benutzeroberfläche, um einige gängige Arbeitsabläufe zu veranschaulichen.

API Connectivity Manager unterstützt zwei Arten von Arbeitsbereichen: Infrastruktur und Dienste. Infrastruktur-Arbeitsbereiche werden von Platform-Ops-Teams verwendet, um gemeinsame Infrastrukturen in Form von API-Gateway-Clustern und Developer Portal-Clustern zu integrieren und zu verwalten. Services Workspaces werden von API-Entwicklern zum Veröffentlichen und Verwalten von APIs und Dokumentationen verwendet.

Um eine gemeinsame Infrastruktur einzurichten, fügen Sie zuerst einen Infrastruktur-Arbeitsbereich hinzu. Klicken Sie in der linken Navigationsspalte auf „Infrastruktur“ und dann auf die Schaltfläche „+ Hinzufügen“ in der oberen rechten Ecke der Registerkarte. Geben Sie Ihrem Arbeitsbereich einen Namen (hier ist es ein Team-Satz – ein imaginäres Team, das ein einfaches „Hallo Welt!“ erstellt). (API).

Screenshot der Seite „Arbeitsbereiche“ auf der Registerkarte „Infrastruktur“ der API Connectivity Manager-Benutzeroberfläche
Abbildung 1: Infrastruktur-Arbeitsbereiche hinzufügen

Fügen Sie als Nächstes dem Arbeitsbereich eine Umgebung hinzu. Umgebungen enthalten API-Gateway-Cluster und Developer Portal-Cluster. Klicken Sie auf den Namen Ihres Arbeitsbereichs und dann auf das Symbol in der Spalte „Aktionen“ . Wählen Sie im Dropdownmenü „Hinzufügen“ aus.

Das Fenster „Umgebung erstellen“ wird wie in Abbildung 2 dargestellt geöffnet. Füllen Sie das Feld „Name“ (und optional „ Beschreibung “) aus, wählen Sie den Umgebungstyp (Produktion oder Nicht-Produktion) aus und klicken Sie auf die Schaltfläche „+ Hinzufügen“ für die Infrastruktur, die Sie hinzufügen möchten (API Gateway-Cluster, Developer Portal-Cluster oder beide). Klicken Sie auf die Schaltfläche „Erstellen“, um die Einrichtung Ihrer Umgebung abzuschließen. Vollständige Anweisungen finden Sie in der API Connectivity Manager-Dokumentation .

Screenshot des Bedienfelds „Umgebung erstellen“ in der Benutzeroberfläche des API Connectivity Manager
Abbildung 2: Erstellen Sie eine Umgebung und integrieren Sie die Infrastruktur

Geben Sie Teams Handlungsfreiheit

Eine logische Trennung der Teams nach Geschäftsbereichen, geografischen Regionen oder anderen logischen Grenzen ist sinnvoll – wenn ihnen dadurch nicht der Zugriff auf die Tools verwehrt wird, die sie für ihren Erfolg benötigen. Der Zugriff auf eine gemeinsam genutzte Infrastruktur sollte nicht bedeuten, dass sich Teams um Aktivitäten auf globaler Ebene kümmern müssen. Stattdessen möchten Sie, dass sie sich auf die Definition ihrer eigenen Anforderungen, die Erstellung einer Roadmap und die Entwicklung ihrer Microservices konzentrieren.

Um die Organisation der Teams zu erleichtern, können Platform-Ops-Teams Service-Arbeitsbereiche bereitstellen, in denen Teams ihre Services und Dokumentationen organisieren und betreiben können. Diese schaffen logische Grenzen und ermöglichen den Zugriff auf unterschiedliche Umgebungen (z. B. Entwicklung, Test und Produktion) für die Entwicklung von Diensten. Der Vorgang ähnelt dem Erstellen des Infrastruktur-Arbeitsbereichs, den wir im vorherigen Abschnitt erstellt haben.

Klicken Sie zunächst in der linken Navigationsspalte auf „Dienste“ und dann auf die Schaltfläche „+ Hinzufügen“ in der oberen rechten Ecke der Registerkarte. Geben Sie Ihrem Arbeitsbereich einen Namen (hier: ein API-Satz für unseren Dienst „Hallo Welt“) und geben Sie optional eine Beschreibung und Kontaktinformationen ein.

Screenshot der Seite „Arbeitsbereiche“ auf der Registerkarte „Dienste“ der API Connectivity Manager-Benutzeroberfläche
Abbildung 3: Erstellen eines Service-Arbeitsbereichs

An diesem Punkt können Sie API-Entwickler einladen, mit der Veröffentlichung von Proxys und Dokumentationen in dem von Ihnen für sie erstellten Arbeitsbereich zu beginnen. Vollständige Anweisungen zum Veröffentlichen von API-Proxys und Dokumentation finden Sie in der API Connectivity Manager-Dokumentation .

Gleichgewicht zwischen globaler Politik und lokaler Kontrolle

Adaptive Governance erfordert ein Gleichgewicht zwischen der Durchsetzung globaler Richtlinien und der Befähigung von Teams, Entscheidungen zu treffen, die die Agilität steigern. Sie müssen eine klare Trennung der Verantwortlichkeiten herstellen, indem Sie die von Platform Ops erzwungenen globalen Einstellungen definieren und „Leitplanken“ festlegen, die die von API-Entwicklern zu verwendenden Tools und die von ihnen zu treffenden Entscheidungen definieren.

API Connectivity Manager bietet eine Mischung aus globalen Richtlinien (angewendet auf gemeinsam genutzte Infrastruktur) und detaillierten Steuerelementen, die auf der Ebene des API-Proxys verwaltet werden.

Zu den im API Connectivity Manager verfügbaren globalen Richtlinien gehören:

  • Fehlerantwortformat – Passen Sie den Fehlercode und die Antwortstruktur des API-Gateways an
  • Protokollformat – Aktivieren Sie die Zugriffsprotokollierung und passen Sie das Format der Protokolleinträge an
  • OpenID Connect – Sicherer Zugriff auf APIs mit einer OpenID Connect-Richtlinie
  • Antwortheader – Header in die Antwort einschließen oder ausschließen
  • Größe des Anforderungstexts – Begrenzen Sie die Größe eingehender API-Nutzdaten.
  • Inbound TLS – Legen Sie die Richtlinie für TLS-Verbindungen mit API-Clients fest
  • Backend-TLS – Sichern Sie die Verbindung zu Backend-Diensten mit TLS

Zu den im API Connectivity Manager verfügbaren API-Proxy-Richtlinien gehören:

  • Erlaubte HTTP-Methoden – Definieren Sie, welche Anforderungsmethoden verwendet werden können ( GET , POST , PUT usw.).
  • Zugriffskontrolle – Sicherer Zugriff auf APIs durch verschiedene Authentifizierungs- und Autorisierungstechniken (API-Schlüssel, HTTP-Basisauthentifizierung, JSON-Web-Token)
  • Backend-Integritätsprüfungen – Führen Sie kontinuierliche Integritätsprüfungen durch, um fehlgeschlagene Anfragen an Backend-Dienste zu vermeiden.
  • CORS – Ermöglichen Sie den kontrollierten Zugriff auf Ressourcen durch Clients aus externen Domänen
  • Caching – Verbessern Sie die API-Proxy-Leistung mit Caching-Richtlinien
  • Proxy-Anforderungsheader – Übergeben Sie ausgewählte Header an Backend-Dienste
  • Ratenbegrenzung – Begrenzen Sie eingehende Anfragen und sichern Sie API-Workloads

Im folgenden Beispiel verwenden wir die Benutzeroberfläche, um eine Richtlinie zu definieren, die die Kommunikation zwischen einem API-Gateway-Proxy und Backend-Diensten sichert.

Klicken Sie in der linken Navigationsspalte auf „Infrastruktur“ . Nachdem Sie auf den Namen der Umgebung geklickt haben, die den zu bearbeitenden API-Gateway-Cluster enthält, werden auf der Registerkarte die API-Gateway-Cluster und Developer Portal-Cluster in dieser Umgebung angezeigt.

Screenshot der Umgebungsseite auf der Registerkarte „Infrastruktur“ der API Connectivity Manager-Benutzeroberfläche
Abbildung 4: Konfigurieren globaler Richtlinien für API Gateway-Cluster und Developer Portal-Cluster

Klicken Sie in der Zeile für den API Gateway-Cluster, auf den Sie eine Richtlinie anwenden möchten, auf das Symbol in der Spalte „Aktionen“ und wählen Sie im Dropdownmenü „Erweiterte Konfiguration bearbeiten“ aus. Klicken Sie in der linken Spalte auf „Globale Richtlinien“ , um eine Liste aller globalen Richtlinien anzuzeigen, die Sie konfigurieren können.

Screenshot der Seite „Globale Richtlinien“ in der Benutzeroberfläche des API Connectivity Managers
Abbildung 5: Konfigurieren von Richtlinien für einen API Gateway-Cluster

Um die TLS-Backend -Richtlinie anzuwenden, klicken Sie auf das Symbol am rechten Ende der Zeile und wählen Sie im Dropdownmenü „Richtlinie hinzufügen“ aus. Geben Sie die erforderlichen Informationen ein, laden Sie Ihr Zertifikat hoch und klicken Sie auf „Hinzufügen“ . Klicken Sie dann auf die Schaltfläche „Speichern und senden“ . Von nun an ist der Datenverkehr zwischen dem API Gateway Cluster und den Backend-Diensten mit TLS gesichert. Vollständige Anweisungen finden Sie in der API Connectivity Manager-Dokumentation .

Zusammenfassung

Die Planung und Implementierung der API-Governance ist ein entscheidender Schritt zum Erfolg Ihrer API-Strategie. Indem Sie auf ein verteiltes Modell hinarbeiten und sich auf adaptive Governance verlassen, um die individuellen Anforderungen verschiedener Teams und APIs zu erfüllen, können Sie eine einheitliche Governance skalieren und anwenden, ohne auf die Geschwindigkeit und Agilität zu verzichten, die APIs und Cloud-native Umgebungen so produktiv machen.

Erste Schritte

Starten Sie eine 30-tägige kostenlose Testversion der NGINX Management Suite , die Zugriff auf API Connectivity Manager , NGINX Plus als API-Gateway und NGINX App Protect zum Sichern Ihrer APIs umfasst.


„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."