Messen der Nutzung der einzelnen Mandanten

Als Lösungsanbieter ist es wichtig, den Verbrauch jedes Mandanten in Ihrer mehrinstanzenfähigen Lösung zu messen. Indem Sie den Verbrauch der einzelnen Mandanten messen, können Sie sicherstellen, dass die Kosten für verkaufte Waren (Cost Of Goods Sold, COGS) für die Bereitstellung des Diensts für jeden Mandanten rentabel sind. Auf dieser Seite erhalten technische Entscheidungsträger Anleitungen zur Bedeutung der Verbrauchsmessung, zu den Ansätzen, die Sie zur Messung des Verbrauchs eines Mandanten in Betracht ziehen können, sowie zu den damit verbundenen Vor- und Nachteilen.

Es gibt zwei Hauptgründe für die Notwendigkeit, den Verbrauch jedes einzelnen Mandanten zu messen:

  • Sie müssen die tatsächlichen Kosten für die Bereitstellung von Diensten für jeden einzelnen Mandanten messen. Dies ist wichtig, um die Rentabilität der Lösung für jeden Mandanten zu überwachen.
  • Sie müssen den Betrag bestimmen, der dem Mandanten in Rechnung gestellt werden soll, wenn Sie nutzungsbasierte Preise verwenden.

Es kann jedoch schwierig sein, die tatsächlichen Ressourcen zu messen, die von einem Mandanten in einer mehrinstanzenfähigen Lösung verwendet werden. Die meisten Dienste, die als Teil einer mehrinstanzenfähigen Lösung genutzt werden können, unterscheiden nicht automatisch nach der Definition eines Mandanten bzw. schlüsseln die Nutzung auf. Stellen Sie sich beispielsweise einen Dienst vor, der Daten für alle Ihre Mandanten in einer einzelnen relationalen Datenbank speichert. Es ist schwierig, genau zu bestimmen, wie viel Speicherplatz dieser relationalen Datenbank jeder Mandant verwendet, entweder in Bezug auf den Speicher oder auf die Computekapazität, die zum Ausführen von Abfragen und Anforderungen erforderlich ist.

Im Gegensatz dazu können Sie für eine Lösung mit nur einem Mandanten Azure Cost Management im Azure-Portal verwenden, um eine vollständige Kostenaufschlüsselung für alle Azure-Ressourcen zu erhalten, die von diesem Mandanten verwendet werden.

Daher ist es wichtig, bei diesen Herausforderungen zu berücksichtigen, wie der Verbrauch gemessen werden kann.

Hinweis

In manchen Fällen ist es wirtschaftlich vertretbar, bei der Erbringung von Diensten für einen Mandanten einen Verlust in Kauf zu nehmen, z. B. wenn Sie in einen neuen Markt oder eine neue Region eintreten. Dies ist eine kommerzielle Entscheidung. Auch unter diesen Umständen ist es ratsam, den Verbrauch jedes einzelnen Mandanten zu messen, damit Sie für die Zukunft planen können.

Indikative Verbrauchsmetriken

Moderne Anwendungen (die für die Cloud entwickelt wurden) bestehen in der Regel aus vielen verschiedenen Diensten, die jeweils einen unterschiedlichen Verbrauch aufweisen. Beispielsweise misst ein Speicherkonto den Verbrauch basierend auf der Menge der gespeicherten Daten, den übertragenen Daten und der Anzahl der Transaktionen. Die Azure App Service-Nutzung wird jedoch anhand der Menge der im Laufe der Zeit zugeordneten Computeressourcen gemessen. Wenn Sie über eine Lösung verfügen, die ein Speicherkonto und App Service-Ressourcen umfasst, kann es sehr schwierig sein, alle diese Messungen zu kombinieren, um den tatsächlichen COGS-Wert (Cost Of Goods Sold, Kosten der verkauften Waren) zu berechnen. Häufig ist es einfacher, eine einzelne indikative Messung zu verwenden, um den Verbrauch in der Lösung darzustellen.

Wenn z. B. eine mehrinstanzenfähigen Lösung eine einzige relationale Datenbank gemeinsam verwendet, dann könnten die von einem Mandanten gespeicherten Daten eine gute indikative Verbrauchsmetrik sind.

Hinweis

Selbst wenn Sie das von einem Mandanten gespeicherte Datenvolumen als Richtwert für den Verbrauch heranziehen, kann es sein, dass dieser Wert nicht den Verbrauch eines jeden Mandanten richtig wiedergibt. Wenn ein bestimmter Mandant beispielsweise zahlreiche Lesevorgänge durchführt oder mehr Berichte aus der Lösung ausführt, aber nicht viele Daten schreibt, dann könnte er viel mehr Computeleistung benötigen, als die Speicheranforderungen vermuten lassen.

Es ist wichtig, gelegentlich den tatsächlichen Verbrauch ihrer Mandanten zu messen und zu überprüfen, um zu ermitteln, ob die Annahmen, die Sie zu Ihren indikativen Metriken treffen, richtig sind.

Transaktionsmetriken

Eine alternative Möglichkeit zum Messen des Verbrauchs besteht in der Identifizierung einer Schlüsseltransaktion, die für den COGS-Wert der Lösung repräsentativ ist. In einer Dokumentverwaltungslösung kann dies beispielsweise die Anzahl der erstellten Dokumente sein. Dies kann nützlich sein, wenn es eine Kernfunktion oder ein -feature in einem Transaktionssystem gibt, die bzw. das leicht gemessen werden kann.

Diese Methode ist in der Regel einfach und kostengünstig zu implementieren, da es in der Regel nur einen einzigen Punkt in Ihrer Anwendung gibt, der die Anzahl der Transaktionen aufzeichnen muss, die auftreten.

Metriken pro Anforderung

In Lösungen, die in erster Linie API-basiert sind, kann es sinnvoll sein, eine Verbrauchsmetrik zu verwenden, die auf der Anzahl der API-Anforderungen basiert, die an die Lösung gesendet werden. Dies kann häufig recht einfach zu implementieren sein, erfordert jedoch, dass Sie APIs als primäre Schnittstelle für das System verwenden. Die Einführung einer Metrik pro Anforderung führt zu höheren Betriebskosten, insbesondere bei Diensten mit hohem Volumen, da die Nutzung der Anforderungen (zu Prüfungs- und Abrechnungszwecken) erfasst werden muss.

Hinweis

Benutzerorientierte Lösungen, die aus einer Single-Page-Anwendung (SPA) oder einer mobilen Anwendung bestehen, die die APIs verwendet, sind möglicherweise nicht gut für eine Metrik pro Anforderung geeignet. Dies liegt daran, dass der Endnutzer den Zusammenhang zwischen der Nutzung der Anwendung und der Verwendung von APIs kaum versteht. Ihre Anwendung könnte geschwätzig (sie nimmt viele API-Anforderungen vor) oder träge (sie nimmt zu wenige API-Anforderungen vor) sein, und der Benutzer würde keinen Unterschied bemerken.

Warnung

Stellen Sie sicher, dass Sie Anforderungsmetriken in einem zuverlässigen Datenspeicher speichern, der für diesen Zweck ausgelegt ist. Obwohl beispielsweise Azure Application Insights Anforderungen und sogar Mandanten-IDs nachverfolgen kann (mithilfe von Eigenschaften), ist Application Insights nicht zum Speichern aller Telemetriedaten konzipiert. Im Rahmen des Verhaltens bei der Stichprobenentnahme werden Daten entfernt. Wählen Sie zu Abrechnungs- und Messungszwecken einen Datenspeicher aus, der hohe Genauigkeit gewährleistet.

Schätzen des Verbrauchs

Beim Messen des Verbrauchs für einen Mandanten ist es möglicherweise einfacher, eine Schätzung des Verbrauchs für den Mandanten zu erstellen, anstatt zu versuchen, die genaue Verbrauchsmenge zu berechnen. Bei einer mehrinstanzenfähigen Lösung, die viele Tausend Mandanten in einer einzigen Bereitstellung verarbeitet, kann beispielsweise davon ausgegangen werden, dass die Kosten für die Verarbeitung des Mandanten nur einen Prozentsatz der Kosten für die Azure-Ressourcen ausmachen.

In den folgenden Fällen können Sie den COGS-Wert für einen Mandanten schätzen:

  • Sie verwenden keine nutzungsbasierten Preise.
  • Die Nutzungsmuster und -kosten für jeden Mandanten sind unabhängig von der Größe ähnlich.
  • Jeder Mandant verbraucht einen niedrigen Prozentsatz (z. B. <2 %) der Gesamtressourcen in der Bereitstellung.
  • Die Kosten pro Mandant sind niedrig.

Sie können den Verbrauch auch in Kombination mit indikativen Verbrauchsmetriken, Transaktionsmetriken oder Metriken pro Anforderung schätzen. Für eine Anwendung, die in erster Linie Dokumente verwaltet, ergibt der Prozentsatz des gesamten Speichers, der von einem Mandanten zum Speichern seiner Dokumente verwendet wird, eine ausreichend genaue Darstellung des tatsächlichen COGS-Werts. Dies kann ein nützlicher Ansatz sein, wenn das Messen des COGS-Werts schwierig ist oder die Komplexität der Anwendung zu sehr erhöhen würde.

Weiterberechnung Ihrer Kosten

In einigen Lösungen können Sie Ihren Kunden den COGS-Wert für die Ressourcen ihres Mandanten in Rechnung stellen. Beispielsweise können Sie Azure-Ressourcentags verwenden, um abrechnungsfähige Azure-Ressourcen Mandanten zuzuordnen. Sie können dann die Kosten für jeden Mandanten für die ihm zugewiesenen Ressourcen bestimmen, zuzüglich einer Marge für Gewinn und Betrieb.

Hinweis

Einige Azure-Dienste unterstützen keine Tags. Für diese Dienste müssen Sie die Kosten einem Mandanten basierend auf dem Ressourcennamen, der Ressourcengruppe oder dem Abonnement zuordnen.

Azure Cost Analysis kann verwendet werden, um Azure-Ressourcenkosten für Lösungen mit nur einem Mandanten zu analysieren, die Tags, Ressourcengruppen oder Abonnements verwenden, um Kosten zuzuordnen.

Dies wird jedoch in den meisten modernen mehrinstanzenfähigen Lösungen zu einer hochgradig komplexen Herausforderung, da die genaue Bestimmung des COGS-Werts für einen einzelnen Mandanten schwierig ist. Diese Methode sollte nur für sehr einfache Lösungen in Betracht gezogen werden: für Lösungen, die Ressourcen für einen einzelnen Mandanten bereitstellen, oder für benutzerdefinierte mandantenspezifische Add-On-Funktionen innerhalb einer größeren Lösung.

Einige Azure-Dienste bieten Features, die andere Methoden zur Zuordnung von Kosten in einer mehrinstanzenfähigen Umgebung ermöglichen. Beispielsweise unterstützt Azure Kubernetes Service mehrere Knotenpools, wobei jedem Mandanten ein Knotenpool mit Knotenpooltags zugewiesen wird, die zum Zuordnen von Kosten verwendet werden.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte

Überlegungen zum Updatebereitstellungsmodell, das Sie verwenden werden.