Bearbeiten

Entwerfen großartiger API-Entwicklerumgebungen mit API Management und GitHub

Azure App Service
Azure Private Link
Azure Virtual Network

Als Herausgeber von APIs benötigen Sie eine Website zur effektiven Vermarktung Ihrer APIs, auf der Kunden Informationen zu Ihren verschiedenen Angeboten finden. Nachdem Kunden APIs ausgewählt haben, müssen Sie in der Lage sein, nur authentifizierten Benutzern Zugriff zu gewähren, den Verbrauch zu verwalten und genaue Rechnungen für die Nutzung auszustellen. In diesem Beispielszenario wird gezeigt, wie Sie den Azure-Dienst und GitHub verwenden können, um eine Plattform zu erstellen, die diese und viele weitere Funktionen bietet.

Aufbau

Diagram of the components of this architecture and the workflow through the internet portals and Azure services that constitute the solution, including Microsoft Entra B 2 C, Azure A P I Management, the A P I gateway, and line-of-business services.

Laden Sie eine PowerPoint-Datei zu dieser Architektur herunter.

Datenfluss

Die Lösung besteht hauptsächlich aus den folgenden Bausteinen:

  • Monetarisierte Back-End-APIs und API-Gateway. Den Kern der Lösung bildet eine Gruppe von Back-End-APIs, die monetarisiert werden. Die Consumer (z. B. Benutzer, Anwendungen und Geräte) greifen über ein API-Gateway auf die API-Plattform zu. Das Gateway drosselt Anforderungen und wendet bei Bedarf einen Ausgleich an.

  • Consumerportal und -anwendungen. Die Consumer der API-Plattform durchsuchen die API-Angebote, registrieren sich und generieren dann Abonnementschlüssel für den Zugriff auf die verschiedenen API-Endpunkte. Sie können Informationen zu ihren Konten und zur Abrechnung mithilfe der Kontoverwaltungsfunktionen der Lösung aktualisieren.

  • Verwaltungsportale und -anwendungen. Plattformadministratoren veröffentlichen die Liste der API-Produkte, ihre Preise und Tarife. Diese Portale bieten auch umfassende Analysen zur Verwendung der verschiedenen API-Produkte, die die Behandlung von Problemen und das Bereitstellen von Supportdiensten erleichtern.

  • Branchenspezifische Dienste. Diese Dienste sind zum Bereitstellen der Funktionen der Consumerportale und -anwendungen sowie zur Unterstützung der verschiedenen von der Lösung unterstützten User Journeys erforderlich.

  • Engine für die Nachverfolgung der API-Nutzung und Berechnung der Gebühren. Die auf der API-Gatewayebene erfassten Berichte zur API-Nutzung werden regelmäßig in einen separaten Datenspeicher exportiert. Für diese Daten werden geplante Aufträge ausgeführt, um die Gebühren für Consumerkonten basierend auf der Abonnementliste und dem Preismodell des jeweiligen Kontos zu berechnen.

Die Verarbeitungssequenz in dieser Lösung ist wie folgt gestaltet:

  1. Der API-Herausgeber importiert die API-Spezifikationen mithilfe des Azure-Portals, gruppiert sie nach Produkt und veröffentlicht sie.

  2. Der API-Herausgeber aktualisiert die produktbezogenen Marketinginformationen im entsprechenden GitHub-Repository.

  3. Der API-Consumer greift auf das Marketplace-Portal zu, durchsucht die verschiedenen Produkte und wählt einen bestimmten API-Dienst aus.

  4. Wenn der Consumer versucht, weitere Informationen zum API-Dienst anzuzeigen, leitet ihn das Consumerportal an das erweiterte Entwicklerportal um, das auf GitHub gehostet wird und GitHub Pages verwendet.

  5. Der Consumer kann verschiedene API-Spezifikationen und Informationen für Entwickler durchsuchen und sogar versuchen, einen Endpunkt mithilfe einer Beispielnutzlast aufzurufen.

  6. Der Consumer registriert sich bei der Plattform und aktiviert dann ein Abonnement für den jeweiligen API-Dienst, den er verwenden möchte.

  7. Der Consumer nutzt den API-Dienst in seinen Apps oder Geräten.

  8. Durch den Aufruf der API werden Metriken zur Verwendung und zum Verbrauch generiert, die von Azure in Nachverfolgungsdatenbanken gespeichert werden.

  9. Die Verbrauchsdaten werden regelmäßig exportiert und zur weiteren Analyse in einer benutzerdefinierten Datenbank gespeichert (in der Regel in einem Data Lake).

  10. Ein Back-End-Auftrag berechnet anhand der Verbrauchsdaten und verschiedenen Abonnements die Gebühren.

  11. Die Rechnung und Informationen im Zusammenhang mit der Zahlung werden in der Buchhaltungsdatenbank gespeichert. Diese Informationen werden verwendet, um den Umsatz für den Dienst zu berechnen.

Komponenten

Die Lösung besteht aus den folgenden Software-as-a-Service (SaaS)-Angeboten:

  • Azure API Management ist eine verwaltete Platform as a Service, mit der Organisationen APIs sowohl für interne als auch externe Consumer veröffentlichen können. Mit API Management können Sie APIs veröffentlichen, die überall gehostet werden können. Im Grunde ermöglicht API Management die Entkopplung des API-Hostings vom veröffentlichten Gateway, das als einzelner Einstiegspunkt für alle von Ihrem Unternehmen veröffentlichten APIs dient. Weitere Informationen finden Sie unter Muster „Gatewayrouting“.

    API Management stellt auch eine Governanceebene oberhalb aller veröffentlichten APIs bereit. Mit API Management-Richtlinien und verschiedenen anderen Funktionen, wie z. B. Ratenbegrenzungen und Kontingenten, können Sie API-Anforderungen basierend auf einem Schlüssel oder Abonnement drosseln. API Management umfasst ein Entwicklerportal, das eine vollständig anpassbare Website zum Bereitstellen der Dokumentation für die über die Website veröffentlichten APIs bietet.

  • GitHub ist ein beliebtes SaaS-Angebot von Microsoft, das viele Entwickler zum Erstellen, Versenden und Warten ihrer Softwareprojekte verwenden. Es bietet wichtige Funktionen, die Sie in Ihren Lösungen verwenden können:

  • Azure App Service ist eine vollständig verwaltete Computeplattform für das Hosten benutzerdefinierter Webanwendungen.

  • Azure Active Directory B2C (Azure AD B2C) ist eine Erweiterung von Microsoft Entra ID, mit der Ihre Anwendung den Zugriff und die Autorisierung für Identitäten externer Kund*innen oder Partner*innen verwalten kann. Mithilfe der Microsoft Identify Platform können Sie die Identitätsverwaltung und Autorisierung ganz einfach in Ihre benutzerdefinierten Anwendungen integrieren.

Szenariodetails

Bei jeder API-Plattform hängen der Erfolg und die Akzeptanz hauptsächlich von der Reputation der Plattform im Marketplace ab. Ob Kunden eine Plattform nutzen, hängt neben den von der Plattform bereitgestellten digitalen Ressourcen in hohem Maße davon ab, wie leicht APIs zu finden und wie benutzerfreundlich sie sind. Kunden müssen die Dokumentation finden können und bei Problemen Support erhalten. Zudem sollte die Plattform Communitybeiträge ermöglichen, damit Kunden Ihre APIs entsprechend ihren Anforderungen anpassen können. Als Herausgeber von APIs benötigen Sie eine Website zur effektiven Vermarktung Ihrer APIs, auf der Kunden Informationen zu Ihren verschiedenen Angeboten finden. Nachdem Kunden APIs ausgewählt haben, müssen Sie in der Lage sein, nur authentifizierten Benutzern Zugriff zu gewähren, den Verbrauch zu verwalten und genaue Rechnungen für die Nutzung auszustellen. In diesem Beispielszenario wird gezeigt, wie Sie den Azure-Dienst und GitHub verwenden können, um eine Plattform zu erstellen, die diese und viele weitere Funktionen bietet.

Mögliche Anwendungsfälle

Mithilfe dieser Lösung können Sie Folgendes für API-Entwickler vereinfachen:

  • Entdecken und Verstehen Ihrer API-Produktangebote
  • Abonnieren und Integrieren Ihrer verschiedenen Anwendungen und Kanäle
  • Erhalten von Hilfe sowie Behandeln und Beheben von Problemen
  • Fördern von Communitybeiträgen und Austauschen von Ideen und Wissen

API-Wertschöpfungskette

Diagram that describes the A P I value chain.

Ganz oben in der Wertschöpfungskette steht der API-Dienstanbieter. Darunter folgen die API-Consumer oder -Integratoren, die die Funktionen für die Zielconsumer entwerfen und erstellen. Endbenutzer und Kunden sind die Endbegünstigten in der Wertschöpfungskette.

API-Entwicklerumgebung

Diagram of features and capabilities of the enhanced A P I developer experience.

Laden Sie eine PowerPoint-Datei dieses Diagramms herunter.

Die API-Entwicklerumgebung umfasst drei Portale:

  • Consumerportal. Das Consumerportal dient als Marketingwebsite, auf der die verschiedenen API-Produkte vorgestellt werden, die das Unternehmen anbietet.

  • Entwicklerportal. Das Entwicklerportal bietet Drittentwicklern Dokumentation zu den verschiedenen API-Diensten und deren Verwendung in ihren Anwendungen.

  • Kontoportal. Das Kontoportal wird von registrierten Benutzern zum Verwalten ihrer Abonnements und Ausführen anderer kontobezogener Aktivitäten verwendet.

Funktionsanforderungen

Allgemein lassen sich die funktionalen Anforderungen für eine API-Plattform auf Unternehmensniveau in drei Kategorien unterteilen: Produktisierung, Plattformverwaltung und Consumererlebnis.

Diagram that shows three broad functional requirements of an enterprise-scale A P I platform.

In den folgenden Abschnitten werden die Funktionen in diesen Bereichen näher beschrieben.

Produktisierung

Das Ziel der Produktisierung besteht darin, die monetarisierten APIs, deren Verwaltung und eine Strategie für ihren Verkauf als digitale Produkte zu identifizieren und zu definieren. Dieser Bereich umfasst daher Folgendes:

  • Funktionen wie das Identifizieren von Produktvarianten und deren entsprechende Zuordnung zu physischen Ressourcen
  • Eine Definition der Preise und Tarife sowie der erforderlichen Metadaten
  • Inhalte, die zum Bereitstellen des Consumererlebnisses erstellt werden müssen

Die Produktisierung umfasst die folgenden Funktionen:

  • API-Produkte. Dieser Katalog von APIs wird für Consumer verfügbar gemacht. Ein Produkt kann zum Kauf oder als kostenloser Dienst angeboten werden.

  • Varianten. In der Entwicklerumgebung sollten die Varianten jedes monetarisierten API-Produkts angegeben werden.

  • Tarife. Definieren Sie verschiedene Tarife, die Ihre Angebote für Consumer reizvoll machen.

  • Taxonomie und Inhalte. Definieren und erstellen Sie die Inhalte (Text, PDFs, Bilder usw.), die zum Umsetzen der Marketingstrategie für diese API-Produkte erforderlich sind.

  • Physische Ressourcen. Zu den physischen Ressourcen zählen die eigentlichen Clouddienste, die Teil des jeweiligen API-Produkts sind, und deren entsprechende Lebenszyklusverwaltung. Berücksichtigen Sie beim Ableiten der Tarife die Betriebskosten für die Wartung dieser Dienste.

Plattformverwaltung

Der Fokus der Plattformverwaltung liegt auf dem allgemeinen Hosting, der Verwaltung und der Governance der API-Plattform. Sie bietet zudem eine End-to-End-Lösung für die Verwaltung der verschiedenen branchenspezifischen Anwendungen und Dienste. Wichtige Schwerpunktbereiche sind die Abonnementverwaltung, Abrechnung und Rechnungsstellung. Die Plattformverwaltung ermöglicht auch die Gewinnung geschäftlicher Erkenntnisse und bietet Analysen zur Darstellung der Gesamtintegrität des Diensts einschließlich finanzieller und betrieblicher Aspekte.

Die Plattformverwaltung umfasst die folgenden Funktionen:

  • Benutzerregistrierung. Bestimmen Sie, wie sich Benutzer bei der Plattform registrieren. Definieren Sie je nach Benutzersegment alle erforderlichen Genehmigungsworkflows.

  • API-Katalog. Identifizieren Sie die API-Ressourcen, die über API Management veröffentlicht werden. Wenden Sie Richtlinien an, um den Zugriff auf die APIs und ihre Verwendung zu steuern. Verwalten Sie die Abonnements der Benutzer.

  • Erkenntnisse und Analysen. Erfassen Sie Telemetriedaten, um verschiedene Metriken zu generieren. Visualisieren Sie die Daten mithilfe verschiedener Dashboards (z. B. Power BI), um die verschiedenen Erkenntnisse zu gewinnen, die Entscheidungsträger im geschäftlichen und IT-Bereich benötigen.

  • Abrechnung und Rechnungsstellung. Definieren Sie die Workflows im Zusammenhang mit Abonnements, Auftragsverwaltung, Abrechnung und Rechnungsstellung.

  • Support. Richten Sie Tools und Prozesse zum Behandeln von Supportanfragen ein.

Consumererlebnis

Die Akzeptanz der API-Plattform hängt in hohem Maße davon ab, wie einfach Folgendes für Consumer ist:

  • Entdecken der APIs, die sie benötigen
  • Einsehen der Spezifikationen und technischen Inhalte im Entwicklerportal
  • Registrieren für Abonnements
  • Bezahlen für die ausgewählten API-Produkte
  • Verwenden der APIs in ihren Anwendungen

Das Consumererlebnis wird in der Regel über ein Webportal und/oder eine mobile App bereitgestellt. Sie können Azure AD B2C verwenden, um die Benutzerregistrierung und Identitätsverwaltung zu vereinfachen. Azure AD B2C bietet Unterstützung für OpenID-Identitätsanbieter wie Microsoft und Google.

Das Consumererlebnis setzt sich aus den folgenden Komponenten zusammen:

  • Produktkatalog (API-Katalog). Erstellen Sie eine Marketplace-Benutzeroberfläche für anonyme und registrierte Benutzer.

  • Konto- und Abonnementverwaltung. Richten Sie basierend auf den Benutzertypen, die Ihre API voraussichtlich verwenden werden, Verfahren für die Registrierung und Anmeldung ein. Unterstützen Sie die Vorlieben von Benutzern, z. B. die Verwendung vorhandener sozialer Netzwerke als Identitätsanbieter. Ermöglichen Sie die Abonnementverwaltung per Self-Service, Aktivierungs- und Deaktivierungsdienste sowie die Bezahlung von Gebühren gemäß Rechnungsstellung.

  • Benutzeroberfläche/Benutzererlebnis Identifizieren und definieren Sie die Benutzeroberflächen für die Kanäle, die Sie für Endbenutzererlebnisse unterstützen. Stellen Sie Funktionen für mehrere Geräte und Formfaktoren bereit, und verwenden Sie moderne Benutzeroberflächendesigns. Verbessern Sie das Benutzererlebnis mithilfe von Nutzbarkeitsstudien.

Überlegungen

Die Komponenten in diesem Szenario sind zur Behandlung von Leistungs-, Zuverlässigkeits- und Sicherheitsproblemen ausgelegt.

API Management unterstützt die automatische Skalierung, durch die API Management-Funktionen bei einer zunehmenden Anzahl eingehender Anforderungen schnell erweitert werden. API Management unterstützt auch Zonenredundanz und Bereitstellungen in mehreren Regionen, um Resilienz und Hochverfügbarkeit bereitzustellen. Weitere Informationen zur Zonenredundanz finden Sie unter Unterstützung von Verfügbarkeitszonen für Azure API Management. Weitere Informationen zur API Management-Sicherheit finden Sie unter Azure-Sicherheitsbaseline für API Management.

App Service ist eine vollständig verwaltete Platform as a Service, die integrierte Sicherheit und automatische Skalierung mit einer SLA bietet, die Hochverfügbarkeit verspricht. App Service ist ISO-, SOC- und PCI-konform und unterstützt die Authentifizierung von Benutzer*innen mit Microsoft Entra ID, Google, Facebook, Twitter oder einem Microsoft-Konto. Mit App Service können Sie auch IP-Adresseinschränkungen erstellen.

Azure AD B2C bietet Hochverfügbarkeit und kann zur Unterstützung von Hunderten von Millionen von Benutzern skaliert werden. Azure AD B2C unterstützt OpenID Connect und mehrere Identitätsanbieter, sodass Kunden ihren bevorzugten Anbieter auswählen können. Azure AD B2C unterstützt auch die anwendungs- und richtlinienbasierte Multi-Faktor-Authentifizierung (MFA) und fügt Ihrer Lösung somit zusätzliche Sicherheitsebenen hinzu. Weitere Informationen zu Azure AD B2C finden Sie unter Was ist Azure Active Directory B2C?. Weitere Informationen zur Verwendung externer Identitäten finden Sie unter Externe Identitäten in Microsoft Entra ID.

Auf GitHub sind Sicherheitsüberprüfungen ein automatisierter Teil von Code Reviews. Alle neuen Commits werden daher auf potenzielle Sicherheitsprobleme überprüft. Mit diesem Dienst können Sie Probleme erkennen, sobald Code als Ergänzung für die Codebasis vorgeschlagen wird. Die GitHub-Sicherheit ermöglicht es Ihnen, Suchvorgänge aus Sicherheitsgründen anzupassen und Überprüfungsengines von Drittanbietern zu integrieren. Weitere Features und Details finden Sie unter Sicherheit auf GitHub.

Kostenoptimierung

Zum Entwickeln des Consumerportals können Sie den Team- oder Enterprise-Tarif für GitHub verwenden. Sehen Sie sich die Featurematrix an, um den am besten geeigneten Tarifplan für Ihr Unternehmen ermitteln.

Für API Management können Sie die Dienstebenen Standard oder Premium verwenden. Weitere Informationen zu den Unterschieden zwischen den Tarifen finden Sie unter API Management – Preise.

Informationen zu Azure App Service finden Sie in den verfügbaren Preisoptionen für Windows- und Linux-Umgebungen zum Hosten Ihrer Anwendungen.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Nächste Schritte