Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält eine Reihe von Links und Ressourcen für Architekten und Entwickler mehrinstanzenfähiger Lösungen.
Architekturen für mehrinstanzenfähige Anwendungen
Die folgenden Artikel enthalten Beispiele für mehrinstanzenfähige Architekturen in Azure:
| Aufbau | Zusammenfassung | Technologieschwerpunkt |
|---|---|---|
| Verwenden Sie den Application Gateway Ingress Controller (AGIC) mit einem Multi-Tenant Azure Kubernetes Service (AKS) Cluster | Beispiel für die Implementierung von Mehrinstanzenfähigkeit mit AKS und AGIC | Kubernetes |
| Alle Multi-Tenant-Architekturen | Hier werden alle mehrinstanzenfähigen Architekturen aufgeführt. | Mehrere |
Cloudentwurfsmuster
Die folgenden Cloudentwurfsmuster kommen häufig in mehrinstanzenfähigen Architekturen zum Einsatz:
| Muster | Zusammenfassung |
|---|---|
| Muster mit Bereitstellungsstempeln | Stellen Sie mehrere unabhängige Kopien (oder Skalierungseinheiten) von Anwendungskomponenten bereit, einschließlich Datenspeichern. |
| Verbundidentität | Delegieren Sie die Authentifizierung an einen externen Identitätsanbieter. |
| Torwächter | Schützen Sie Anwendungen und Dienste mithilfe einer dedizierten Hostinstanz, die als Broker zwischen Clients und der Anwendung oder dem Dienst dient, überprüft und sanitiert Anforderungen und übergibt Anforderungen und Daten zwischen diesen. |
| Warteschlangenbasierter Lastenausgleich | Verwenden Sie eine Warteschlange, die als Puffer zwischen einer Aufgabe und einem Dienst dient, den sie aufruft, um temporäre Lastspitzen abzufedern. |
| Sharding | Einen Datenspeicher in einen Satz horizontaler Partitionen oder Shards unterteilen |
| Drosselung | Steuern sie den Verbrauch von Ressourcen, die von einer Anwendungsinstanz, einem einzelnen Mandanten oder einem gesamten Dienst verwendet werden. |
Antimuster
Berücksichtigen Sie den Antipattern "Noisy Neighbor", in dem sich die Aktivität eines Mandanten negativ auf die Nutzung des Systems eines anderen Mandanten auswirken kann.
Microsoft Azure Gut-Architekturiertes Framework
Wenn Sie ein SaaS entwerfen, verwenden Sie die Microsoft Azure Well-Architected Framework-Workload für SaaS , um umsetzbare Architekturanleitungen zu erhalten, die für SaaS-Lösungen spezifisch sind.
Für alle Lösungen, einschließlich der mehrinstanzenfähigen Architekturen, ist zwar das gesamte Azure Well-Architected Framework wichtig, achten Sie jedoch insbesondere auf die Säule „Zuverlässigkeit“. Die Art des Cloudhostings führt zu Anwendungen, die häufig multitenant sind, gemeinsame Plattformdienste verwenden, um Ressourcen und Bandbreite konkurrieren, über das Internet kommunizieren und auf Rohstoffhardware ausgeführt werden. Diese Umgebung erhöht die Wahrscheinlichkeit, dass sowohl vorübergehende als auch permanente Fehler auftreten.
Anleitung zur mehrinstanzenfähigen Architektur
Entwerfen von multitenanten Lösungen auf Azure (Video): Dieses Video beschreibt, wie Sie Multitenant-Lösungen auf Azure entwerfen und erstellen. Wenn Sie ein SaaS-Produkt oder einen anderen mehrinstanzenfähigen Dienst erstellen, gibt es vieles zu berücksichtigen, wenn Sie hohe Leistung, Mandantenisolation und die Bereitstellungsverwaltung planen. Diese Sitzung richtet sich an Entwickler und Architekten, die multitenant oder SaaS-Anwendungen erstellen, einschließlich Startups und ISVs.
Azure Friday – Multitenant-Lösungen auf Azure (Video): In diesem Video von Azure Friday wird beschrieben, wie Sie mehrinstanzenfähige SaaS-Lösungen auf Azure entwerfen, gestalten und erstellen.
Beschleunigen und minimieren Sie die Risiken Ihrer Reise zu SaaS (Video): Dieses Video bietet Anleitungen für den Übergang zum SaaS-Bereitstellungsmodell, unabhängig davon, ob Sie eine bestehende Lösung von einer lokalen Umgebung zu Azure migrieren, eine mehrinstanzenfähige Architektur in Betracht ziehen oder eine vorhandene SaaS-Webanwendung modernisieren.
Ressourcen für Azure-Dienste
Verwenden Sie die folgenden Ressourcen, um Ihnen beim Erstellen von mehrinstanzenfähiger Architekturen in Azure zu helfen.
Governance und Einhaltung
Organisieren und Verwalten mehrerer Azure-Abonnements: Es ist wichtig zu berücksichtigen, wie Sie Ihre Azure-Abonnements verwalten und wie Sie Mandantenressourcen den Abonnements zuordnen.
Mandantenübergreifende Verwaltungserfahrungen: Als Dienstanbieter können Sie Azure Lighthouse verwenden, um Ressourcen für mehrere Kunden in Ihrem eigenen Microsoft Entra-Mandanten zu verwalten. Viele Aufgaben und Dienste können über verwaltete Mandanten hinweg mithilfe der delegierten Ressourcenverwaltung von Azure ausgeführt werden.
Von Azure verwaltete Anwendungen: In einer verwalteten Anwendung werden die Ressourcen in einer Ressourcengruppe bereitgestellt, die der Herausgeber der App verwaltet. Die Ressourcengruppe befindet sich zwar im Abonnement des Heimanwenders, eine Identität im Mandanten des Herausgebers hat jedoch Zugriff auf die Ressourcengruppe.
Berechnen
Bewährte Methoden für die Clusterisolation in AKS: AKS bietet Flexibilität bei der Ausführung von multitenanten Clustern und kann Ressourcen isolieren. Um den Nutzen Ihrer Investition in Kubernetes zu maximieren, müssen Sie zunächst die AKS-Features für Mehrinstanzenfähigkeit und Isolation verstehen und implementieren. Dieser Best Practices-Artikel konzentriert sich auf die Isolierung für Clusteroperator.
Bewährte Methoden für Clustersicherheit und -upgrades in AKS: Während Sie Cluster in AKS verwalten, ist Arbeitsauslastung und Datensicherheit eine wichtige Überlegung. Wenn Sie Multitenantcluster mithilfe der logischen Isolierung ausführen, ist die Sicherung des Ressourcen- und Workloadzugriffs von entscheidender Bedeutung.
Netzwerk
Azure Private Link
- Azure Private Link Service-Erklärung und Demos von Anbieter (SaaS ISV) und Verbraucherperspektiven: Ein Video, das das Azure Private Link Servicefeature untersucht, das mehrinstanzenfähige Dienstanbieter (z. B. unabhängige Softwareanbieter beim Erstellen von SaaS-Produkten) ermöglicht. Mit dieser Lösung können Verbraucher über private IP-Adressen aus den eigenen virtuellen Azure-Netzwerken des Anbieters auf den Dienst des Anbieters zugreifen.
- TCP Proxy Protocol v2 mit Azure Private Link Service – Deep Dive: Ein Video, das einen tiefen Einblick in das TCP-Proxyprotokoll v2 bietet, das ein erweitertes Feature des Azure Private Link-Diensts ist. Es ist nützlich in Mehrmandanten- und SaaS-Szenarien. Das Video zeigt, wie Sie Proxyprotokoll v2 im Azure Private Link Dienst aktivieren. Außerdem wird gezeigt, wie Sie einen NGINX-Dienst so konfigurieren, dass die private Quell-IP-Adresse des ursprünglichen Clients (anstelle der NAT-IP-Adresse) gelesen wird, um über den privaten Endpunkt auf den Dienst zuzugreifen.
-
Verwendung von NGINX Plus zum Decodieren des Proxyprotokolls TLV
linkIdentifieraus dem Azure Private Link-Dienst: Ein Video, das zeigt, wie Sie NGINX Plus verwenden, um das TCP-Proxyprotokoll v2 TLV vom Azure Private Link-Dienst abzurufen. Das Video zeigt, wie Sie dann den numerischen Linkbezeichner (linkIdentifier), auchLINKIDgenannt, der privaten Endpunktverbindung extrahieren und decodieren können. Diese Lösung ist nützlich für mehrinstanzenfähige Anbieter, die den spezifischen Verbrauchermandanten identifizieren müssen, aus dem die Verbindung hergestellt wurde. - SaaS Private Connectivity-Muster: Eine Beispiellösung, die einen Ansatz zur Automatisierung der Genehmigung privater Endpunktverbindungen mithilfe von Azure Managed Applications veranschaulicht.
das Internet
- Anspruchsbasiertes Routing für SaaS-Lösungen: In diesem Artikel wird die Verwendung eines Reverseproxys beschrieben, um das Weiterleiten und Zuordnen von Mandantenanforderungen an Mandanten zu erleichtern und die Verwaltung von Back-End-Diensten in SaaS-Lösungen zu verbessern.
Speicher und Daten
Entwerfen und Erstellen von mehrinstanzenfähigen SaaS-Apps mit Azure Cosmos DB (Video): Erfahren Sie, wie Sie mehrinstanzenfähige SaaS-Anwendungen mithilfe von Azure Cosmos DB entwerfen und optimieren. Bei dieser Sitzung stellen wir wichtige Aspekte vor, die Sie beim Entwurf beachten sollten. Dabei geht es um die Mandantenisolation, die Senkung der Kosten und die globale Verteilung. Der Inhalt dieser Sitzung gilt unabhängig davon, ob Sie über ein hohes Volumen von B2C-Mandanten (Small Business to Consumer) oder über ein geringes Volumen von stark schiefen Business-to-Business-Mandanten verfügen.
Azure Cosmos DB und mehrinstanzenfähige Systeme: In diesem Blogbeitrag wird die Erstellung eines mehrinstanzenfähigen Systems mit Azure Cosmos DB erläutert.
Hierarchische Partitionsschlüssel in Azure Cosmos DB: Mithilfe hierarchischer Partitionsschlüssel (auch als Unterpartitionierung bezeichnet), können Sie Ihren Container nativ mit mehreren Partitionsschlüsselebenen partitionieren. Dieser Ansatz ermöglicht optimale Partitionierungsstrategien für Szenarien mit mehreren Mandanten oder Workloads, die andernfalls synthetische Partitionsschlüssel verwenden würden.
Azure SQL Database multitenant SaaS-Datenbank-Mandantenmuster: Eine Reihe von Artikeln, die verschiedene Mandantenmodelle beschreiben, die für eine mehrinstanzenfähige SaaS-Anwendung mit Azure SQL-Datenbank verfügbar sind.
Ausführen von 1 Millionen Datenbanken auf Azure SQL für einen großen SaaS-Anbieter: Microsoft Dynamics 365 und Power Platform: Ein Blogbeitrag, der beschreibt, wie das Dynamics 365-Team Datenbanken skaliert verwaltet.
Entwerfen einer mehrinstanzenübergreifenden Datenbank mithilfe von Azure Cosmos DB für PostgreSQL
Horizontale, vertikale und funktionale Datenpartitionierung: In vielen umfangreichen und mehrinstanzenfähigen Lösungen werden Daten in Partitionen unterteilt, die separat verwaltet und aufgerufen werden können. Partitionierung kann die Skalierbarkeit verbessern, Konflikte reduzieren und die Leistung optimieren. Außerdem kann sie zum Aufteilen von Daten nach Verwendungsmuster und Mandant verwendet werden.
Strategien für die Datenpartitionierung: In diesem Artikel werden einige Strategien zum Partitionieren von Daten in verschiedenen Azure-Datenspeichern beschrieben.
Erstellen von Mehrinstanzenanwendungen mit Azure-Datenbank für PostgreSQL Hyperscale Citus (Video)
Erstellen Sie ein mehrinstanzenfähiges SaaS mit Azure Cosmos DB und Azure (Video): Eine praxisnahe Fallstudie, wie Whally, ein mehrinstanzenfähiger SaaS-Start, eine moderne Plattform von Grund auf auf Azure Cosmos DB und Azure aufgebaut hat. Whally zeigt die Design- und Implementierungsentscheidungen, die sie im Zusammenhang mit Partitionierung, Datenmodellierung, sicherer Mehrinstanzenfähigkeit, Leistung und Echtzeitstreaming von Änderungsfeed zu SignalR getroffen haben, alle mit ASP.NET Core in Azure App Services.
Mehrinstanzenfähige Entwurfsmuster für SaaS-Anwendungen in Azure SQL-Datenbank (Video)
Nachrichten
Grundlegendes zu Ereignisdomänen für die Verwaltung von Event Grid-Themen: Azure Event Grid-Domänen ermöglichen die Verwaltung mehrinstanzenfähiger Ereignisarchitekturen im großen Stil.
Mandantenübergreifende Kommunikation mithilfe von Azure Service Bus: Beispielimplementierung von Azure Service Bus, die zeigt, wie zwischen einem zentralen Anbieter und einem oder mehreren Kunden (oder Mandanten) kommuniziert wird.
Identität
Mandanten in Microsoft Entra ID: Microsoft Entra ID hat ein eigenes Konzept für Mehrinstanzenfähigkeit, das sich auf die Arbeit in mehreren Microsoft Entra-Verzeichnissen bezieht. Wenn Entwickler mit Microsoft Entra-Apps arbeiten, können sie ihre App entweder als einzelinstanzenfähig oder mehrinstanzenfähig konfigurieren und so verschiedene Szenarien unterstützen.
Erstellen eines mehrinstanzenfähigen Daemons mit dem Microsoft Identity Platform-Endpunkt: Diese Beispielanwendung zeigt, wie Sie mithilfe des Endpunkts Microsoft Identity Plattform in einem nicht interaktiven Prozess mit langer Ausführungsdauer auf die Daten von Microsoft-Geschäftskunden zugreifen. Dabei wird die Gewährung von OAuth 2.0-Clientanmeldeinformationen verwendet, um ein Zugriffstoken abzurufen, das dann verwendet wird, um Microsoft Graph aufzurufen und auf Organisationsdaten zuzugreifen.
Authentifizieren und Autorisieren mehrinstanzenfähiger Apps mithilfe von Microsoft Entra ID: Erfahren Sie, wie Sie mit Microsoft Entra ID die Funktionalität cloudnativer Apps in Szenarien mit mehreren Mandanten verbessern können.
Definieren und Implementieren von Berechtigungen, Rollen und Bereichen mit Microsoft Entra ID in SaaS-Lösungen: In diesem Artikel werden drei Hauptkonzepte für die Microsoft Entra-Authentifizierung und Autorisierung behandelt, die SaaS-Anbieter verwenden können. Er umfasst Anwendungsrollenfunktionen, delegierte Anwendungsberechtigungen und Bereichsfunktionen.
Analysen
- Multitenancy-Lösungen mit eingebetteter Power BI-Analyse: Wenn Sie eine mehrinstanzenfähige Anwendung entwerfen, die Power BI Embedded enthält, müssen Sie sorgfältig das Mandantenmodell auswählen, das Ihren Anforderungen am besten entspricht.
Iot
- Mehrinstanzenfähigkeit beim IoT Hub Device Provisioning Service: Von einer mehrinstanzenfähigen IoT-Lösung werden Mandantengeräte in der Regel unter Verwendung einer Gruppe von IoT-Hubs zugewiesen, die über Regionen verteilt sind.
KI und Machine Learning
Leitfaden zum Entwerfen einer sicheren multitenanten Retrieval-Augmented Generation (RAG) Inferencing-Lösung: In diesem Dokument wird beschrieben, wie das RAG-Muster innerhalb von mehrinstanzenfähigen Lösungen angewendet wird, wobei mandantenspezifische Daten für die Ableitung verwendet werden müssen.
Entwurfsmuster für mehrinstanzenfähige SaaS-Anwendungen und Azure AI Search: In diesem Dokument werden Mandantenisolationsstrategien für multiinstanzenfähige Anwendungen beschrieben, die mit AI Search erstellt werden.
Eine Lösung für die Machine Learning-Pipeline auf mehrinstanzenfähige Weise: In diesem Blogbeitrag wird beschrieben, wie Azure Machine Learning-Pipelines entwickelt werden können, um mehrere Mandanten mithilfe von Azure Machine Learning-Arbeitsbereichen zu unterstützen.
Community-Inhalte
Kubernetes
Drei Mandantenmodelle für Kubernetes: Kubernetes-Cluster werden in der Regel von mehreren Teams in einer Organisation verwendet. In diesem Artikel werden drei Mandantenmodelle für Kubernetes erläutert.
Grundlegendes zur Mehrinstanzenfähigkeit von Kubernetes: Kubernetes ist standardmäßig nicht mehrinstanzenfähig. Sie erfordert eine benutzerdefinierte Konfiguration. In diesem Artikel werden Arten von Mehrinstanzenfähigkeit für Kubernetes erläutert.
Bewährte Methoden für Kubernetes: Kubernetes Multitenancy ist ein Thema, an dem Organisationen zunehmend interessiert sind, da sich ihre Kubernetes-Nutzung ausbreitet. Da Kubernetes jedoch kein mehrinstanzenfähiges System ist, kann es schwierig sein, eine Multitenant Kubernetes-Implementierung zu entwerfen. In diesem Artikel werden diese Herausforderungen beschrieben, wie sie überwunden werden können, und einige nützliche Tools für kubernetes Multitenancy.
Kapsel: Kubernetes-Mandantenfähigkeit einfach gemacht: Capsule hilft dabei, eine mandantenfähige und richtliniengesteuerte Umgebung in Ihrem Kubernetes-Cluster zu implementieren. Es handelt sich nicht um ein PaaS-Angebot (Platform as a Service), sondern vielmehr um ein auf Microservices basierendes Ökosystem mit minimalistischem Designansatz, wobei lediglich die Upstreamversion von Kubernetes genutzt wird.
Crossplane: Das cloudeigene Steuerungsebenenframework: Crossplane ermöglicht es Ihnen, Steuerebenen für Ihre eigene Lösung mithilfe eines Kubernetes-basierten Ansatzes zu erstellen.
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautoren:
- John Downs | Principal Software Engineer, Azure Patterns & Practices
- Paolo Salvadori | Principal Customer Engineer, FastTrack für Azure
- Arsen Vladimirskiy | Principal Customer Engineer, FastTrack für Azure
- LaBrina Loving | Principal Customer Engineering Manager, FastTrack für Azure
Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.