Info zum Entwerfen der Infrastruktur für Hosting von SaaS-Anwendungen
Informationen zu SaaS-Anwendungen
Eine SaaS-Anwendung ist eine Anwendung, die ein Anbieter als Service in der Cloud anbietet. Kunden des Anbieters abonnieren den Service und verwenden die Anwendung, wenn sie ihn benötigen.
Bei einem SaaS-Anbieter ist jeder Abonnent (oder Kunde) ein Mandant.
- Eine einzelne, mandantenfähige Anwendungsinstanz
Bei diesem Muster stellt der SaaS-Hersteller eine einzelne Anwendungsinstanz bereit, die alle Mandanten verwenden. Die Anwendung verarbeitet die Trennung der mandantenspezifischen Workloads und Daten.
Alle Mandanten erhalten dieselbe Anwendungsversion, die aus einer gemeinsamen Codebasis erstellt wurde. Da alle Anwendungs-Deployments auf demselben Code basieren, kann der Hersteller den Service effizient konfigurieren, patchen und upgraden. Skalierung und Betrieb des Service sind einfach.Das Erstellen einer mandantenfähigen Anwendungsumgebung erfordert jedoch zunächst mehr Aufwand. Dieses Deployment-Muster eignet sich nicht für SaaS-Kunden, die eine vollständige Isolation erfordern.
- Mehrere mandantenspezifische Anwendungsinstanzen
Dieses Muster ist der Fokus der Lösung.
Der SaaS-Anbieter stellt mehrere isolierte Anwendungsinstanzen bereit und verwaltet diese. Jedes Deployment ist für einen bestimmten Mandanten bestimmt. Der SaaS-Anbieter verwaltet die einzelnen Mandantenanwendungsinstanzen über eine gemeinsame Verwaltungsebene.
Der Hersteller kann entweder alle Mandantenanwendungsinstanzen aus einer einzelnen Codebasis erstellen oder benutzerdefinierte Versionen der Anwendung für jeden Mandanten bereitstellen. Dieses Muster eignet sich besonders für SaaS-Kunden, die eine vollständige Isolation der Anwendungsumgebung erfordern.
Architektur
Diese Architektur zeigt einen Oracle Cloud Infrastructure-Mandanten, der mehrere Mandanten eines SaaS-Anbieters hostet. Alle Ressourcen in der Architektur befinden sich in einem einzigen Bereich.
Die Managementinfrastruktur des SaaS-Herstellers und die Anwendungsressourcen jedes Mandanten sind in separaten Compartments und virtuellen Cloud-Netzwerken (VCNs) isoliert. Durch die Netzwerkisolierung wird sichergestellt, dass die Anwendungen und Daten von den anderen Deployments im Mandanten getrennt werden. Compartments stellen die logische Isolation der Ressourcen sicher und aktivieren eine granulare Zugriffskontrolle.

Diese Architektur umfasst die folgenden Komponenten:
- Management-Compartment
Das Management-Compartment ist ein logischer Container für alle ISV-spezifischen Ressourcen, die für die gemeinsame Infrastruktur erforderlich sind, mit der die einzelnen Mandantenanwendungs-Deployments verwaltet werden. Sie enthält die folgenden Ressourcen:
- ISV VCN
Die für SaaS ISV erforderlichen Ressourcen für den Zugriff und die Verwaltung ihrer Mandanten sind dem ISV VCN zugeordnet.
- Management Server
Der Management Server ist eine Compute-Instanz in einem privaten Subnetz. Sie können eine Infrastructure-Überwachungsanwendung auf diesem Server ausführen, um die Mandantenserver zu überwachen. Der Management Server ist einem privaten Subnetz in ISV VCN zugeordnet. Der Management Server kann mit den Servern in den Mandanten-Compartments über die Routing-Gateways kommunizieren.
- ISV VCN
- Peering-Compartment
Für die private Kommunikation zwischen den Ressourcen in ISV VCN und den Mandantenressourcen ist eine lokale Peering-Beziehung zwischen ISV VCN und jedem Mandanten-VCN erforderlich. Ein VCN kann jedoch bis zu 10 lokale Peering-Beziehungen haben. Um diese Skalierungseinschränkung zu überwinden, verwendet die Architektur Routinggateways, die eine Verbindung zu mehreren VCNs mit Peering herstellen können. Jede Peering-VCN kann über eine lokale Peering-Beziehung mit bis zu 10 Mandanten-VCNs verfügen. So können Sie die Topologie vertikal skalieren, indem Sie Routinggateways hinzufügen und VCNs im Peering-Compartment hinzufügen.
- Peering-Subnetz
Das Peering-Subnetz ist Teil von ISV VCN. Alle Routinggateways sind diesem Subnetz zugeordnet.
- Routinggateways und Peering von VCNs
Jedes Routinggateway ist eine Oracle Linux Compute-Instanz, die Datenverkehr vom Managementserver über VCN mit Peering an die Mandanten-VNs weiterleitet.
Die primäre VNIC jeder Routinggatewayinstanz wird dem Peering-Subnetz im ISV VCN zugeordnet.
Die sekundären VNICs jeder Routinggatewayinstanz werden den Subnetzen der VCNs mit Peering zugeordnet. Die maximale Anzahl von Peering-VCNs, die ein Routinggateway verwenden kann, hängt von der Anzahl von sekundären VNICs ab, die die Form der zugrunde liegenden Compute-Instanz unterstützt. Beispiel: Wenn ein Routinggateway auf einer Compute-Instanz ausgeführt wird, die die Form
VM.Standard.2.4verwendet, kann es maximal drei sekundäre VNICs aufweisen und bis zu drei Peering-VCNs senden. Jede Peering-VCN kann mit bis zu 10 Mandanten-VCNs verbunden werden. So kann ein Routing-Gateway, das die FormVM.Standard.2.4verwendet, bis zu 30 Anwendungsmandanten unterstützen.Für eine hohe Verfügbarkeit jedes Routinggateways können Sie ein Aktiv-Passiv-Paar von Compute-Instanzen mit einer verschiebbaren IP-Adresse einrichten und Software wie Pacemaker und Corosync verwenden, um automatisches Failover sicherzustellen.
- Peering-Subnetz
- Mandanten-Compartments
Die Ressourcen für jeden Mandanten sind in einem separaten Compartment enthalten. Jedes Mandanten-Compartment enthält eine VCN, an die alle Ressourcen für diesen Mandanten angehängt sind. Die Ressourcen für jeden Mandanten verwenden also einen eindeutigen Adressraum in einem Netzwerk, der von allen anderen Mandanten in der Topologie isoliert ist.
In jedem Mandanten-Compartment können Sie eine Compute-Instanz bereitstellen, auf der ein Agent ausgeführt wird, der die Server im Compartment überwachen und Metriken an den Management Server im ISV VCN senden kann.
Wenn Sie neue Anwendungsmandanten hinzufügen, werden die erforderlichen Ressourcen für den neuen Mandanten in einem neuen Compartment bereitgestellt.
Mandanten können über das öffentliche Internet oder über eine private Verbindung (IPSec VPN oder FastConnect) auf ihre Anwendung zugreifen. Für den Zugriff über das öffentliche Internet benötigt jede Mandanten-VCN ein Internetgateway. Für den Zugriff über VPN oder FastConnect ist eine DRG erforderlich. Das Architekturdiagramm zeigt nicht die Internetgateways und die DRGs für die Mandanten-VCNs an.
Erforderliche Services und Policys
Diese Lösung erfordert die folgenden Services und Policys zur Verwaltung von Zugriffsberechtigungen:
| Service | Policys erforderlich für... |
|---|---|
| Oracle Cloud Infrastructure Identity and Access Management | Compartments erstellen und verwalten. |
| Oracle Cloud Infrastructure Networking | VCNs, Subnetze, Internetgateways, Routentabellen, Sicherheitslisten, LPGs und DRGs erstellen und verwalten |
| Oracle Cloud Infrastructure Compute | Erstellen und verwalten Sie Compute-Instanzen. |
In wird beschrieben, wie Sie Oracle Cloud-Services für Oracle-Lösungen erhalten, um die benötigten Cloud-Services zu erhalten.