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 |
---|---|---|
Mehrinstanzenfähige SaaS-Anwendungen in Azure | Referenzarchitektur für ein mehrinstanzenfähiges SaaS-Szenario in Azure mit Bereitstellung in mehreren Regionen | Web |
Verwenden des Application Gateway-Eingangsdatencontrollers (AGIC) mit einer Azure Kubernetes Service-Instanz (AKS) mit mehreren Mandanten | Beispiel für die Implementierung von Mehrinstanzenfähigkeit mit AKS und AGIC | Kubernetes |
Durchsuchen der Azure-Architektur | 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 (Skalierungseinheiten) von Anwendungskomponenten bereit, einschließlich Datenspeicher. |
Verbundidentität | Delegieren Sie die Authentifizierung an einen externen Identitätsanbieter. |
Gatekeeper | Schützen Sie Anwendungen und Dienste durch Verwendung einer dedizierten Hostinstanz, die als Broker zwischen Clients und der Anwendung oder dem Dienst fungiert, Anforderungen überprüft und bereinigt sowie Anforderungen und Daten zwischen ihnen weiterleitet. |
Warteschlangenbasierter Lastenausgleich | Verwenden Sie eine Warteschlange, die als Puffer zwischen einer Aufgabe und einem von ihr aufgerufenen Dienst fungiert, um zeitweilige Lastspitzen auszugleichen. |
Sharding | Einen Datenspeicher in einen Satz horizontaler Partitionen oder Shards unterteilen |
Drosselung | Steuern Sie den Verbrauch der von einer Anwendungsinstanz, einem einzelnen Mandanten oder einem gesamten Dienst verwendeten Ressourcen. |
Antimuster
Beim Noisy Neighbor-Antimuster kann sich die Aktivität eines Mandanten negativ auf die Nutzung des Systems durch einen anderen Mandanten auswirken.
Microsoft Azure Well-Architected Framework
Für alle Lösungen ist zwar das gesamte Azure Well-Architected Framework wichtig, achten Sie jedoch insbesondere auf die Säule „Zuverlässigkeit“. Cloudhosting führt naturgemäß zu Anwendungen, die häufig mehrinstanzenfähig sind, gemeinsame Plattformdienste nutzen, um Ressourcen und Bandbreite konkurrieren, über das Internet kommunizieren und auf Standardhardware ausgeführt werden. Dadurch erhöht sich Wahrscheinlichkeit, dass sowohl vorübergehende als auch permanentere Fehler auftreten.
Anleitung zur mehrinstanzenfähigen Architektur
- Entwickeln mehrinstanzenfähiger Lösungen in Azure (Video): In diesem Video wird erläutert, wie Sie mehrinstanzenfähige Lösungen in Azure entwerfen, entwickeln und erstellen. Wenn Sie ein SaaS-Produkt oder einen anderen mehrinstanzenfähigen Dienst erstellen, müssen Sie bei der Planung von Hochleistung, Isolierung von Mandanten und Verwaltung von Bereitstellungen viele Dinge beachten. Diese Sitzung richtet sich an Entwickler und Architekten, die mehrinstanzenfähige oder SaaS-Anwendungen erstellen, einschließlich Startups und unabhängige Softwareanbieter.
- Azure Friday: Entwickeln mehrinstanzenfähiger Lösungen in Azure (Video): In diesem Video von Azure Friday wird erläutert, wie Sie mehrinstanzenfähige SaaS-Lösungen (Software-as-a-Service) in Azure entwerfen, entwickeln und erstellen.
- Beschleunigen und Entschärfen Ihrer Journey zu SaaS (Video): Dieses Video bietet Anleitungen für den Übergang zum SaaS-Bereitstellungsmodell (Software-as-a-Service) – ganz gleich, ob Sie mit einem Lift & Shift-Vorgang einer bestehenden Lösung vom lokalen Standort zu Azure beginnen, eine mehrinstanzenfähige Architektur in Betracht ziehen oder eine bestehende SaaS-Webanwendung modernisieren möchten.
Ressourcen für Azure-Dienste
Governance und Einhaltung
- Organisieren und Verwalten mehrerer Azure-Abonnements: Es ist wichtig, wie Sie Ihre Azure-Abonnements verwalten und wie Sie Abonnements Mandantenressourcen zuordnen.
- Mandantenübergreifende Verwaltungsmöglichkeiten: Als Dienstanbieter*in können Sie mit Azure Lighthouse Ressourcen für mehrere Kund*innen in Ihrem eigenen Microsoft Entra-Mandanten verwalten. Die meisten Aufgaben und Dienste können mit der delegierten Azure-Ressourcenverwaltung über verwaltete Mandanten ausgeführt werden.
- Übersicht über verwaltete Azure-Anwendungen: Bei einer verwalteten Anwendung werden die Ressourcen in einer Ressourcengruppe bereitgestellt, die vom Herausgeber der App verwaltet wird. Die Ressourcengruppe befindet sich zwar im Abonnement des Verbrauchers, eine Identität im Mandanten des Herausgebers hat jedoch Zugriff auf die Ressourcengruppe.
Compute
- Best Practices für Clusterisolierung in Azure Kubernetes Service (AKS): AKS bietet Flexibilität bei der Ausführung mehrinstanzenfähiger Cluster 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.
- Best Practices für Clustersicherheit und Upgrades in Azure Kubernetes Service (AKS): Beim Verwalten von Clustern in Azure Kubernetes Service (AKS) ist die Sicherheit Ihrer Workloads und Daten ein wichtiger Faktor. Wenn Sie Cluster mit mehreren Mandanten und logischer Isolierung verwenden, muss der Zugriff auf Ressourcen und Workloads besonders geschützt werden.
Netzwerk
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 bei Mehrinstanzenfähigen- 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
linkIdentifier
aus 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
), auchLINKID
genannt, 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. - Muster für private SaaS-Konnektivität: Eine Beispiellösung, die einen Ansatz zur Automatisierung der Genehmigung privater Endpunktverbindungen mithilfe von Azure Managed Applications veranschaulicht.
Web
- Anspruchsbasiertes Routing für SaaS-Lösungen: Dieser Artikel beschreibt die Verwendung eines Reverseproxy, um das Routing von Mandanten und die Zuordnung von Anforderungen zu Mandanten zu erleichtern und so die Verwaltung von Back-End-Diensten in SaaS-Lösungen zu verbessern.
Speicher und Daten
- Mehrinstanzenfähige SaaS-Apps in großem Umfang mit Azure Cosmos DB entwerfen und entwickeln (Video): Erfahren Sie, wie Sie mit Azure Cosmos DB mehrinstanzenfähige SaaS-Anwendungen 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. Die Themen dieser Sitzung sind sowohl für Szenarien mit zahlreichen kleinen B2C-Mandanten als auch für Szenarien mit wenigen stark uneinheitlichen B2B-Mandanten relevant.
- 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. Dies ermöglicht bessere Partitionierungsstrategien für Szenarien oder Workloads mit mehreren Mandanten, in denen andernfalls synthetische Partitionsschlüssel verwendet werden müssten.
- Mandantenmuster für mehrinstanzenfähige SaaS-Datenbanken: Eine Reihe von Artikeln, in denen verschiedene Mandantenmodelle beschrieben werden, die für eine mehrinstanzenfähige SaaS-Anwendung mit Azure SQL-Datenbank zur Verfügung stehen.
- Ausführen von einer Million Datenbanken in Azure SQL für einen großen SaaS-Anbieter: Microsoft Dynamics 365 und Power Platform: In diesem Blogbeitrag erfahren Sie, wie das Dynamics 365-Team Datenbanken im großen Stil verwaltet.
- Tutorial: Entwerfen einer mehrinstanzenfähigen Datenbank mithilfe von Azure Database for PostgreSQL – Hyperscale (Citus)
- 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 mehrinstanzenfähiger Anwendungen mit Azure Database for PostgreSQL: Hyperscale (Citus) (Video)
- Mehrinstanzenfähige Anwendungen mit Azure Cosmos DB (Video)
- Video: Building a multitenant SaaS with Azure Cosmos DB and Azure (Erstellen einer mehrinstanzenfähigen SaaS-Lösung mit Azure Cosmos DB und Azure): Eine Fallstudie aus der Praxis, die zeigt, wie Whally, ein Startup für mehrinstanzenfähiges SaaS, eine moderne Plattform von Grund auf in Azure Cosmos DB und Azure erstellt hat. Whally erläutert die Entwurfs- und Implementierungsentscheidungen, die in Bezug auf Partitionierung, Datenmodellierung, sichere Mehrinstanzenfähigkeit, Leistung, Echtzeitstreaming aus dem Änderungsfeed zu SignalR und mehr getroffen wurden, wobei ausschließlich ASP.NET Core in Azure App Services zum Einsatz kam.
- 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.
- Service Bus-Beispiel: 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 (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.
- Was ist Azure Active Directory B2C?: Azure Active Directory B2C ist eine CIAM-Lösung (Customer Identity Access Management), die Millionen von Benutzern und Milliarden von Authentifizierungen pro Tag unterstützt.
- 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.
- Exemplarische Vorgehensweise für die Azure-Architektur: Erstellen einer mehrinstanzenfähigen Azure-Architektur für ein B2C-Szenario: Eine exemplarische Vorgehensweise für die Architektur, die einer mehrinstanzenfähigen mobilen App mit Azure Active Directory B2C Und API Management zugrunde liegt.
- Definieren und Implementieren von Berechtigungen, Rollen und Bereichen mit Microsoft Entra ID in SaaS-Lösung: Dieser Artikel behandelt drei wichtige Konzepte im Zusammenhang mit der Microsoft Entra-Authentifizierung & und -autorisierung, die von SaaS-Anbietern verwendet werden können. Er umfasst Anwendungsrollenfunktionen, delegierte Anwendungsberechtigungen und Bereichsfunktionen.
Analyse
- Mehrinstanzenfähige Lösungen mit Embedded Analytics in Power BI: 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/ML
- Entwurfsmuster für mehrinstanzenfähige SaaS-Anwendungen und die kognitive Azure-Suche: In diesem Dokument werden Strategien zur Isolierung von Mandanten für mehrinstanzenfähige Anwendungen erläutert, die mit Azure Cognitive Search erstellt werden.
- Eine Lösung für ML-Pipelines im Mehrinstanzenmodus: 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-Inhalt
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 und erfordert eine individuelle Konfiguration. In diesem Artikel werden Arten von Mehrinstanzenfähigkeit für Kubernetes erläutert.
- Mehrinstanzenfähigkeit von Kubernetes: Ein Leitfaden zu bewährten Methoden: Mit zunehmender Ausweitung der Kubernetes-Nutzung interessieren sich Unternehmen verstärkt für die Mehrinstanzenfähigkeit. Da Kubernetes jedoch explizit kein mehrinstanzenfähiges System ist, kann die Erstellung einer mehrinstanzenfähigen Implementierung mit einigen Herausforderungen verbunden sein. In diesem Artikel werden diese Herausforderungen sowie deren Bewältigung und einige nützliche Tools für die Mehrinstanzenfähigkeit von Kubernetes beschrieben.
- Capsule: Einfache Mehrinstanzenfähigkeit für Kubernetes: Capsule erleichtert die Implementierung einer mehrmandantenfähigen und richtlinienbasierten Umgebung in Ihrem Kubernetes-Cluster. 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 cloudnative Steuerungsebenenframework: Mit Crossplane können Sie Steuerungsebenen für Ihre eigene Lösung erstellen, indem Sie einen Kubernetes-basierten Ansatz verwenden.
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
Hauptautoren:
- John Downs | Principal Software Engineer
- Paolo Salvatori | Principal Customer Engineer, FastTrack for Azure
- Arsen Vladimirskiy | Principal Customer Engineer, FastTrack for Azure
- LaBrina Loving | Principal Customer Engineering Manager, FastTrack for Azure
Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.