Überlegungen zur Architektur einer mehrinstanzenfähigen Lösung

Azure

Wenn Sie eine mehrinstanzenfähige Architektur in Betracht ziehen, müssen Sie einige Entscheidungen treffen und verschiedene Elemente berücksichtigen.

In einer mehrinstanzenfähigen Architektur werden einige oder alle Ressourcen von mehreren Mandanten gemeinsam genutzt. Dieser Prozess bedeutet, dass eine mehrinstanzenfähige Architektur Effizienz in Bezug auf Kosten und Betrieb bieten kann. Gleichzeitig sorgt sie aber auch für Komplexität. Sie müssen sich die folgenden Fragen stellen:

  • Wie definieren Sie einen Mandanten für Ihre spezifische Lösung? Entspricht ein Mandant einem Kunden, einem Benutzer oder einer Gruppe von Benutzern (z. B. einem Team oder einer Familie)?
  • Wie stellen Sie Ihre Infrastruktur bereit, um Mehrinstanzenfähigkeit zu unterstützen, und in welchem Maß werden Mandanten voneinander isoliert?
  • Welche kommerziellen Preismodelle bietet Ihre Lösung, und wie wirken sich Ihre Preismodelle auf die Anforderungen für die Mehrinstanzenfähigkeit aus?
  • Welches Servicelevel müssen Sie Ihren Mandanten im Hinblick auf Leistung, Resilienz, Sicherheit und die Anforderungen für die Compliance (z. B. Datenresidenz) bieten?
  • Welchen Plan verfolgen Sie im Hinblick auf das Wachstum Ihres Unternehmens oder den Ausbau Ihrer Lösung? Lässt sie sich für die Anzahl der Mandanten skalieren, die Sie erwarten?
  • Gelten für Ihre Mandanten ungewöhnliche oder besondere Anforderungen? Benötigt Ihr größter Kunde zum Beispiel eine höhere Leistung oder höhere Garantiezusagen als Ihre anderen Kunden?
  • Wie überwachen, verwalten, automatisieren, skalieren und steuern Sie Ihre Azure-Umgebung, und wie wirkt sich die Mehrinstanzenfähigkeit auf Ihre Verwaltungsstrategie aus?
  • Welche Komponenten Ihrer Lösung werden für das Onboarding und die Verwaltung von Mandanten verwendet, und wie müssen diese Komponenten gestaltet sein?

Unabhängig von der gewählten Architektur ist es wichtig, dass Sie über ein klares Verständnis der Anforderungen Ihrer Kunden oder Mandanten verfügen. Wenn Sie Ihren Kunden gegenüber Vertriebsverpflichtungen eingegangen sind oder vertragliche Verpflichtungen oder Complianceanforderungen erfüllen müssen, müssen diese Anforderungen beim Entwerfen der Lösung bekannt sein. Ebenso können Ihre Kunden implizite Erwartungen hinsichtlich der Funktionsweise oder des Verhaltens haben, die sich auf den Entwurf einer mehrinstanzenfähigen Lösung auswirken können.

Angenommen, Sie erstellen eine mehrinstanzenfähige Lösung, die Sie an Unternehmen in der Finanzdienstleistungsbranche verkaufen. Ihre Kunden haben sehr strenge Sicherheitsanforderungen, und sie benötigen eine umfassende Liste aller Domänennamen, die ihre Lösung verwendet, damit sie sie der Zulassungsliste ihrer Firewall hinzufügen können. Diese Anforderung wirkt sich auf die von Ihnen verwendeten Azure-Dienste und den Isolationsgrad aus, den Sie zwischen Ihren Mandanten einrichten müssen. Außerdem verlangt der Kunde, dass ihre Lösung ein Mindestmaß an Ausfallsicherheit aufweist. Es kann zahlreiche ähnliche (explizite und implizite) Erwartungen geben, die Sie in Ihrer gesamten Lösung berücksichtigen müssen.

In diesem Abschnitt werden einige Aspekte erläutert, die Sie bei der Planung einer mehrinstanzenfähigen Architektur berücksichtigen müssen, die Anforderungen, die Sie ermitteln sollten, und einige der Kompromisse, die Sie eingehen müssen.

Zielpublikum

Die Artikel in diesem Abschnitt sind besonders für technische Entscheidungsträger wie CTOs (Chief Technology Officers) und Lösungsarchitekten sowie für Produktmanager relevant. Die Zielgruppe umfasst auch unabhängige Softwarehersteller (Independent Software Vendors, ISVs) und Startups, die SaaS-Lösungen entwickeln. Darüber hinaus sollte jeder, der mit mehrmandantenfähigen Architekturen arbeitet, mit diesen Grundsätzen und Abwägungen vertraut sein.

Nächste Schritte

Berücksichtigen Sie unterschiedliche Mandantenmodelle für Ihre Lösung.