Designmethodik für SaaS-Workloads in Azure
Unabhängige Softwareanbieter (ISVs) müssen die Anforderungen ihrer Software as a Service (SaaS)-Lösung sorgfältig planen, da die Lösung ihr Geschäft ist. Geschäftskunden wie andere Unternehmen oder einzelne Verbraucher sind die direkten Benutzer der Lösung. Dieses Geschäftsmodell legt hohe Erwartungen fest, da Sie sowohl Ihre Workloadanforderungen als auch die Anforderungen der Kunden als Architekt des Designs berücksichtigen müssen.
In diesem Artikel wird eine Entwurfsmethodik beschrieben, die Sie zum systematischen Definieren und Verfeinern von Anforderungen verwenden können. Wenn Sie über verschiedene Designentscheidungen und Technologieoptionen unsicher sind, überprüfen Sie diese Methodik, um den geschäftlichen Anforderungen zu entsprechen. Das Erstellen einer SaaS-Workload ist ein iterativer Prozess, der Flexibilität erfordert, sich an sich entwickelnde Märkte und Kundenanforderungen anzupassen. Dieses Framework kann Ihnen bei der Zusammenarbeit mit Marketing- und Vertriebsteams helfen, technische Entscheidungen zu überprüfen und Kundenfeedback für eine kontinuierliche Verbesserung zu bewerten.
Design für Ihr Geschäftsmodell
Es ist wichtig zu verstehen, wie sich Ihre Geschäftlichen Anforderungen auf Ihre Lösung nachgelagert auswirken. Berücksichtigen Sie die folgenden Entscheidungspunkte:
Der Speicherort, an dem Sie Ressourcen bereitstellen, schränkt die Architekturmuster ein, die Sie verwenden können. Sie können alle Ressourcen in Ihren Azure-Abonnements bereitstellen, oder Kunden können die Lösung erwerben und in ihren eigenen Azure-Abonnements bereitstellen. Alternativ kann die Workload Ressourcen verwenden, die der Kunde in seinen Azure-Abonnements bereitstellt.
Wenn Sie Ihre Software beispielsweise in der Umgebung des Kunden bereitstellen, können Sie kein Architekturmuster verwenden, das nur auf freigegebenen Ressourcen basiert, da jeder Kunde über eine eigene eigenständige Umgebung mit dedizierten Ressourcen verfügt.
Weitere Informationen finden Sie unter ISV-Bereitstellungsmodelle.
Ihr Preismodell bestimmt den Umsatz Ihres Unternehmens, was wiederum die zulässigen Kosten für verkaufte Waren beeinflusst. Diese Dynamik wirkt sich direkt auf Ihre technische Architektur aus.
Weitere Informationen finden Sie unter Preismodell.
Die von Ihnen bereitgestellten Features oder Produkte können sich auf Ihre Architektur auswirken. Möglicherweise müssen Sie Änderungen oder Ergänzungen zu Ihrer technischen Architektur vornehmen, wenn Sie bestimmte Features auswählen. Die Bereitstellung verschiedener Produkte für verschiedene Kunden kann auch zu einer komplexeren Architektur führen, da sie diese Variationen unterstützen muss.
Design für Ihre Kundenanforderungen
Entwerfen Sie Ihre Lösung unter Berücksichtigung der Kundenanforderungen. Kunden haben möglicherweise zusätzliche Anforderungen für ihre Lösung, wodurch eine Obermenge entsteht, die Ihre Lösung erfüllen muss. Diese zusätzlichen Anforderungen können manchmal mit Ihren geschäftlichen Anforderungen oder den Anforderungen anderer Kunden in Konflikt treten. Wenn sich diese Anforderungen von Ihren geschäftlichen Anforderungen unterscheiden oder weitere Einschränkungen hinzufügen, kann es schwierig sein, Entscheidungen für Ihre Lösung zu treffen. Ihre Lösung erfüllt beispielsweise Ihre Sicherheitsstandards, aber ein Kunde hat möglicherweise strengere Sicherheitsanforderungen, die Sie erfüllen müssen, um sein Unternehmen zu schützen.
Erstellen Sie eine flexible Architektur, um diese zusätzlichen Anforderungen zu erfüllen. Wenn sich die Kundenanforderungen nicht auf Ihre eigenen Anforderungen auswirken, versuchen Sie, sie in Ihr Geschäftsmodell zu integrieren. Berechnen Sie die Kosten dieser Anpassungen. Wenn die individuellen Anforderungen eines Kunden zusätzliche Kosten verursachen, sollten Sie sie entsprechend in Betracht ziehen.
Stellen Sie sicher, dass Sie realistische Zuverlässigkeitsziele haben, die den Erwartungen der Kunden entsprechen, und entwerfen Sie Ihre Architektur, um sie zu erreichen.
Entwerfen Ihres Mandantenmodells
Die meisten SaaS-Lösungen verlassen sich als primäre technische Strategie, um die Kosteneffizienz zu maximieren. Mehrinstanzenfähigkeit umfasst eine Reihe von Auswahlmöglichkeiten, die nicht über Standardmuster verfügen. Ihr Mandantenmodell wirkt sich auf Aspekte Ihrer Architektur aus, einschließlich Verwaltungsaufwand, Kosten und Datenisolation. Finden Sie das richtige Gleichgewicht für Ihre Lösung. Das von Ihnen gewählte Mandantenmodell ist entscheidend, da es die Kunden- und Geschäftsanforderungen ausgleichen muss.
Informationen zum Treffen fundierter Entscheidungen finden Sie in den folgenden Artikeln:
Ihre Architektur sollte die Flexibilität haben, das Mandantenmodell basierend auf neuen oder eingehenden Kundenanforderungen zu ändern. Beispielsweise können Sie eine vollständig multitenant-Architektur verwenden, aber einen neuen Kunden in einer stark regulierten Branche erhalten, die zusätzliche Sicherheit benötigt. Sie können ihre Bereitstellung vertikal partitionieren, um einen dedizierten Stempel bereitzustellen. Diese Änderung löst eine Geschäftliche Entscheidung darüber aus, ob sie mehr bezahlen sollten als Ihre anderen Mandanten. Diese Einrichtung erhöht die Ressourcenkosten und Komplexität, sodass es sinnvoll ist, mehr zu bezahlen.
Design, das gut gestaltet werden soll
Wenn Sie eine SaaS-Workload entwerfen, sollten Sie zusätzliche Sorgfalt verwenden, um sicherzustellen, dass das System robust, sicher, effizient, performant und den Kundenanforderungen entspricht. Im Gegensatz zu Unternehmensanwendungen können Fehler in einer SaaS-Anwendung auch Ihr Unternehmen, Ihre Kunden und ihre Benutzer beeinflussen.
Bewerten Sie für jede Entscheidung die Kompromisse zwischen den Säulen des Azure Well-Architected Framework. Informationen zu den strategischen Ansätzen pro Säule finden Sie unter Designprinzipien.
Entwurf mit Blick auf den Betrieb
SaaS-Workload-Vorgänge benötigen eine andere Perspektive. Sie müssen Faktoren wie die Unterstützung berücksichtigen. Bestimmen Sie, wie Sie ganztägige Plattformunterstützung bereitstellen und Mitarbeiter mit dem richtigen Qualifikationssatz einstellen können. Behandeln Sie Vorgänge nicht als Nachherein oder konzentrieren Sie sich nur auf das Erstellen neuer Features. Schließen Sie die Bedienbarkeit von Anfang an in Ihr Design ein. Überlegen Sie, wie Ihre Prozesse skaliert werden, wenn Sie mehr Kunden erhalten. Beispielsweise können manuelle Vorgänge zuerst funktionieren, aber in der Regel werden sie im Laufe der Zeit nicht gut skaliert.
Wenn Sie über eine ältere Plattform verfügen, überlegen Sie, wie oder ob Sie Kunden auf Ihre neue SaaS-Plattform verschieben sollten. Ein reibungsloser Migrationspfad ist der Schlüssel, um Kunden während ihrer Geschäftstransformation glücklich zu halten.