Freigeben über


Azure Well-Architected SaaS-Workloads

Das Erstellen und Betreiben von Software as a Service (SaaS) in Microsoft Azure erfordert einen anderen Ansatz als andere Softwaretypen. Unabhängige Softwareanbieter (ISVs) haben eine einzigartige Position im Cloud-Ökosystem, da ihre SaaS-Lösungen ihr Geschäft vorantreiben. Sie verkaufen ihre Produkte an Unternehmen, auch als Business-to-Business (B2B) bezeichnet, oder an Verbraucher, auch als Business-to-Consumer (B2C) bezeichnet. ISVs hosten und verwalten in der Regel die SaaS-Lösung, die sie erstellen. Ihre Kunden konfigurieren das Produkt und verwalten die Daten.

Eine Lösung, die mit dem Well-Architected Framework erstellt wurde, stellt sicher, dass die Workload im Großen und Umfang ausgeführt werden kann. Diese Artikelreihe bietet wichtige Einblicke für die Erstellung skalierbarer, performanter, zuverlässiger und sicherer SaaS-Lösungen in Azure. Wenn Sie noch nicht mit dem Well-Architected Framework vertraut sind, empfehlen wir, einige Zeit zu nehmen, um seine Prinzipien kennenzulernen.

Weitere Informationen finden Sie in den Säulen von Microsoft Azure Well-Architected Framework.

Was ist eine SaaS-Workload?

Der Begriff Workload bezieht sich auf eine Sammlung von Anwendungsressourcen, die ein gemeinsames Geschäftsziel oder die Ausführung eines gemeinsamen Geschäftsprozesses unterstützen, mit mehreren Diensten wie APIs und Datenspeichern, die zusammenarbeiten, um bestimmte End-to-End-Funktionen bereitzustellen.

Der Begriff SaaS bezieht sich auf das Geschäftsmodell der Bereitstellung von Software as a Service. Als Anbieter sind Sie dafür verantwortlich, die gesamte Lösung zu liefern und zu betreiben. Sie müssen Kundenumgebungen im großen Maßstab sorgfältig verwalten, während Sie die Anforderungen für Kundenisolation, Sicherheit und Compliance erfüllen. SaaS-Lösungen basieren häufig auf einer mehrinstanzenübergreifenden Architektur, bei der Ressourcen von mehreren Kunden gemeinsam genutzt werden. Dieser Ansatz beeinflusst den Entwurf und die Bereitstellung von Ressourcen sowie das Preismodell, das Kunden angeboten wird.

Was sind die gemeinsamen Herausforderungen?

Microsoft Azure ist eine hervorragende Plattform für die Bereitstellung von SaaS, die die notwendige Flexibilität und Skalierbarkeit bietet. Es bietet außerdem Features zum Automatisieren verschiedener Aspekte der SaaS-Übermittlung. Die Bereitstellung von SaaS auf Azure bietet jedoch eigene Herausforderungen:

  • Kundenerwartungen sind hohe, anspruchsvolle Qualität, Sicherheit und Resilienz. Für B2B-Lösungen werden Sie im Wesentlichen zu einer Erweiterung der IT-Abteilungen Ihrer Kunden und übernehmen die Verantwortung, Ihre Lösung betriebsbereit und fehlerfrei zu halten. Dies erfordert eine Umstellung von lediglich der Entwicklung von Software, um sie im großen Maßstab zu betreiben.

  • Die Bereitstellung von SaaS bedeutet, ihre eigenen Geschäftsanforderungen mit denen Ihrer Kunden abzuwägen, was manchmal konfliktet. Sie werden drucken, Ihre Kosten für verkaufte Waren (COGS) zu reduzieren und die Effizienz zu steigern, während Kunden mehr von Ihrer Lösung verlangen.

  • SaaS arbeitet häufig in hohem Maßstab oder mit aggressiven Wachstumszielen. Während Sie skalieren, ist die Aufrechterhaltung der Leistung und Zuverlässigkeit bei gleichzeitiger Reduzierung der Betriebskomplexität von entscheidender Bedeutung. Manuelle Vorgänge sind unpraktisch, sodass Automatisierung und strukturierte Prozesse notwendig sind, was eine gewisse Betriebsreife erfordert.

  • Isolation ist eine wichtige Voraussetzung, wenn Sie die Infrastruktur für Ihre Kunden freigeben. Kunden erwarten, dass ihre Daten sicher sind und unabhängig von den Aktivitäten anderer Kunden eine konsistente Leistung und Zuverlässigkeit erleben. Als Anbieter tragen Sie erhebliche Verantwortung für den Schutz der Daten und Arbeitslasten Ihrer Kunden, einschließlich anderer Kunden.

Was ist das Reifemodell für das Erstellen von SaaS?

Organisationen, die SaaS-Produkte erstellen, sind in der Regel:

  • Startups oder andere kleine Organisationen. In der Regel gibt es weniger Personen und weniger Ressourcen. Unabhängig von der Größe der Organisation erfordert SaaS eine gewisse Reife, um hohe Kundenerwartungen zu erfüllen. Kunden vertrauen der Organisation, um ihre Daten und andere Ressourcen zu schützen. Sie können sich auch auf die Lösung für wichtige Teile ihrer Vorgänge verlassen. Daher werden Operational Excellence und Zuverlässigkeit zu wichtigen Aspekten der Lösung.

    Anfangs sollten Startups die wirkungsvollsten Elemente für ihre Kunden priorisieren. Parallel dazu sollten sie zukünftige Architekturverbesserungen wie Automatisierung, Mandantenverwaltung, Kostenreduzierung und höhere Sicherheit und Zuverlässigkeit planen. Obwohl dies zunächst nicht praktisch erscheinen mag, dient diese strategische Planung als Blaupause für eine schrittweise Umsetzung und kontinuierliche Verbesserung. Wenn der Start-up wächst, sollte es seine Prozesse anpassen und verfeinern, neue Technologien einführen und sich ständig weiterentwickelnde Compliancestandards erfüllen, um das Vertrauen der Kunden effektiv zu skalieren und aufrechtzuerhalten.

  • Etablierte Organisationen. Etablierte Organisationen, die ihre vorhandenen Lösungen modernisieren möchten, migrieren häufig zu einem SaaS-Modell. Obwohl die Organisation möglicherweise mehr Ressourcen hat, werden die Herausforderungen komplex. Sie müssen vorhandene Kunden unterstützen, während sie die neue SaaS-Lösung entwickeln, die betriebsbereit sein kann. Dieser Übergang erfordert Änderungen an technischer Architektur, Qualifikationssätzen und allgemeinen Geschäftsvorgängen. Der Fokus sollte darauf liegen, die Auswirkungen auf aktuelle Kunden zu minimieren und sicherzustellen, dass sie ähnliche oder verbesserte Zuverlässigkeit, Sicherheit und Leistung erhalten. Sobald die Legacylösungen weniger belastend sind, kann die Organisation neue Features und Verbesserungen priorisieren.

Wie verwenden Sie diese Anleitung?

Beginnen Sie mit der Designmethodik, die die Rationale und wiederkehrenden Themen in technischen und operativen Bereichen skizziert. Dieser systematische Ansatz hilft dabei, Anforderungen und Designstrategien zu definieren. Überarbeiten Sie diese Methodik, wenn sie unsicheren Entscheidungen ausgesetzt sind, um mit den Gesamtzielen der Workload in Einklang zu bleiben. Darüber hinaus bietet sie einen Rahmen für die Zusammenarbeit mit Marketing- und Vertriebsteams, um technische Entscheidungen zu validieren und Kundenfeedback zur kontinuierlichen Verbesserung zu integrieren.

Fahren Sie mit den Designprinzipien fort, um zu sehen, wie die SaaS-Designmethodik mit den kernen Well-Architected Framework-Säulen übereinstimmt, und zwar unter Berücksichtigung der Wachstumsentwicklung. Bewerten Sie die zugrunde liegenden Prinzipien für alle Säulen zusammen, einschließlich der Tradeoffs.

Konzentrieren Sie sich auf die Entwurfsbereiche , die die größten Auswirkungen auf Ihre Lösung haben. Jeder Bereich enthält Überlegungen und Empfehlungen, die Sie durch die Designentscheidungen führen.

Entwurfsbereiche
Abrechnung und Kostenmanagement: Bewerten Sie Ihre Abrechnungsstrategie und deren Auswirkungen auf Ihre Kosten für verkaufte Waren (COGS). Modellieren und Antizipieren von Kostenänderungen, während Ihr SaaS-Unternehmen skaliert wird. Suchen Sie nach Möglichkeiten zum Optimieren der Kosten für Cloudressourcen.
Governance: Verwalten und regulieren Sie Ihre Clouddienstnutzung, um eine sichere Azure-Umgebung einzurichten.
Ressourcenorganisation: Planen Sie, wie Sie Ihre Ressourcen bereitstellen, um Ihre Skalierungs- und Kostenanforderungen zu unterstützen.
Identitäts- und Zugriffsverwaltung: Verstehen der Herausforderungen beim Verwalten der Identität in einer mehrinstanzenigen SaaS-Umgebung. Wählen Sie einen geeigneten Identitätsanbieter aus, und berücksichtigen Sie die Notwendigkeit eines Partnerverbunds mit den Identitätssystemen Ihrer Kunden.
Compute: Wählen Sie eine Computeplattform aus, die Ihren Anforderungen entspricht. Planen Sie die Kundenisolation, Skalierbarkeit und Resilienz.
Netzwerk: Planen Sie Ihre Netzwerkbereitstellung, einschließlich Topologie und Verteidigung. Isolieren Sie Ressourcen zwischen Kunden und erfüllen Sie ihre Konnektivitätsanforderungen, einschließlich der Integration in ihre Netzwerke und die Bereitstellung von Ressourcen in ihren Umgebungen.
Daten: Wählen Sie einen geeigneten Datenspeicher aus, und planen Sie, Kundendaten zu isolieren und gleichzeitig die betriebliche Effizienz zu gewährleisten. Berücksichtigen Sie die Kapazitätsplanung basierend auf Ihrem Umfang und Wachstum, und stellen Sie sicher, dass Ihre Daten die Anforderungen an die Ausfallsicherheit von Kunden erfüllen.
DevOps-Methoden: Bereitstellen von Infrastruktur und Anwendungen für jeden Kunden gemäß Ihrem Mandantenmodell. Verwenden Sie einen strukturierten Ansatz für Änderungen, einschließlich progressiver Rollouts.
Vorfallverwaltung : Legen Sie Die Verantwortlichkeiten des Betriebs von SaaS und die erforderlichen kulturellen Elemente in Ihrer Organisation fest. Bereiten Sie sich auf Vorfälle vor, indem Sie in Tools und Prozesse zur Untersuchung, Behebung und Kommunikation investieren.

Verwenden Sie das Bewertungsüberprüfungstool, um die Bereitschaft Ihrer optimierten SaaS-Workload in der Produktion zu bewerten.

Tipp

Jede Architekturentscheidung umfasst eine Reihe von Überlegungen und eine Reihe anerkannter Kompromisse, die verschiedene Aspekte des Rahmens ausgleichen. Diese Kompromisse werden durch dieses Symbol gekennzeichnet. .

Welche Ressourcen sind verfügbar?

Multitenancy ist eine Kern-Geschäftsmethodik für das Entwerfen von SaaS-Workloads. Lesen Sie diese zusätzlichen Ressourcen, um mehr zu erfahren.

  • SaaS- und Multitenant-Lösungsarchitektur: Bietet umfassende und detaillierte Anleitungen zum Entwerfen von SaaS, einschließlich Informationen dazu, wie bestimmte Azure-Dienste verwendet werden können, um SaaS-Designziele zu unterstützen.

Nächste Schritte

Verstehen Sie die zu befolgende Methodik beim Entwerfen einer SaaS-Workload in Azure.