Erstellen eines für Unternehmen konzipierten interaktiven Bots

Botdienst
Cognitive Services

Diese Referenzarchitektur beschreibt, wie Sie mit Azure Bot Framework einen interaktiven Bot (Chatbot) auf Unternehmensniveau erstellen.

Aufbau

Diagramm: Architektur eines interaktiven Bots

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

Die hier gezeigte Architektur verwendet die folgenden Azure-Dienste. Ihr Bot kann beliebig viele dieser Dienste nutzen, und zudem können Sie zusätzliche Dienste einbinden.

Botlogik und Benutzererfahrung

  • Bot Framework Service (BFS): Dieser Dienst verbindet Ihren Bot mit einer Kommunikations-App wie Cortana, Facebook Messenger oder Slack. Er ermöglicht die Kommunikation zwischen Ihrem Bot und dem Benutzer.
  • Azure App Service: Die Anwendungslogik des Bots wird in Azure App Service gehostet.

Kognitive und intelligente Funktionen des Bots

  • Language Understanding (LUIS): LUIS ist Teil von Azure Cognitive Services. Der Dienst identifiziert Absichten des Benutzers sowie Entitäten und ermöglicht Ihrem Bot so das Verständnis natürlicher Sprache.
  • Azure Search: Search ist ein verwalteter Dienst, der einen schnell durchsuchbaren Dokumentindex bereitstellt.
  • QnA Maker: QnA Maker ist ein cloudbasierter API-Dienst, mit dem eine Frage-und-Antwort-Ebene im Konversationsstil für Ihre Daten erstellt wird. In der Regel werden teilweise strukturierte Inhalte wie häufig gestellte Fragen (Frequently Asked Questions, FAQs) in den Dienst geladen. Verwenden Sie QnA Maker, um eine Wissensdatenbank zum Beantworten von Fragen in natürlicher Sprache zu erstellen.
  • Web-App: Wenn Ihr Bot KI-Lösungen (künstliche Intelligenz) erfordert, die nicht von einem vorhandenen Dienst bereitgestellt werden, können Sie Ihre eigene benutzerdefinierte KI implementieren und als Web-App hosten. Dadurch erhalten Sie einen Webendpunkt, der von Ihrem Bot aufgerufen werden kann.

Datenerfassung

Der Bot basiert auf Rohdaten, die erfasst und vorbereitet werden müssen. Folgende Optionen stehen Ihnen zum Orchestrieren dieses Prozesses zur Auswahl:

  • Azure Data Factory: Data Factory orchestriert und automatisiert die Datenverschiebung und -transformation.
  • Logic Apps: Logic Apps ist eine serverlose Plattform zum Erstellen von Workflows, die Anwendungen, Daten und Dienste integrieren. Logic Apps bietet Datenconnectors für viele Anwendungen, einschließlich Office 365.
  • Azure Functions: Mit Azure Functions können Sie benutzerdefinierten serverlosen Code schreiben, der von einem Trigger aufgerufen wird (z. B. jedes Mal, wenn ein Dokument in Blob Storage oder Azure Cosmos DB hinzugefügt wird).

Protokollierung und Überwachung

  • Application Insights: Mit Application Insights können Sie Anwendungsmetriken zur Überwachung und Diagnose sowie für analytische Zwecke protokollieren.
  • Azure Blob Storage Blobspeicher ist für die Speicherung großer Mengen unstrukturierter Daten optimiert.
  • Azure Cosmos DB : Azure Cosmos DB eignet sich gut zum Speichern von teilweise strukturierten Daten wie Konversationen.
  • Power BI: Verwenden Sie Power BI, um Überwachungsdashboards für Ihren Bot zu erstellen.

Sicherheit und Governance

Qualitätssicherung und Verbesserungen

  • Azure DevOps: bietet viele Dienste für die Verwaltung von Apps, darunter Quellcodeverwaltung, Erstellung, Tests, Bereitstellung und Projektnachverfolgung.
  • VS Code: Ein reduzierter Code-Editor für die App-Entwicklung. Sie können eine beliebige andere integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) mit ähnlichen Features verwenden.

Komponenten

Szenariodetails

Jeder Bot ist anders, es gibt jedoch einige allgemeine Muster, Workflows und Technologien, die Ihnen bekannt sein sollten. Insbesondere bei einem Bot für Unternehmensworkloads müssen neben den Kernfunktionen viele Überlegungen zum Entwurf berücksichtigt werden.

Bei den Hilfsprogrammbeispielen, die in dieser Architektur als bewährte Methoden verwendet werden, handelt es sich um reine Open-Source-Beispiele, die auf GitHub verfügbar sind.

Mögliche Anwendungsfälle

Diese Lösung eignet sich ideal für die Telekommunikationsbranche. In diesem Artikel werden die wichtigsten Entwurfsaspekte erläutert und die erforderlichen Tools zum Erstellen eines stabilen, sicheren Bots, der aktives Lernen unterstützt, vorgestellt.

Empfehlungen

Allgemein betrachtet lässt sich ein interaktiver Bot in die Botfunktionalität (das „Gehirn“) und eine Gruppe von umgebenden Anforderungen (den „Körper“) unterteilen. Die Botfunktionalität umfasst die domänenfähigen Komponenten, einschließlich der Botlogik und ML-Funktionen (Machine Learning). Andere Komponenten sind domänenagnostisch und dienen für nicht funktionsbezogenen Anforderungen, z. B. CI/CD, Qualitätssicherung und Sicherheit.

Logisches Diagramm der Botfunktionalität

Bevor wir uns mit den Details dieser Architektur befassen, werfen wir einen Blick auf den Datenfluss durch die einzelnen Unterkomponenten des Entwurfs. Der Datenfluss umfasst vom Benutzer initiierte und vom System initiierte Datenflüsse.

Benutzernachrichtenfluss

Authentifizierung. Benutzer authentifizieren sich zunächst anhand des von ihrem Kommunikationskanal bereitgestellten Mechanismus beim Bot. Bot Framework unterstützt viele Kommunikationskanäle, einschließlich Cortana, Microsoft Teams, Facebook Messenger, Kik und Slack. Eine Liste der Kanäle finden Sie unter Verbinden eines Bots mit Kanälen. Wenn Sie einen Bot mit Azure Bot Service erstellen, wird der Webchatkanal automatisch konfiguriert. Über diesen Kanal können Benutzer direkt auf einer Webseite mit Ihrem Bot interagieren. Sie können den Bot mithilfe des Direct Line-Kanals auch mit einer benutzerdefinierten App verbinden. Die Identität des Benutzers wird verwendet, um die rollenbasierte Zugriffssteuerung und personalisierte Inhalte bereitzustellen.

Benutzernachricht. Nach der Authentifizierung sendet der Benutzer eine Nachricht an den Bot. Der Bot liest die Nachricht und leitet sie an einen Dienst weiter, der natürliche Sprache versteht (beispielsweise LUIS). In diesem Schritt werden die Absichten (was der Benutzer tun möchte) und Entitäten (die Dinge, für die sich der Benutzer interessiert) ermittelt. Der Bot erstellt dann eine Abfrage und übergibt sie an einen Dienst, der Informationen bereitstellt, beispielsweise Azure Search für den Dokumentabruf, QnA Maker für häufig gestellte Fragen oder eine benutzerdefinierte Wissensdatenbank. Anhand dieser Ergebnisse erstellt der Bot eine Antwort. Um das bestmögliche Ergebnis für eine bestimmte Abfrage bereitzustellen, führt der Bot unter Umständen mehrere Aufrufe zwischen diesen Remotediensten aus.

Antwort. Der Bot hat die beste Antwort bestimmt und sendet sie nun an den Benutzer. Wenn die Zuverlässigkeitsbewertung der besten Antwort niedrig ist, ist die Antwort u. U. eine Frage zur Klärung von Mehrdeutigkeiten oder eine Bestätigung, dass der Bot nicht angemessen antworten konnte.

Protokollierung: Wenn eine Benutzeranforderung empfangen oder eine Antwort gesendet wird, sollten alle Konversationsaktionen zusammen mit Leistungsmetriken und allgemeinen Fehlern von externen Diensten in einem Protokollspeicher protokolliert werden. Diese Protokolle sind später hilfreich beim Diagnostizieren von Problemen und Verbessern des Systems.

Feedback. Eine weitere bewährte Methode ist das Erfassen von Feedback und Zufriedenheitsbewertungen der Benutzer. Als Folgeaktion sollte der Bot den Benutzer nach dem Senden der endgültigen Antwort auffordern, seine Zufriedenheit mit der Antwort zu bewerten. Feedback kann Ihnen dabei helfen, das Kaltstartproblem beim Verstehen natürlicher Sprache zu beheben und die Genauigkeit von Antworten kontinuierlich zu verbessern.

Systemdatenfluss

ETL (Extrahieren, Transformieren und Laden) . Die Informationen und das Wissen, auf denen der Bot beruht, werden von einem ETL-Prozess im Back-End aus den Rohdaten extrahiert. Diese Daten können strukturiert (SQL-Datenbank), teilweise strukturiert (CRM-System, häufig gestellte Fragen) oder unstrukturiert (Word-Dokumente, PDF-Dateien, Webprotokolle) sein. Ein ETL-Subsystem extrahiert die Daten nach einem festen Zeitplan. Der Inhalt wird transformiert und angereichert und anschließend in einen Zwischendatenspeicher wie Azure Cosmos DB oder Azure Blob Storage geladen.

Daten im Zwischenspeicher werden dann für den Dokumentabruf in Azure Search indiziert, in QnA Maker geladen, um Frage- und Antwort-Paare zu erstellen, oder in eine benutzerdefinierte Web-App zur Verarbeitung von unstrukturiertem Text geladen. Die Daten werden auch verwendet, um ein LUIS-Modell zum Extrahieren von Absichten und Entitäten zu trainieren.

Qualitätssicherung. Die Konversationsprotokolle werden zum Diagnostizieren und Beheben von Fehlern verwendet, liefern Erkenntnisse zur Nutzung des Bots und dienen zur Nachverfolgung der Gesamtleistung. Feedbackdaten können für das erneute Trainieren der KI-Modelle zum Verbessern der Leistung des Bots hilfreich sein.

Erstellen eines Bots

Bevor Sie auch nur eine einzige Zeile Code schreiben, sollten Sie unbedingt eine Funktionsspezifikation verfassen, damit das Entwicklungsteam eine klare Vorstellung davon hat, welche Funktionen vom Bot erwartet werden. Die Spezifikation sollte eine angemessen umfassende Liste von Benutzereingaben und erwarteten Botantworten in verschiedenen Wissensgebieten enthalten. Dieses dynamische Dokument ist ein wertvoller Leitfaden für das Entwickeln und Testen Ihres Bots.

Erfassen von Daten

Identifizieren Sie anschließend die Datenquellen, die dem Bot die intelligente Interaktion mit Benutzern ermöglichen. Wie bereits erwähnt, können diese Datenquellen strukturierte, teilweise strukturierte oder unstrukturierte Datasets enthalten. Es empfiehlt sich, zu Beginn eine einmalige Kopie der Daten in einem zentralen Speicher (z. B. Azure Cosmos DB oder Azure Storage) zu erstellen. Wenn die Erstellung Ihres Bots voranschreitet, sollten Sie eine automatisierte Datenerfassungspipeline erstellen, damit diese Daten stets aktuell sind. Zu den verfügbaren Optionen für eine automatisierte Erfassungspipeline zählen Data Factory, Functions und Logic Apps. Je nach Datenspeichern und Schemas können Sie eine Kombination dieser Ansätze nutzen.

Bei den ersten Schritten ist es sinnvoll, Azure-Ressourcen manuell im Azure-Portal zu erstellen. Später sollten Sie erwägen, die Bereitstellung dieser Ressourcen zu automatisieren.

Kernlogik und Benutzererfahrung (User Experience, UX) des Bots

Sobald Sie eine Spezifikation erstellt haben und über einige Daten verfügen, ist es an der Zeit, mit der Realisierung Ihres Bots zu beginnen. Konzentrieren wir uns auf die Kernlogik des Bots. Hierbei handelt es sich um den Code, der die Konversation mit dem Benutzer verwaltet, einschließlich der Routinglogik, der Mehrdeutigkeitsvermeidungslogik und Protokollierung. Machen Sie sich zunächst mit Bot Framework und Folgendem vertraut:

  • Grundlegende Konzepte und Terminologie des Frameworks, insbesondere Konversationen, Turns und Aktivitäten
  • Dem Bot-Connectordienst, der die Netzwerkverbindung zwischen dem Bot und Ihren Kanälen verwaltet
  • Der Beibehaltung des Konversationszustands im Arbeitsspeicher oder besser noch in einem Speicher wie Azure Blob Storage oder Azure Cosmos DB
  • Middleware und deren Verwendung zum Verbinden Ihres Bots mit externen Diensten wie Cognitive Services

Zum Bereitstellen einer umfassenden Benutzererfahrung stehen zahlreiche Optionen zur Verfügung.

  • Sie können Karten verwenden, um Schaltflächen, Bilder, Karusselle und Menüs einzubinden.
  • Ein Bot kann die Spracherkennung unterstützen.
  • Sie können Ihren Bot sogar in eine App oder Website einbetten und die Funktionen der hostenden App nutzen.

Zum Einstieg können Sie Ihren Bot online mit dem Azure Bot Service anhand der verfügbaren C#- und Node.js-Vorlagen erstellen. Wenn Ihr Bot komplexer wird, müssen Sie ihn jedoch lokal erstellen und anschließend im Web bereitstellen. Wählen Sie eine IDE wie Visual Studio oder Visual Studio Code und eine Programmiersprache aus. SDKs sind für folgende Programmiersprachen verfügbar:

Als Startpunkt können Sie den Quellcode für den mit dem Azure Bot Service erstellten Bot herunterladen. Es ist auch Beispielcode für verschiedene Bottypen verfügbar, von einfachen Echobots bis hin zu komplexeren, in verschiedene KI-Dienste integrierten Bots.

Hinzufügen von intelligenten Funktionen zum Bot

Bei einem einfachen Bot mit einer klar definierten Liste von Befehlen können Sie möglicherweise einen regelbasierten Ansatz verwenden, um die Benutzereingabe über RegEx zu analysieren. Dieser Ansatz hat den Vorteil, dass er deterministisch und verständlich ist. Wenn Ihr Bot jedoch die Absichten und Entitäten in einer Nachricht in natürlicherer Sprache verstehen muss, können Sie auf KI-Dienste zurückgreifen.

  • LUIS wurde eigens dafür entwickelt, Absichten des Benutzers und Entitäten zu verstehen. LUIS wird mit einer mittelgroßen Sammlung von relevanten Benutzereingaben und gewünschten Antworten trainiert und gibt die Absichten und Entitäten für eine bestimmte Benutzernachricht zurück.

  • Azure Search kann zusammen mit LUIS eingesetzt werden. Mithilfe von Search erstellen Sie durchsuchbare Indizes für alle relevanten Daten. Der Bot fragt diese Indizes für die von LUIS extrahierten Entitäten ab. Azure Search unterstützt auch Synonyme und bietet dadurch die Möglichkeit, die Auswahl an korrekten Wortzuordnungen zu erweitern.

  • QnA Maker ist ein weiterer Dienst, der Antworten für bestimmte Fragen zurückgibt. Der Dienst wird in der Regel mit teilweise strukturierten Daten wie häufig gestellten Fragen trainiert.

Ihr Bot kann auch andere KI-Dienste nutzen, um die Benutzererfahrung zu verbessern. Die Cognitive Services-Suite vorgefertigter KI-Dienste (beinhaltet LUIS und QnA Maker) umfasst Dienste für Bildanalyse, Spracherkennung, Suche und Standorterkennung. Sie können schnell Funktionen wie Sprachübersetzung, Rechtschreibprüfung, Stimmungsanalyse, optische Zeichenerkennung (Optical Character Recognition, OCR), Standorterkennung und Inhaltsmoderation hinzufügen. Diese Dienste können als Middlewaremodule in Ihrem Bot eingerichtet werden, um auf natürlichere und intelligentere Weise mit dem Benutzer zu interagieren.

Eine weitere Option ist die Integration eines eigenen benutzerdefinierten KI-Diensts. Dieser Ansatz ist komplexer, bietet Ihnen jedoch vollständige Flexibilität in Bezug auf den Machine Learning-Algorithmus, das Training und das Modell. Sie können beispielsweise Ihre eigene Themenmodellierung implementieren und einen Algorithmus wie LDA verwenden, um nach ähnlichen oder relevanten Dokumenten zu suchen. Ein guter Ansatz ist es, Ihre benutzerdefinierte KI-Lösung als Webdienstendpunkt verfügbar zu machen und den Endpunkt über die Kernlogik des Bots aufzurufen. Der Webdienst kann in App Service oder in einem VM-Cluster gehostet werden. Azure Machine Learning bietet eine Reihe von Diensten und Bibliotheken, die Sie beim Trainieren und Bereitstellen Ihrer Modelle unterstützen.

Qualitätssicherung und Verbesserung

Protokollierung: Protokollieren Sie Benutzerkonversationen mit dem Bot sowie die zugrunde liegenden Leistungsmetriken und etwaige Fehler. Diese Protokolle liefern wertvolle Informationen für das Debuggen von Problemen, Verstehen von Benutzerinteraktionen und Verbessern des Systems. Für die unterschiedlichen Protokolltypen können verschiedene Datenspeicher zweckmäßig sein. Erwägen Sie beispielsweise die Verwendung von Application Insights für Webprotokolle, Azure Cosmos DB für Konversationen und Azure Storage für große Nutzlasten. Weitere Informationen finden Sie unter Direktes Schreiben in Azure Storage.

Feedback. Zu wissen, wie zufrieden Benutzer mit ihren Botinteraktionen sind, ist ebenfalls wichtig. Wenn Sie einen Datensatz mit Benutzerfeedback haben, können Sie Ihre Aktivitäten mithilfe dieser Daten auf die Verbesserung bestimmter Interaktionen ausrichten und die KI-Modelle zum Verbessern der Leistung erneut trainieren. Verwenden Sie das Feedback zum erneuten Trainieren der Modelle (z. B. LUIS) in Ihrem System.

Testen. Das Testen eines Bots umfasst Komponententests, Integrationstests, Regressionstests und Funktionstests. Wir empfehlen, zum Testen echte HTTP-Antworten von externen Diensten wie Azure Search oder QnA Maker aufzuzeichnen. Diese Antworten können dann bei Komponententests wiedergegeben werden, ohne tatsächliche Netzwerkaufrufe an externe Dienste durchzuführen.

Hinweis

Sehen Sie sich die Botbuilder-Hilfsprogramme für JavaScript an, um Ihre Entwicklung in diesen Bereichen voranzubringen. Das Repository enthält Hilfsprogramm-Beispielcode für Bots, die mit Microsoft Bot Framework v4 erstellt werden und Node.js ausführen. Es enthält die folgenden Pakete:

  • Azure Cosmos DB-Protokollierungsspeicher. Zeigt, wie Botprotokolle in Azure Cosmos DB gespeichert und abgefragt werden.
  • Application Insights-Protokollspeicher: Zeigt, wie Botprotokolle in Application Insights gespeichert und abgefragt werden.
  • Feedback Collection Middleware (Middleware zur Feedbackerfassung). Beispielmiddleware mit einem Mechanismus zum Anfordern von Feedback von Botbenutzern.
  • Http Test Recorder (HTTP-Testaufzeichnung). Zeichnet HTTP-Datenverkehr von Diensten auf, die außerhalb des Bots verwendet werden. Das Paket umfasst vordefinierte Unterstützung für LUIS, Azure Search und QnAMaker, es sind jedoch Erweiterungen zur Unterstützung beliebiger Dienste verfügbar. Dies dient Ihnen als Hilfe beim Automatisieren von Bot-Tests.

Diese Pakete werden als Hilfsprogramm-Beispielcode ohne Garantie hinsichtlich Support oder Updates bereitgestellt.

Überlegungen

Diese Überlegungen setzen die Säulen des Azure Well-Architected Framework um, das eine Reihe von Leitprinzipien enthält, die zur Verbesserung der Qualität eines Workloads verwendet werden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Verfügbarkeit

Wenn Sie neue Features oder Fehlerbehebungen für Ihren Bot einführen, empfiehlt sich die Verwendung mehrerer Bereitstellungsumgebungen (z. B. Staging und Produktion). Mithilfe der Bereitstellungsslots von Azure DevOps ist dies ohne Ausfallzeiten möglich. Sie können Ihre neuesten Aktualisierungen in der Stagingumgebung testen, bevor Sie sie in der Produktionsumgebung bereitstellen. In Bezug auf die Verarbeitung der Last ist App Service für manuelles oder automatisches Hoch- oder Aufskalieren konzipiert. Da Ihr Bot in der globalen Rechenzentrumsinfrastruktur von Microsoft gehostet wird, garantiert die App Service-SLA Hochverfügbarkeit.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Wie jede andere Anwendung kann der Bot sensible Daten verarbeiten. Daher müssen die Benutzer, die sich anmelden und den Bot nutzen können, eingeschränkt werden. Schränken Sie auch die Daten, auf die zugegriffen werden kann, basierend auf der Identität oder Rolle des Benutzers ein. Verwenden Sie Azure AD für die Identitäts- und Zugriffsteuerung und Key Vault zum Verwalten von Schlüsseln und Geheimnissen.

DevOps

Überwachung und Berichterstellung

Wenn Ihr Bot in der Produktionsumgebung ausgeführt wird, benötigen Sie ein DevOps-Team, das für eine gleichbleibend hohe Leistung und einen unterbrechungsfreien Betrieb des Bots sorgt. Überwachen Sie das System lückenlos, um sicherzustellen, dass der Bot mit optimaler Leistung arbeitet. Verwenden Sie die an Application Insights oder Azure Cosmos DB gesendeten Protokolle, um mithilfe von Application Insights selbst oder mit Power BI Überwachungsdashboards oder ein benutzerdefiniertes Web-App-Dashboard zu erstellen. Senden Sie Benachrichtigungen an das DevOps-Team, wenn schwerwiegende Fehler auftreten oder die Leistung unter einen akzeptablen Schwellenwert fällt.

Automatisierte Bereitstellung von Ressourcen

Der Bot selbst ist nur ein Teil eines größeren Systems, das den Bot mit den neuesten Daten versorgt und seinen ordnungsgemäßen Betrieb sicherstellt. All diese anderen Azure-Ressourcen Datenorchestrierungsdienste wie Data Factory, Speicherdienste wie Azure Cosmos DB usw. müssen bereitgestellt werden. Azure Resource Manager bietet eine einheitliche Verwaltungsebene, auf die Sie über das Azure-Portal, PowerShell oder die Azure-Befehlszeilenschnittstelle (Azure CLI) zugreifen können. Aus Gründen der Geschwindigkeit und Konsistenz empfiehlt es sich, die Bereitstellung mit einem dieser Ansätze zu automatisieren.

Kontinuierliche Botbereitstellung

Sie können die Botlogik direkt über die IDE oder über eine Befehlszeile wie die Azure CLI bereitstellen. Bei fortschreitender Entwicklung Ihres Bots empfiehlt es sich jedoch, einen kontinuierlichen Bereitstellungsprozess mit einer CI/CD-Lösung wie Azure DevOps zu verwenden. Informationen dazu finden Sie im Artikel zum Einrichten von Continuous Deployment. Auf diese Weise können Sie das Testen neuer Features und Fehlerbehebungen in Ihrem Bot in einer produktionsnahen Umgebung vereinfachen. Es empfiehlt sich auch, mit mehreren Bereitstellungsumgebungen zu arbeiten (in der Regel mindestens eine Stagingumgebung und eine Produktionsumgebung). Azure DevOps unterstützt diesen Ansatz.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Verwenden Sie den Azure-Preisrechner, um die voraussichtlichen Kosten zu ermitteln. Hier finden Sie einige weitere Überlegungen dazu.

Botanwendung

In dieser Architektur ist der Hauptkostenfaktor Azure App Service. Dort wird die Botanwendungslogik gehostet. Wählen Sie eine App Service-Planebene aus, die Ihren Anforderungen am besten entspricht. Hier sind einige Empfehlungen dafür:

  • Verwenden Sie die Tarife Free und Shared (Vorschau) zum Testen, da die freigegebenen Ressourcen nicht aufskaliert werden können.
  • Führen Sie Ihre Produktionsworkloads in den Tarifen Basic, Standard und Premium aus, da die App auf dedizierten VM-Instanzen ausgeführt wird und über Ressourcen verfügt, die aufskaliert werden können. App Service-Pläne werden sekundengenau abgerechnet.

Die Instanzen im App Service-Plan werden Ihnen in Rechnung gestellt, auch wenn die App nicht ausgeführt wird. Löschen Sie Pläne, die Sie nicht langfristig verwenden möchten, z. B. Testbereitstellungen.

Weitere Informationen finden Sie unter Wie viel kostet mein App Service-Plan?.

Datenerfassung

  • Azure Data Factory

    In dieser Architektur automatisiert Data Factory die Datenerfassungspipeline. Erkunden Sie eine Reihe von Datenintegrationsfunktionen, die Ihren Budgetanforderungen entsprechen – von verwalteten SQL Server Integration Services für die nahtlose Migration von SQL Server-Projekten zur Cloud (kostengünstige Option) bis hin zu umfangreichen, serverlosen Datenpipelines für die Integration von Daten aller Formen und Größen.

    Ein Beispiel finden Sie unter Azure Data Factory – Beispielkostenanalyse.

  • Azure-Funktionen

    In dieser Referenzarchitektur wird Azure Functions gemäß dem Verbrauchsplan abgerechnet. Die Abrechnung erfolgt basierend auf dem Ressourcenverbrauch pro Sekunde und immer dann, wenn ein Ereignis die Ausführung der Funktion auslöst. Durch die Verarbeitung mehrerer Ereignisse in einer einzelnen Ausführung oder in Batches können die Kosten gesenkt werden.

    Azure skaliert die für das Ausführen der Funktionen erforderliche Infrastruktur nach Bedarf. Wenn die Arbeitsauslastung niedrig ist, wird die Infrastruktur ohne zugehörige Kosten zentral auf Null herunterskaliert. Wenn die Arbeitsauslastung zunimmt, verwendet Azure genug Kapazität, um alle Anforderungen zu erfüllen. Da Sie die tatsächliche Nutzung zahlen, müssen Sie die genauen Kosten der einzelnen Komponenten verwalten.

Logic Apps

Die Preise für Logik-Apps gelten für das Modell mit nutzungsbasierter Bezahlung. Logik-Apps verfügen über ein Modell mit nutzungsbasierter Bezahlung. Ausführungen von Triggern, Aktionen und Connectors werden jedes Mal gemessen, wenn eine Logik-App ausgeführt wird. Alle erfolgreichen und nicht erfolgreichen Aktionen, einschließlich Trigger, werden als Ausführungen angesehen.

Ihre Logik-App verarbeitet beispielsweise 1.000 Nachrichten von Azure Service Bus pro Tag. Ein Workflow mit fünf Aktionen kostet weniger als sechs US-Dollar. Weitere Informationen hierzu finden Sie unter Logic Apps – Preise.

Weitere Kostenaspekte finden Sie im Microsoft Azure Well-Architected Framework unter Grundsätze der Kostenoptimierung.

Beitragende

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

Hauptautoren:

  • Robert Alexander | Senior Software Engineer
  • Abhinav Mithal | Principal Software Engineer

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

Nächste Schritte

  • Sehen Sie sich die Vorlage für den virtuellen Assistenten an, um schnell mit dem Erstellen von Konversationsbots zu beginnen.

Produktdokumentation:

Microsoft Learn-Trainingsmodule: