Bereitstellen .NET-Anwendungen auf Oracle Cloud Infrastructure

Anwendungscontainer bieten viele Vorteile, da sie unveränderlich sind, eine portierbare Infrastruktur bereitstellen und sich einfach skalieren lassen. Organisationen werden ausgeführt.NET-Anwendungen können von diesen Vorteilen profitieren, indem sie ihre Anwendungen containerisieren und bereitstellen.NET-Anwendungen auf Oracle Cloud Infrastructure (OCI).

Die .NET-Anwendungen müssen portiert werden von .NET-Framework bis .NET zur Ausführung auf Linux-Containern. In dieser Architektur ist eine Oracle-Datenbank die zugrunde liegende Datenbank der Anwendung. Wenn vorhanden .NET-Anwendung verwendet eine andere Datenbank. Sie können bestimmte Tools und Migrationsmethoden verwenden, um solche Datenbanken in OCI in die Oracle-Datenbank zu migrieren.

Architektur

Diese Architektur basiert auf der Infrastruktur, die für die Bereitstellung erforderlich ist.NET-Anwendungen auf OCI.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung vonploy-net-oci-arch.png folgt
Beschreibung der Abbildung Deploy-net-oci-arch.png

ploy-net-oci-arch-oracle.zip

Diese Architektur hat die folgenden Komponenten:
  • Mandant

    Wenn Sie sich für Oracle Cloud Infrastructure registrieren, erstellt Oracle einen Mandanten für Ihr Unternehmen. Ein Mandant ist eine sichere und isolierte Partition innerhalb von Oracle Cloud Infrastructure, in der Sie Ihre Cloud-Ressourcen erstellen, organisieren und verwalten können.

  • Region

    Eine OCI-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center, also Availability-Domains, enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (auf Ländern oder sogar Kontinenten).

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen in einem OCI-Mandanten. Mit Compartments können Sie Ihre Ressourcen in Oracle Cloud organisieren, den Zugriff auf die Ressourcen kontrollieren und Nutzungsquoten 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.

  • Verfügbarkeitsdomains

    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, Kühlung oder das interne Availability-Domainnetzwerk. Daher ist es wahrscheinlich, dass sich ein Fehler in einer Availability-Domain 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 Faultdomains mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen damit den physischen Serverausfall, die Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer OCI-Region einrichten. Wie bei traditionellen Data Center-Netzwerken erhalten Sie mit VCNs die 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 einer Region oder einer Availability-Domain zugeordnet werden können. Jedes Subnetz besteht aus einem fortlaufenden Adressbereich, der sich mit den anderen Subnetzen im VCN nicht überschneidet. 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 Entry Point zu mehreren Servern im Backend. Der Load Balancer bietet Zugriff auf verschiedene Anwendungen.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Traffictyp angeben, der in das und aus dem Subnetz zugelassen werden muss.

  • Internetgateway

    Das Internetgateway ist ein optionaler virtueller Router, den Sie Ihrem VCN hinzufügen können, um direkte Verbindungen zum Internet zu ermöglichen.

  • Container-Registry

    Oracle Cloud Infrastructure Registry (auch als Container Registry bezeichnet) ist eine von Oracle verwaltete Registry, mit der Sie Ihren Workflow von der Entwicklung bis zur Produktion vereinfachen können. Mit Container Registry können Sie Containerimages (wie Docker-Images) ganz einfach speichern, freigeben und verwalten. Dank der hochverfügbaren und skalierbaren Architektur von OCI können Sie Ihre Anwendungen zuverlässig bereitstellen. Daher müssen Sie sich nicht um betriebliche Probleme kümmern oder die zugrunde liegende Infrastruktur skalieren.

  • Cloud Guard

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure ü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 fehlerhafte oder unsichere Aktivitäten erkannt werden, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt die Durchführung dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.

  • Sicherheitszone

    Sicherheitszonen stellen von Anfang an sicher, dass die Best Practices von Oracle für die Sicherheit durchgesetzt werden, indem Policys wie das Verschlüsseln von Daten und das Verhindern des öffentlichen Zugriffs auf Netzwerke für ein gesamtes Compartment durchgesetzt werden. Eine Sicherheitszone ist mit einem Compartment mit demselben Namen verknüpft und umfasst Sicherheitszonen-Policys oder ein "Rezept", das für das Compartment und die zugehörigen Sub-Compartments gilt. Sie können ein Standard-Compartment nicht zu einem Sicherheitszonen-Compartment hinzufügen oder verschieben.

  • Object Storage

    Der Objektspeicher bietet schnellen Zugriff auf große Mengen an strukturierten und unstrukturierten Daten mit beliebigen Inhaltstypen, darunter Datenbankbackups, Analysedaten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher im Internet oder in der Cloud-Plattform speichern und daraus abrufen. Sie können den Speicher nahtlos skalieren, ohne dass die Performance oder die Servicezuverlässigkeit beeinträchtigt wird. Verwenden Sie Standardspeicher für "Hot"-Speicher, auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archive Storage für "kalten" Speicher, den Sie über lange Zeiträume aufbewahren, selten oder selten.

  • Container Engine for Kubernetes

    Oracle Container Engine for Kubernetes (OKE) ist ein von Oracle verwalteter Container-Orchestrierungsservice, der die Zeit und Kosten für die Erstellung moderner cloud-nativer Anwendungen reduzieren kann. DevOps Ingenieure können unveränderte Open-Source-Kubernetes nutzen, um die Portabilität von Anwendungs-Workloads zu ermöglichen und Vorgänge mit automatischen Updates und Patching zu vereinfachen.

  • Oracle Database Cloud Service

    Oracle Database Cloud Service ermöglicht es Ihnen, Oracle-Datenbanken einfach in der Cloud zu erstellen, zu skalieren und zu sichern. Sie erstellen Datenbanken in DB-Systemen als virtuelle Maschinen mit Block-Volumes, von denen beide leistungsstark und kostengünstig sind. Der Service unterstützt auch die "Cloud-First"-Oracle RAC-Implementierung auf VM-Servern auf der virtuellen Cloud-Netzwerkschicht.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt beim Deployment.NET-Anwendungen auf OCI. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • VCN

    Legen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen fest, die Sie den Subnetzen im VCN zuordnen möchten. Verwenden Sie CIDR-Blöcke, die sich im privaten Standard-IP-Adressraum befinden.

    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 dessen 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 verwendet werden kann.

    Regionale Subnetze verwenden

  • Sicherheit

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in OCI 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 fehlerhafte oder unsichere Aktivitäten erkannt werden, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt die Durchführung 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 mit 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 dann mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert OCI die Vorgänge anhand der Policys im Rezept "security-zone" und lehnt Vorgänge ab, die gegen eine der Policys verstoßen.

  • 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 können Object Storage-Buckets ermitteln, deren Sichtbarkeit auf "Öffentlich" gesetzt ist.

    Wenden Sie Cloud Guard auf Mandantenebene an, um den umfassendsten Geltungsbereich abzudecken und den Administrationsaufwand für die Verwaltung mehrerer Konfigurationen zu reduzieren.

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

  • Sicherheitszonen

    Mit Sicherheitszonen haben Sie die Gewissheit, dass Ihre Ressourcen in Oracle Cloud Infrastructure, einschließlich Compute, Networking, Object Storage und Datenbankressourcen, den Sicherheitsprinzipien von Oracle entsprechen.

    Eine Sicherheitszone ist mit einem Compartment und einem Rezept für die Sicherheitszone verknüpft. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure diese Vorgänge mit der Liste der Policys, die im Sicherheitszonenrezept definiert sind. Wenn eine Sicherheitszonen-Policy verletzt wird, wird der Vorgang abgelehnt.

  • Netzwerksicherheitsgruppen (NSGs)

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

  • Load-Balancer-Bandbreite

    Beim Erstellen des Load Balancers können Sie entweder eine vordefinierte Ausprägung auswählen, die eine feste Bandbreite bereitstellt, oder eine benutzerdefinierte (flexible) Ausprägung angeben, in der Sie einen Bandbreitenbereich festlegen und die Bandbreite basierend auf Trafficmustern automatisch skalieren lassen. Bei beiden Lösungen können Sie die Ausprägungen nach dem Erstellen des Load Balancers jederzeit ändern.

Hinweise

Beachten Sie die folgenden Punkte beim Deployment dieser Referenzarchitektur.

  • Anwendungsporting

    .NET-Anwendungen müssen portiert werden von .NET-Framework bis .NET.

  • Zugriff

    Die vorgeschlagene Architektur verwendet standardmäßig kein CDN. Sie kann jedoch bei Bedarf erweitert werden, um ein CDN in OCI zu integrieren.

  • Statusverwaltung

    Die Datenbank wird außerhalb des Containers bereitgestellt, um ihre Statusverfügbarkeit besser zu verwalten.

  • Verfügbarkeit

    Die Architektur verwendet einen OCI-Load Balancer anstelle von Kubernetes-Ingress.

Bereitstellen

Um diese Architektur bereitzustellen, befolgen Sie die Anweisungen hier:

Mehr anzeigen

Erfahren Sie mehr über das Deployment.NET-Anwendungen auf Oracle Cloud Infrastructure.

Prüfen Sie die folgenden zusätzlichen Ressourcen:

Danksagungen

  • Autor: Maher Al Dabbas
  • Beitragender: Dawn Tyler (Illustrator)