Erstellen Sie Azure DevOps CI/CD-Pipelines mit Oracle Exadata Database Service

Ein Split Stack ist, wenn eine Workload in beiden Clouds bereitgestellt wird, in diesem Fall in der Anwendung auf Microsoft Azure, wobei der Oracle Database-Service auf Oracle Cloud Infrastructure (OCI) bereitgestellt wird.

Ein Anwendungs-Stack-to-Stack besteht darin, dass ein vollständiger Stack, der aus der Anwendung und der Datenbank in Azure besteht, zusammenarbeitet und Daten mit einem anderen vollständigen Stack (App und Oracle Database) in OCI teilt.

Bei verschiedenen geschäftlichen und technischen Überlegungen können Sie Ihre Cloud-Workloads in Oracle Cloud und Microsoft Azure zuweisen. Um die Sicherheit zu gewährleisten und die Latenz zu minimieren, ist eine sichere Verbindung zwischen Oracle Cloud- und Azure Cloud-Umgebungen erforderlich.

Oracle und Microsoft haben in bestimmten Regionen eine private cloud-übergreifende Verbindung (Oracle Interconnect for Microsoft Azure) zwischen Oracle Cloud Infrastructure und Microsoft Azure erstellt. Mit Oracle Interconnect for Microsoft Azure können Sie cloudübergreifende Workloads einrichten, ohne dass der Traffic zwischen den Clouds über das Internet geleitet wird.

Daher können Benutzer Azure DevOps CI/CD-Pipelines mit Oracle Exadata Database Service on Dedicated Infrastructure auf Oracle Cloud Infrastructure erstellen und bereitstellen und die unterstützenden virtuellen Netzwerkinfrastrukturressourcen konfigurieren, um dieses Split-Stack-Deployment für eine High Performance- und High Availability-Lösung zu ermöglichen.

Architektur

In dieser Referenzarchitektur erstellen und implementieren Sie CI/CD-Pipelines mit Azure DevOps mit Oracle Exadata Database Service on Dedicated Infrastructure.

Der Anwendungs- und Datenbankquellcode werden im Azure DevOps-Code-Repository oder in Github oder ähnlichem gehostet. Ein Benutzer schreibt Änderungen im Code-Repository fest, das die CI-Pipeline auslöst. Diese Phase umfasst die Ausführung von Einheitentests, Integrationstests, statische Codeanalyse sowie das Testen von Containern im Azure Kubernetes Service-(AKS-)Cluster, um die Bereitstellungsbereitschaft zu überprüfen.

Nachdem die Tests abgeschlossen sind, erstellt die Build-Pipeline Docker-Images und überträgt sie in die Azure-Container-Registry. Diese Build-Artefakte initiieren dann die CD-Pipeline. In der CD-Phase werden die Artefakte in AKS bereitgestellt, wo End-to-End- und Systemtests ausgeführt werden, um sicherzustellen, dass Microservices in der Kubernetes-Umgebung und in der Oracle Database korrekt funktionieren. Staging- und Produktionsumgebungen, die Strategien wie Blue/Green- oder Canary-Deployments verwenden, werden dann initiiert, um die neuen Änderungen ohne Ausfallzeiten bereitzustellen.

Eine Schlüsselkomponente dieser Architektur ist der Oracle Database-Operator, der den Lebenszyklus der Oracle Database verwaltet und Aufgaben wie Provisioning, Skalierung, Backups, Updates und Wartung automatisiert. Diese Integration gewährleistet ein effizientes Datenbankmanagement und eine nahtlose Interaktion zwischen den Microservices in AKS und der Oracle Database. Microservices stellen eine sichere Verbindung zu Oracle Database über ein Interconnect über Azure ExpressRoute und Oracle FastConnect her. Dabei wird eine sichere und zuverlässige Datenbankverbindung beibehalten, wobei die Zugangsdaten über Azure Key Vault verwaltet werden.

Metriken, Protokolle und Tracing des gesamten CI/CD-Prozesses werden kontinuierlich mit Tools wie Azure Monitor, OCI und dem Unified Observability OpenTelemetry-Framework von Oracle Database beobachtet, das Traces vom Einstiegspunkt der Anwendung auf Azure, über alle Subsysteme hinweg und in die Oracle Database bereitstellt, um die Performance und Zuverlässigkeit der Microservices und der Datenbank sicherzustellen. Dieser Ansatz stellt eine robuste, effiziente und skalierbare Lösung für die Bereitstellung und Verwaltung moderner Anwendungen in einer Cloud-nativen Umgebung sicher.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.



oracle-exadata-azure-arch-oracle.zip

Die Architektur umfasst die folgenden Komponenten:

  • Mandantenfähigkeit

    Ein Mandant ist eine sichere und isolierte Partition, die Oracle bei der Registrierung für Oracle Cloud Infrastructure in Oracle Cloud einrichtet. Sie können Ihre Ressourcen in Oracle Cloud in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant ist gleichbedeutend mit einem Unternehmen oder einer Organisation. In der Regel verfügt ein Unternehmen über einen einzelnen Mandanten und spiegelt seine Organisationsstruktur in diesem Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.

  • Region

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

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen in einem Oracle Cloud Infrastructure-Mandanten. Mit Compartments können Sie Ihre Ressourcen in Oracle Cloud organisieren, den Zugriff auf die Ressourcen kontrollieren und Nutzungs-Quotas festlegen. Um den Zugriff auf die Ressourcen in einem bestimmten Compartment zu kontrollieren, definieren Sie Policys, mit denen angegeben wird, wer auf die Ressourcen zugreifen kann und welche Aktionen sie ausführen können.

  • 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 eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Es ist daher wahrscheinlich, dass der Fehler in einer Availability-Domain sich nicht auf die anderen Availability-Domains in der Region auswirkt.

  • Faultdomains

    Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain umfasst drei Fehlerdomänen mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverausfälle, Systemwartungen und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, benutzerdefiniertes 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 Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Load Balancer

    Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der in und aus dem Subnetz zulässig sein muss.

  • Servicegateway

    Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Traffic vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerkstruktur und nie das Internet.

  • FastConnect

    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 ein zuverlässigeres Netzwerkerlebnis im Vergleich zu internetbasierten Verbindungen.

  • Oracle Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Service on Dedicated Infrastructure wird auf Oracle Exadata Cloud Infrastructure auf OCI ausgeführt. Für diejenigen, die in der Public Cloud ausgeführt werden möchten, ist dies die ideale Lösung für die Ausführung von Datenbanken der Enterprise-Klasse als Service in der Cloud. Sie erhalten die gesamte Leistungsfähigkeit und Funktionalität der Oracle Database sowie die der Exadata-Plattform. Sie ist Ihnen gewidmet, bietet jedoch weiterhin alle Cloud-Vorteile von Oracle bei der Verwaltung der Infrastruktur, umfangreiche Cloud-Automatisierung und nutzungsbasierte Cloud-Ökonomie.

  • Object Storage

    Mit dem Objektspeicher können Sie schnell auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps zugreifen, darunter Datenbankbackups, Analysendaten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und geschützt speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne die Performance oder Servicezuverlässigkeit zu beeinträchtigen. Verwenden Sie Standardspeicher für "Hot Storage", auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "Cold Storage, den Sie über lange Zeiträume beibehalten möchten und auf den Sie nur selten zugreifen.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) ist die Zugriffskontrollebene für Oracle Cloud Infrastructure (OCI) und Oracle Cloud Applications. Mit der IAM-API und der Benutzeroberfläche können Sie Identitätsdomains und die Ressourcen in der Identitätsdomain verwalten. Jede OCI IAM-Identitätsdomain stellt eine eigenständige Identity and Access Management-Lösung oder eine andere Benutzerpopulation dar.

  • Audit

    Der Oracle Cloud Infrastructure Audit-Service zeichnet Aufrufe von allen unterstützten öffentlichen API-(Public Application Programming Interface-)Endpunkten von Oracle Cloud Infrastructure automatisch als Logereignisse auf. Derzeit unterstützen alle Services das Logging durch Oracle Cloud Infrastructure Audit.

Diese Architektur unterstützt die folgenden Microsoft Azure-Komponenten.

  • Microsoft Azure VNet und Subnetz

    Microsoft Azure Virtual Network (VNet) ist der grundlegende Baustein für Ihr privates Netzwerk in Azure. Mit VNet können viele Arten von Azure-Ressourcen, wie virtuelle Azure-Maschinen (VM), sicher miteinander, mit dem Internet und On-Premise-Netzwerken kommunizieren.

    Sie definieren die VNet in Azure. Es kann mehrere sich nicht überschneidende CIDR-Blocksubnetze enthalten, die Sie nach dem Erstellen der VNet hinzufügen können. Sie können eine VNet in Subnetze segmentieren, die Sie auf eine Region oder Verfügbarkeitszonen beschränken können. Jedes Subnetz besteht aus einem Bereich fortlaufender Adressen, die sich nicht mit anderen Subnetzen in der VNet überschneiden. Verwenden Sie VNet, um Ihre Azure-Ressourcen logisch auf Netzwerkebene zu isolieren.

  • Virtuelles Netzwerkgateway

    Ein virtuelles Netzwerkgateway ermöglicht Traffic zwischen einer Azure-VNet und einem Netzwerk außerhalb von Azure, entweder über das öffentliche Internet oder über ExpressRoute, je nach angegebenem Gatewaytyp. Dieses Netzwerkgateway wird nicht für den Oracle Database Service for Microsoft Azure Network Link verwendet. Stattdessen können Sie damit Netzwerke On Premise in der VNet verwalten, in der Sie OracleDB für Azure peerten.

  • Microsoft Azure-Routentabelle (Benutzerdefinierte Route - UDR)

    Routentabellen leiten den Traffic zwischen Azure-Subnetzen, VNets und Netzwerken außerhalb von Azure weiter.

    Virtuelle Routentabellen enthalten Regeln zum Weiterleiten von Traffic von Subnetzen zu Zielen außerhalb einer VNet, in der Regel über Gateways. Routentabellen sind mit Subnetzen in einer VNet verknüpft.

  • Microsoft Azure-Availability-Domain

    Die Azure-Availability-Domain oder das Verfügbarkeitsset ist eine logische Gruppierung von virtuellen Maschinen.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • VCN

    Wenn Sie ein VCN erstellen, bestimmen Sie 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 nicht mit anderen Netzwerken (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, für die 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 beim Entwerfen der Subnetze den Trafficfluss und die Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Tier oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

  • 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 Sicherheitslücken zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine Fehlkonfiguration oder unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Ausführung dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.

    Für Ressourcen, für die maximale Sicherheit erforderlich ist, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und 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 im Rezept der Sicherheitszone und lehnt Vorgänge ab, die eine der Policys verletzen.

  • Cloud Guard

    Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektor- und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welcher Typ von Sicherheitsverletzungen eine Warnung generiert und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten Objektspeicher-Buckets ermitteln, deren Sichtbarkeit auf "Öffentlich" gesetzt ist.

    Wenden Sie Cloud Guard auf Mandantenebene an, um den größten Geltungsbereich abzudecken und den Verwaltungsaufwand für die Verwaltung mehrerer Konfigurationen zu reduzieren.

    Sie können auch das Feature "Verwaltete Liste" verwenden, um bestimmte Konfigurationen auf Detektoren anzuwenden.

  • Sicherheitszonen

    Für Ressourcen, für die maximale Sicherheit erforderlich ist, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und 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 im Rezept der Sicherheitszone und lehnt Vorgänge ab, die eine der Policys verletzen.

  • Network Security Groups (NSGs)

    Mit NSGs können Sie ein Set von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Wir empfehlen die Verwendung von NSGs anstelle von Sicherheitslisten, da NSGs es Ihnen ermöglichen, die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung zu trennen.

Hinweise

Beachten Sie die folgenden Punkte, wenn Sie diese Referenzarchitektur bereitstellen möchten.

  • Implementierung
    Beachten Sie bei der Planung der Implementierung dieser Lösung Folgendes:
    • Stellen Sie vor dem Provisioning sicher, dass Sie über angemessene Oracle Exadata Database Service-Limits und OCI-Servicelimits verfügen. Weitere Informationen finden Sie unter OCI-Servicelimits und Erhöhung des Servicelimits beantragen.
    • Planung Ihrer Netzwerktopologie:
      • Sie benötigen mindestens ein virtuelles Azure-Netzwerk (VNet), das Sie mit einem entsprechenden virtuellen OCI-Cloud-Netzwerk (VCN) koppeln können.
      • Die CIDR-Blöcke für alle Azure-VCNs VNets und OCI-VCNs dürfen sich nicht überschneiden.
    • Voraussetzungen für Oracle Interconnect for Microsoft Azure:
      • Einen Oracle Cloud-Account. Wenn Sie keinen Account haben, können Sie sich für einen Oracle Cloud Free Tier-Account registrieren.
      • Ein Azure-Account Wenn Sie keinen Account haben, können Sie sich für einen kostenlosen Azure-Account registrieren.
      • Erforderliche Berechtigungen und Ressourcen-Quota für das Deployment von Ressourcen gemäß der in dieser Referenzarchitektur beschriebenen Topologie.
      • Erfassen Sie OCI-Region, Azure-Region, Interconnect-Regionen und Durchsatzanforderungen.
    • Networking

      Die Anwendung in Azure und die Oracle Database in OCI müssen sich in derselben geografischen Region befinden. Beispiel: Die Anwendung in Azure West European (mit Sitz in Amsterdam, Niederlande) und die Oracle Database in OCI im niederländischen Nordwesten (Amsterdam). Eine Region ist ein lokaler geografischer Bereich, der aus mindestens einer Availability-Domain besteht. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder Kontinente).

  • Verfügbarkeit

    Oracle Exadata Database Service on Dedicated Infrastructure bietet integrierte Best Practices-Features von Oracle. Stellen Sie Ihre Datenbank für die beste Performance, Verfügbarkeit und Sicherheit mithilfe der Cloud-Automatisierung bereit, und Ihr System wird optimal konfiguriert, um die höchsten Service-Levels bereitzustellen. Es stellt automatisch Oracle RAC bereit, um eine skalierbare, hochverfügbare Datenbank bereitzustellen, die für die Ausführung auf der Oracle Exadata Database Service-Cloud-Plattform optimiert ist. Oracle RAC schützt vor ungeplanten Fehlern, indem Arbeit auf mehrere Datenbankinstanzen verteilt wird. Darüber hinaus eliminiert es Ausfallzeiten für Wartungsaktivitäten, indem automatisch Arbeiten von den Servern migriert werden, die Wartungsarbeiten an andere Personen durchführen, die online bleiben.

    Oracle Data Guard bietet Katastrophenschutz in Echtzeit. Wenn Sie die Primärdatenbank oder das Data Center verlieren, können Sie einen Failover der Workload auf eine Standby Site durchführen, die von Oracle Data Guard automatisch verwaltet wird. Mit Oracle Exadata Database Service on Dedicated Infrastructure können Sie Oracle Data Guard ganz einfach mit einem einzigen API-Aufruf oder mit wenigen Mausklicks in der UI mit Cloud-Automatisierung aktivieren. Ebenso unterstützt die Automatisierung kritische Anwendungsfälle wie das Wechseln Ihrer Primärdatenbank zu Ihrer Disaster-Recovery-Site, das Zurückwechseln und das erneute Installieren der Primärdatenbank nach einem Failover.

    Oracle Exadata Database Service unterstützt alle Oracle Maximum Availability-(MAA-)Technologien, die den High Availability Blueprint für Oracle-Datenbanken in der Cloud bilden.

Danksagungen

Authors: Leo Alvarado, Suzanne Holliday, Paul Parkinson