Verbinden Sie Multi-Cloud-Microservices mit Oracle API Gateway

Mit dem Oracle API Gateway-Service können Sie APIs mit privaten Endpunkten veröffentlichen, auf die Sie über Ihr Netzwerk zugreifen können. Wenn Sie Internetdatenverkehr akzeptieren möchten, können Sie diese mit öffentlichen IP-Adressen veröffentlichen.

Beim Erstellen von Unternehmenslösungen stellen Sie möglicherweise fest, dass verschiedene Teile der Lösung in verschiedenen Clouds (oder sogar On Premise) bereitgestellt wurden, aufgrund spezifischer Anforderungen oder aufgrund von Teampräferenzen bei Cloud-Anbietern. Beispiel: Services, die Office 365 erweitern, wurden möglicherweise auf Azure bereitgestellt, aber die Kernservices wie ERP können sich auf OCI befinden.

Wenn Sie dann einige dieser Services als APIs für Partner verfügbar machen möchten, sollten Sie nicht versuchen, mehrere Gateways in verschiedenen Clouds zu verwenden. Das Aufteilen von APIs in verschiedenen Clouds ist wahrscheinlich für den API-Nutzer verwirrend - ganz zu schweigen von den Risiken, die dem Benutzer eine größere Chance auf Veränderungen bieten. Auch wenn die Verwendung der APIs durch eine Art von Einschränkungen oder Kontrollen beeinträchtigt wird, stellt die Verwaltung dieser Kontrollen eine große Herausforderung dar. In solchen Fällen können Sie mit dem Oracle API-Gateway mehrere Backend-Services mit einem einzelnen konsolidierten API-Endpunkt verknüpfen.

Der Oracle API Gateway-Service ist in Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) integriert, was eine einfache Authentifizierung mit nativen Oracle Cloud Infrastructure-(OCI-)Identitätsfunktionen ermöglicht. Wenn Sie Services in verschiedenen Clouds ausführen (wie OCI, Oracle SaaS, jede Cloud mit 3. Parteien, wie Amazon Web Services (AWS), Microsoft Azure, Google Cloud Computing usw., können Sie mit Oracle API Gateway alle diese Services für Ihre Serviceclients bereitstellen.

Oracle API Gateway bietet die folgenden Vorteile:
  • Unterstützt die Multi-Cloud-Architektur: Vermeidung von Anbieterbindung, Erfüllung von Compliance-Anforderungen, verbesserte Resilienz, Flexibilität und Risikomanagement. Ermöglicht es Benutzern, Service-Backends in jeder Cloud auszuführen, um die Complianceanforderungen zu erfüllen (ohne an einen einzelnen Cloud-Anbieter gesperrt zu werden), aber dennoch Clients einen einheitlichen Endpunkt bereitzustellen, unabhängig davon, wo der Backend-Service ausgeführt wird.
  • Ermöglicht die Ausführung verschiedener Services in verschiedenen Clouds. Stellt einen einheitlichen Endpunkt bereit, unabhängig davon, wo das Backend implementiert ist.
  • Ermöglicht die Anzeige eines einheitlichen Endpunkts für API-Clients, unabhängig davon, wo das Backend implementiert ist. Gelegentlich gibt die Gesetzgebung an, wo das Backend bereitgestellt werden kann und nicht. Oracle API Gateway stellt jedoch sicher, dass Clients keine Auswirkungen haben.

Mit Oracle API Gateway können Sie die folgenden Herausforderungen bewältigen:

Kundenherausforderung Oracle API Gateway-Lösung
Implementierung einer Multi-Cloud-Architektur und Ausführung verschiedener Microservices in verschiedenen Clouds mit einem einheitlichen Endpunkt
  • Ermöglicht einen Mix- und Match-Ansatz: Verschiedene Microservices können in verschiedenen Clouds implementiert werden.
  • Stellt einen überwachten und kontrollierten Ingress-Punkt bereit. Mit einem gemeinsamen Gateway kann der Netzwerkverkehr kontrolliert geleitet werden, d.h. der Datenverkehr zu anderen Clouds wird über das Gateway ermöglicht und effektiv überwacht. Wenn der Traffic gestartet und beendet wird, wo die Services bereitgestellt werden, muss das Netzwerk alles ermöglichen, um eine Verbindung mit allen Services herzustellen.
Microservices können interne Änderungen durchlaufen und können auch von einer Cloud in eine andere verschoben werden Microservices, die bereits in anderen Clouds ausgeführt werden, können dies weiterhin tun (Beispiel: Microsoft-basierte Anwendungen können weiterhin auf Microsoft Azure ausgeführt werden)
Clientanwendungen, die diese Microservices nutzen, benötigen einen einheitlichen, unterbrechungsfreien Zugriff auf alle diese Microservices, die in verschiedenen Clouds ausgeführt werden Alle in verschiedenen Clouds ausgeführten Microservices können mit dem OracleAPI-Gateway gemeinsam für Clients bereitgestellt werden.

Architektur

Diese Referenzarchitektur zeigt, wie Sie Services, die in OCI und anderen Clouds (oder Data Centern wie OCI, Oracle SaaS, einer beliebigen 3. Party-Cloud oder einem On-Premise-Netzwerk) ausgeführt werden, mit Oracle API Gateway verbinden und die Services für Ihre Serviceclients bereitstellen.

Das folgende Diagramm veranschaulicht den Datenfluss für diese Referenzarchitektur.



oci-multicloud-api-gateway-flow-oracle.zip

Es können verschiedene Dienstanbieter geben. Beispiel:
  • Containerisierte Services und Services, die auf virtuellen Maschinen in der Cloud der 3. Partei ausgeführt werden.
  • Oracle SaaS-Anwendungen wie Oracle Fusion Cloud-Anwendungen oder Oracle Fusion Cloud Enterprise Performance Management (die mit Services wie Oracle-Integration integriert werden können).
  • Oracle Autonomous Database-Services
  • Cloud-native Services wie OCI-Funktionen und Container Engine for Kubernetes (OKE).
Die Services können genutzt werden von:
  • On-Premise-Anwendungen (mit OCI-VPN oder FastConnect verbunden). Beispiel: Anwendungen, die im Data Center ausgeführt werden.
  • internetbasierte Clients. Beispiel: Webseiten und mobile Apps, die über das Internet auf die Services zugreifen.

Nachdem eine ordnungsgemäße Netzwerkverbindung hergestellt wurde, kann das OCI-API-Gateway eine Verbindung zu verschiedenen Backend-Serviceprovidern herstellen, die Komplexität dieser Services abstrahieren (sofern erforderlich) und die Service-APIs bereitstellen, die von den Serviceclients problemlos konsumiert werden können.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.



oci-multicloud-api-gateway-arch-oracle.zip

Die Architektur umfasst die folgenden Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domains bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie voneinander trennen (innerhalb von Ländern oder sogar Kontinenten).

  • Availability-Domains

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was Fehlertoleranz bietet. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Aus diesem Grund ist es wahrscheinlich, dass ein Fehler in einer Availability-Domain sich auf die anderen Availability-Domains in der Region auswirkt.

  • Virtual Cloud Network (VCN) und Subnetze

    Ein VCN ist ein anpassbares, Software-definiertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem fortlaufenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz ist öffentlich oder privat.

  • Oracle Cloud-Anwendungen

    Unsere vollständige Cloud-Suite von SaaS-Anwendungen bietet konsistente Prozesse und eine Single Source of Truth für alle wichtigen Geschäftsfunktionen - von der Enterprise Resource Planning, dem Supply Chain Management und dem Personalmanagement bis hin zu Werbung und Kundenerfahrung. Mit den Anwendungen können Sie Ihre Kundeninteraktionen verbessern, die Agilität Ihres Unternehmens steigern und schneller als je zuvor auf Änderungen reagieren.

  • Integration

    Oracle Integration ist ein vollständig verwalteter Service, mit dem Sie Ihre Anwendungen integrieren, Prozesse automatisieren, Einblicke in Ihre Geschäftsprozesse erlangen und visuelle Anwendungen erstellen können.

  • Autonomous Database

    Oracle Cloud Infrastructure Autonomous Database ist eine vollständig verwaltete, vorkonfigurierte Datenbankumgebung, die Sie für Transaktionsverarbeitungs- und Data Warehousing-Workloads verwenden können. Sie müssen keine Hardware konfigurieren oder verwalten und keine Software installieren. Oracle Cloud Infrastructure verwaltet das Erstellen der Datenbank sowie Backup, Patching, Upgrade und Optimierung der Datenbank.

  • API Gateway

    Mit Oracle API Gateway können Sie APIs mit privaten Endpunkten veröffentlichen, auf die Sie über Ihr Netzwerk zugreifen können und die Sie bei Bedarf im öffentlichen Internet verfügbar machen können. Die Endpunkte unterstützen API-Validierung, Anforderungs- und Reaktionstransformation, CORS, Authentifizierung und Autorisierung und Anforderungsbegrenzung.

  • Site-to-Site-VPN

    Site-to-Site-VPN stellt IPSec-VPN-Konnektivität zwischen Ihrem On-Premise-Netzwerk und VCNs in Oracle Cloud Infrastructure bereit. Die IPSec-Protokollsuite verschlüsselt den IP-Traffic, bevor die Pakete von der Quelle zum Ziel übertragen werden, und entschlüsselt den Traffic beim Empfang.

  • Oracle Cloud Infrastructure FastConnect bietet eine einfache Möglichkeit, eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure zu erstellen. FastConnect bietet Optionen mit höherer Bandbreite und eine zuverlässigere Netzwerkerfahrung im Vergleich zu internetbasierten Verbindungen.

  • Funktionen

    Oracle Functions ist eine vollständig verwaltete, mehrmandantenfähige, extrem skalierbare, bedarfsgesteuerte Functions-as-a-Service-(FaaS-)Plattform. Sie basiert auf der Open-Source-Engine des Fn-Projekts. Mit Funktionen können Sie Ihren Code bereitstellen und ihn entweder direkt aufrufen oder als Reaktion auf Ereignisse auslösen. Oracle Functions verwendet Docker-Container, die in Oracle Cloud Infrastructure Registry gehostet werden.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • Virtuelles Cloud-Netzwerk (VCN)

    Bestimmen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke innerhalb des standardmäßigen privaten IP-Adressraums.

    Bestimmen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke innerhalb des standardmäßigen privaten IP-Adressraums.

    Wählen Sie CIDR-Blöcke aus, die sich mit keinem anderen Netzwerk (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, zu dem Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie die zugehörigen CIDR-Blöcke ändern, hinzufügen und entfernen.

    Berücksichtigen Sie bei der Entwicklung der Subnetze Ihren Verkehrsfluss und Ihre Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

    Verwenden Sie regionale Subnetze.

  • Sicherheit

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure proaktiv überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitsschwächen zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine falsche Konfiguration oder unsichere Aktivität ermittelt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt das Ausführen dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.

    Für Ressourcen, die maximale Sicherheit erfordern, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept für Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Auf die Ressourcen in einer Sicherheitszone kann nicht über das öffentliche Internet zugegriffen werden. Sie müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge anhand der Policys in dem Rezept der Sicherheitszone und verweigert Vorgänge, die eine der Policys verletzen.

Aspekte

Beachten Sie beim Deployment eines Oracle API Gateway die folgenden Optionen.

  • Performance

    OCI-API-Gateway unterstützt das Antwort-Caching durch Integration mit einem externen Cacheserver (z.B. einem Redis- oder KeyDB-Server), mit dem eine unnötige Belastung von Backend-Services vermieden wird. Wenn Antworten im Cache gespeichert werden, können ähnliche Anforderungen abgeschlossen werden, indem Daten aus einem Antwortcache abgerufen werden, anstatt die Anforderung an den Backend-Service zu senden. Dadurch wird die Belastung der Backend-Services reduziert und die Performance verbessert und Kosten gesenkt.

    OCI API Gateway cacht außerdem Authentifizierungstoken (basierend auf der Zeit, TTL zu verlassen), wodurch die Last für den Identitätsprovider reduziert und die Performance verbessert wird.

  • Sicherheit

    OCI-Cloud-Services verwenden IAM-Policys, wie das Aufrufen von Funktionen durch API Gateway. API-Gateway kann den Zugriff auch mit OAuth-Authentifizierung und -Autorisierung kontrollieren. IAM ermöglicht Authentifizierung und Autorisierung, die über IAM föderiert werden können. Daher hat das API-Gateway die Möglichkeit, sich bei zahlreichen Services und Authentifizierungssetups zu authentifizieren.

  • High Availability

    Sie sollten eine High-Availability-Option basierend auf Ihren Deployment-Anforderungen und Ihrer Region verwenden. Die Optionen umfassen das Verteilen von Ressourcen auf mehrere Availability-Domains in einer Region und das Verteilen von Ressourcen auf die Faultdomains innerhalb einer Availability-Domain. Faultdomains bieten die beste Resilienz für Workloads, die in einer Availability-Domain bereitgestellt sind. Für High Availability in der Anwendungsebene stellen Sie die Anwendungsserver in verschiedenen Faultdomains bereit, und verteilen Sie Clienttraffic über einen Load Balancer auf die Anwendungsserver.

Mehr erfahren

Weitere Informationen zu den Features dieser Referenzarchitektur finden Sie in diesen zusätzlichen Ressourcen.

Bestätigungen

  • Author: Kaushik Kundu
  • Contributors: Wei Han, Phil Wilkins