Vorhersagbares Bereitstellen von Microservices in Azure

Dieses Tutorial zeigt, wie eine aus Microservices bestehende Anwendung in Azure App Service als eine Einheit und in vorhersagbarer Weise mithilfe von JSON-Ressourcengruppenvorlagen und PowerShell-Skripts bereitgestellt wird.

Beim Bereitstellen umfassender Anwendungen, die aus stark entkoppelten Microservices bestehen, sind Wiederholbarkeit und Vorhersagbarkeit von entscheidender Bedeutung für den Erfolg. Mit Azure App Service können Sie Microservices erstellen, die Web-Apps, mobile Back-Ends und API-Apps umfassen. Mit dem Azure Resource Manager können Sie alle Microservices zusammen mit Ressourcenabhängigkeiten, z.B. Datenbank- und Quellcodeverwaltungseinstellungen, als Einheit verwalten. Jetzt können Sie auch eine solche Anwendung mit JSON-Vorlagen und einfachen PowerShell-Skripts bereitstellen.

Aufgaben

In diesem Lernprogramm werden Sie eine Anwendung bereitstellen, die Folgendes enthält:

  • Zwei App Service-Apps (d.h. zwei Microservices)
  • Eine Back-End-SQL-Datenbank
  • App-Einstellungen, Verbindungszeichenfolgen und Quellcodeverwaltung
  • Application Insights, Warnungen und Einstellungen für die automatische Skalierung

Verwendete Tools

In diesem Lernprogramm verwenden Sie die folgenden Tools. Da dies keine umfassende Erläuterung der Tools ist, wird schwerpunktmäßig das komplette Szenario dargestellt. Sie erhalten eine kurze Einführung zu allen Tools und erfahren, wo Sie weiterführende Informationen finden.

Azure-Ressourcen-Manager-Vorlagen (JSON)

Jedes Mal, wenn Sie beispielsweise eine App in Azure App Service erstellen, verwendet Azure Resource Manager eine JSON-Vorlage zum Erstellen der gesamten Ressourcengruppe mit den Komponentenressourcen. Eine komplexe Vorlage aus dem Azure Marketplace kann die Datenbank, Speicherkonten, den App Service-Plan, die App selbst, Warnregeln, App-Einstellungen, Einstellungen für die automatische Skalierung und vieles mehr enthalten. All diese Vorlagen stehen Ihnen über PowerShell zur Verfügung. Weitere Informationen zu den Azure Resource Manager-Vorlagen finden Sie unter Verstehen der Struktur und Syntax von ARM-Vorlagen.

Azure SDK 2.6 für Visual Studio

Das neueste SDK enthält Verbesserungen für die Unterstützung von Ressourcen-Manager-Vorlagen im JSON-Editor. Sie können damit schnell eine Ressourcengruppenvorlage ganz neu erstellen oder eine vorhandene JSON-Vorlage (z. B. eine heruntergeladene Katalogvorlage) zur Bearbeitung öffnen, die Parameterdatei füllen und sogar die Ressourcengruppe direkt aus einer Azure-Ressourcengruppenlösung bereitstellen.

Weitere Informationen finden Sie im Azure SDK 2.6 für Visual Studio.

Azure PowerShell 0.8.0 oder höher

Ab Version 0.8.0 enthält die Azure PowerShell-Installation zusätzlich zum Azure-Modul das Azure-Ressourcen-Manager-Modul. Mit diesem neuen Modul können Sie Skripts für der Bereitstellung von Ressourcengruppen verwenden.

Weitere Informationen finden Sie unter Verwenden von Windows PowerShell mit dem Azure Resource Manager

Azure-Ressourcen-Explorer

Mit diesem Vorschautool können Sie die JSON-Definitionen aller Ressourcengruppen in Ihrem Abonnement und der einzelnen Ressourcen untersuchen. Im Tool können Sie die JSON-Definitionen einer Ressource bearbeiten, eine vollständige Hierarchie von Ressourcen löschen und neue Ressourcen erstellen. Die in diesem Tool verfügbaren Informationen sind sehr hilfreich für die Vorlagenerstellung, da sie zeigen, welche Eigenschaften Sie für einen bestimmten Typ von Ressource festlegen müssen, die richtigen Werte vorgeben usw. Sie können sogar die Ressourcengruppe im Azure-Portal erstellen und dann ihre JSON-Definitionen im Explorer-Tool untersuchen, um aus der Ressourcengruppe eine Vorlage zu machen.

Schaltfläche zum Bereitstellen in Azure

Wenn Sie GitHub für die Quellcodeverwaltung verwenden, können Sie eine Schaltfläche zum Bereitstellen in Azure (Deploy to Azure) in README.MD aufnehmen, wodurch eine sofort einsetzbare Bereitstellungsoberfläche in Azure aktiviert wird. Sie können dies für jede einfache App durchführen. Es ist aber auch eine Erweiterung möglich, um die Bereitstellung einer vollständigen Ressourcengruppe zu ermöglichen, indem Sie eine azuredeploy.json-Datei in den Repositorystamm einfügen. Diese JSON-Datei, die die Ressourcengruppenvorlage enthält, wird von der Schaltfläche zum Bereitstellen in Azure für die Erstellung der Ressourcengruppe verwendet. Ein Beispiel ist ToDoApp, das in diesem Tutorial verwendet wird.

Abrufen des Beispiels einer Ressourcengruppenvorlage

Lassen Sie uns jetzt beginnen.

  1. Navigieren Sie zum App Service-Beispiel ToDoApp .

  2. Klicken Sie in "readme.md" auf Deploy to Azure.

  3. Die Website deploy-to-azure wird aufgerufen, und Sie werden zur Eingabe von Bereitstellungsparametern aufgefordert. Beachten Sie, dass die meisten Felder mit dem Namen des Repositorys und einigen zufälligen Zeichenfolgen gefüllt sind. Sie können bei Bedarf alle Felder ändern, aber Sie müssen nur den SQL Server-Administratoranmeldenamen und das Kennwort eingeben. Klicken Sie dann auf Next.

    Eingabebereitstellungsparameter auf der deploy-to-azure-Website

  4. Klicken Sie als Nächstes auf Deploy , um den Bereitstellungsprozess zu starten. Sobald der Prozess abgeschlossen wurde, klicken Sie auf den Link „http://todoappXXXX.azurewebsites.net“, um die bereitgestellte Anwendung anzuzeigen.

    Bereitstellungsprozess Ihrer Anwendung

    Beim ersten Aufruf ist die Benutzeroberfläche etwas langsam, da die Apps gerade gestartet werden, aber Sie können sich überzeugen, dass es eine voll funktionsfähige Anwendung ist.

  5. Klicken Sie auf der Bereitstellungsseite auf den Link Manage , um die neue Anwendung im Azure-Vorschauportal anzuzeigen.

  6. Klicken Sie in der Dropdownliste Essentials auf den Link der Ressourcengruppe. Beachten Sie, dass die App bereits unter External Project mit dem GitHub-Repository verbunden ist.

    Link „Ressourcengruppe“ im Abschnitt mit der Dropdownliste „Essentials“

  7. Beachten Sie auf dem Blatt der Ressourcengruppe, dass bereits zwei Apps und eine SQL-Datenbank in der Ressourcengruppe vorhanden sind.

    Ressourcen, die in Ihrer Ressourcengruppe verfügbar sind

Alles, was Sie gerade in wenigen Minuten gesehen haben, ist eine vollständig bereitgestellte komplexe Anwendung mit zwei Microservices, bei der alle Komponenten, Abhängigkeiten, Einstellungen, die Datenbank und die kontinuierliche Veröffentlichung von einer automatisierten Orchestrierung im Azure-Ressourcen-Manager eingerichtet wurden. All dies wurde mit zwei Dingen erreicht:

  • Der Schaltfläche zum Bereitstellen in Azure
  • azuredeploy.json im Stammverzeichnis des Repositorys

Sie können diese Anwendung Dutzende, Hunderte oder Tausende Male bereitstellen und erhalten jedes Mal genau die gleiche Konfiguration. Durch die Wiederholbarkeit und die Vorhersagbarkeit dieses Ansatzes können Sie hochgradig skalierbare Anwendungen einfach und zuverlässig bereitstellen.

Untersuchen (oder Bearbeiten) von AZUREDEPLOY.JSON

Jetzt sehen wir uns an, wie das GitHub-Repository eingerichtet wurde. Verwenden Sie den JSON-Editor im Azure .NET SDK. Wenn Sie das Azure .NET SDK 2.6 noch nicht installiert haben, holen Sie dies jetzt nach.

  1. Klonen Sie das ToDoApp -Repository mit Ihrem bevorzugten Git-Tool. Im Screenshot unten wird Team Explorer in Visual Studio 2013 verwendet.

    Verwendung eines Git-Tools zum Klonen des ToDoApp-Repositorys

  2. Öffnen Sie aus dem Stammverzeichnis des Repositorys "azuredeploy.json" in Visual Studio. Wenn die JSON-Gliederungsansicht nicht angezeigt wird, müssen Sie das Azure .NET SDK installieren.

    Bereich „JSON-Gliederung“ in Visual Studio

Hier werden nicht alle Details des JSON-Formats beschrieben, aber der Abschnitt Weitere Ressourcen enthält Links zum Kennenlernen der Sprache für Ressourcengruppenvorlagen. Hier werden nur die interessanten Funktionen gezeigt, mit denen Sie beginnen können, eine eigene benutzerdefinierte Vorlage für die App-Bereitstellung zu erstellen.

Parameter

Sehen Sie sich den Parameterabschnitt an. Dort erkennen Sie, dass die meisten dieser Parameter deshalb vorhanden sind, weil die Schaltfläche Deploy to Azure Sie zur Eingabe aufgefordert hat. Die Website hinter der Schaltfläche Deploy to Azure füllt die Eingabebenutzeroberfläche mit den Parametern, die in „azuredeploy.json“ definiert wurden. Diese Parameter werden in den Ressourcendefinitionen verwendet, z. B. als Ressourcennamen, Eigenschaftswerte usw.

Ressourcen

Im Ressourcenknoten sehen Sie, dass vier Ressourcen der obersten Ebene definiert wurden, einschließlich einer SQL Server-Instanz, eines App Service-Plans und zweier Apps.

App Service-Plan

Beginnen wir mit einer einfachen Ressource auf Stammebene in JSON. Klicken Sie in der JSON-Gliederung auf den App Service-Plan mit dem Namen [hostingPlanName] , um den entsprechenden JSON-Code zu markieren.

Abschnitt [hostingPlanName] des JSON-Codes

Beachten Sie, dass das type-Element die Zeichenfolge für einen App Service-Plan angibt (wurde früher als Serverfarm bezeichnet). Andere Elemente und Eigenschaften werden mit den in der JSON-Datei definierten Parametern ausgefüllt, und diese Ressource weist keine geschachtelten Ressourcen auf.

Hinweis

Beachten Sie außerdem, dass der Wert von apiVersion Azure mitteilt, mit welcher Version der REST-API die JSON-Ressourcendefinition verwendet wird. Dies kann beeinflussen, wie die Ressource innerhalb von {} formatiert werden muss.

SQL Server

Klicken Sie als Nächstes in der JSON-Gliederung auf die SQL Server-Ressource mit dem Namen SQLServer .

SQL Server-Ressource mit dem Namen „SQLServer“ in der JSON-Gliederung

Beachten Sie Folgendes im Zusammenhang mit dem hervorgehobenen JSON-Code:

  • Durch die Verwendung von Parametern wird sichergestellt, dass die erstellten Ressourcen so benannt und konfiguriert werden, dass sie mit anderen konsistent sind.

  • Die SQLServer-Ressource hat zwei geschachtelte Ressourcen, die jeweils einen anderen Wert für type aufweisen.

  • Die geschachtelten Ressourcen in “resources”: […], in denen die Datenbank und die Firewallregeln definiert werden, haben ein dependsOn-Element, das die Ressourcen-ID der SQLServer-Ressource auf Stammebene angibt. Dadurch wird der Azure-Ressourcen-Manager angewiesen, dass vor dem Erstellen dieser Ressource, die andere Ressource bereits vorhanden sein muss; und wenn diese andere Ressource in der Vorlage definiert ist, muss sie zuerst erstellt werden.

    Hinweis

    Ausführliche Informationen zur Verwendung der resourceId()-Funktion finden Sie unter Azure Resource Manager template functions (Funktionen von Azure Resource Manager-Vorlagen).

  • Die Wirkung des dependsOn -Elements ist, dass der Azure-Ressourcen-Manager weiß, welche Ressourcen parallel erstellt werden können und welche Ressourcen sequenziell erstellt werden müssen.

App Service-App

Betrachten wir nun die tatsächlichen Apps selbst, die komplizierter sind. Klicken Sie in der JSON-Gliederung auf die [variables('apiSiteName')]-App, um den zugehörigen JSON-Code zu markieren. Sie werden feststellen, dass die Dinge viel interessanter werden. Daher werden die Features einzeln erläutert:

Stammressource

Die App benötigt zwei verschiedene Ressourcen. Dies bedeutet, dass Azure Resource Manager die App erst erstellt, nachdem sowohl der App Service-Plan als auch die SQL Server-Instanz erstellt wurden.

App-Abhängigkeiten im App Service-Plan und auf der SQL Server-Instanz

App-Einstellungen

Die App-Einstellungen werden auch als geschachtelte Ressource definiert.

App-Einstellungen, die im JSON-Code als geschachtelte Ressource definiert sind

Im properties-Element für config/appsettings sind zwei App-Einstellungen im Format "<name>" : "<value>" vorhanden.

  • PROJECT ist eine KUDU-Einstellung , die der Azure-Bereitstellung mitteilt, welches Projekt in einer Visual Studio-Projektmappe mit mehreren Projekten verwendet werden soll. Später erfahren Sie, wie die Quellcodeverwaltung konfiguriert wird, aber da sich der ToDoApp-Code in einer Visual Studio-Projektmappe mit mehreren Projekten befindet, ist diese Einstellung erforderlich.
  • clientUrl ist einfach eine App-Einstellung, die vom Anwendungscode verwendet wird.
Verbindungszeichenfolgen

Die Verbindungszeichenfolgen werden auch als geschachtelte Ressource definiert.

Definition der Verbindungszeichenfolgen im JSON-Code als geschachtelte Ressource

Im properties-Element für config/connectionstrings ist jede Verbindungszeichenfolge auch als Name-Wert-Paar im Format "<name>&quot; : {&quot;value&quot;: &quot;…&quot;, &quot;type&quot;: &quot;…&quot;} definiert. Mögliche Werte für das type-Element sind MySql, SQLServer, SQLAzure und Custom.

Tipp

Eine endgültige Liste der Typen von Verbindungszeichenfolgen erhalten Sie, indem Sie den folgenden Befehl in Azure PowerShell ausführen: [Enum]::GetNames("Microsoft.WindowsAzure.Commands.Utilities.Websites.Services.WebEntities.DatabaseType")

Quellcodeverwaltung

Die Einstellungen für die Quellcodeverwaltung werden auch als geschachtelte Ressource definiert. Der Azure-Ressourcen-Manager verwendet diese Ressource, um die kontinuierliche Veröffentlichung zu konfigurieren (weitere Informationen finden Sie unter den Hinweisen zu IsManualIntegration weiter unten), und auch, um die automatische Bereitstellung von Anwendungscode während der Verarbeitung der JSON-Datei zu starten.

Definition der Einstellungen der Quellcodeverwaltung im JSON-Code als geschachtelte Ressource

RepoUrl und branch sollten ziemlich selbsterklärend sein und auf das Git-Repository und den Namen der Verzweigung für die Veröffentlichung verweisen. Auch sie werden durch Eingabeparameter definiert.

Beachten Sie im dependsOn-Element, dass sourcecontrols/web nicht nur von der App-Ressource selbst, sondern auch von config/appsettings und config/connectionstrings abhängig ist. Der Grund hierfür ist, dass, sobald sourcecontrols/web konfiguriert ist, der Azure-Bereitstellungsprozess automatisch versucht, den Anwendungscode bereitzustellen, zu erstellen und zu starten. Daher können Sie durch das Einfügen dieser Abhängigkeit sicherstellen, dass die Anwendung über Zugriff auf die erforderlichen App-Einstellungen und Verbindungszeichenfolgen verfügt, bevor der Anwendungscode ausgeführt wird.

Hinweis

Beachten Sie auch, dass IsManualIntegration auf true festgelegt ist. Diese Eigenschaft ist in diesem Tutorial erforderlich, da Sie das GitHub-Repository nicht besitzen und daher Azure nicht die Berechtigung erteilen können, die kontinuierliche Veröffentlichung von ToDoApp zu konfigurieren (d.h. automatische Repositoryupdates in Azure mithilfe von Push zu übertragen). Sie können den Standardwert false für das angegebene Repository nur verwenden, wenn Sie die GitHub-Anmeldeinformationen für den Besitzer zuvor im Azure-Portal konfiguriert haben. Anders ausgedrückt: Wenn Sie zuvor mit Ihren Benutzeranmeldeinformationen die Quellcodeverwaltung für GitHub oder BitBucket für eine App im Azure-Portal eingerichtet haben, werden die Anmeldeinformationen in Azure gespeichert und verwendet, wenn Sie später eine App über GitHub oder BitBucket bereitstellen. Wenn dies jedoch noch nicht geschehen ist, tritt bei der Bereitstellung der JSON-Vorlage ein Fehler auf, wenn Azure Resource Manager versucht, die App-Einstellungen für die Quellcodeverwaltung zu konfigurieren, da mit den Anmeldeinformationen des Repositorybesitzers eine Anmeldung bei GitHub oder BitBucket nicht möglich ist.

Vergleichen der JSON-Vorlage mit der bereitgestellten Ressourcengruppe

Hier können Sie alle Blätter der App im Azure-Portal durchgehen, es gibt aber ein weiteres Tool, das möglicherweise noch nützlicher ist. Wechseln Sie zum Vorschautool Azure-Ressourcen-Explorer , in dem Sie eine JSON-Darstellung aller Ressourcengruppen in Ihren Abonnements erhalten, so wie sie tatsächlich im Azure-Back-End vorhanden sind. Sie können auch sehen, dass die JSON-Hierarchie der Ressourcengruppe in Azure der Hierarchie in der Vorlagendatei entspricht, die für die Erstellung verwendet wurde.

Beispiel: Wenn das Tool Azure-Ressourcen-Explorer aufgerufen und die Knoten im Explorer erweitern werden, werden die Ressourcengruppe und die Ressourcen auf Stammebene angezeigt, die unter den jeweiligen Ressourcentypen gesammelt werden.

Ressourcengruppe und die Ressourcen auf Stammebene im erweiterten Azure-Ressourcen-Explorer-Tool

Wenn Sie einen Drilldown zu einer App ausführen, sollten die Konfigurationsdetails der App angezeigt werden, wie im folgenden Screenshot veranschaulicht:

Drilldown zu den Konfigurationsdetails in der App

Die geschachtelten Ressourcen sollten wieder eine Hierarchie aufweisen, die der in der JSON-Vorlagendatei sehr ähnlich ist, und die App-Einstellungen, Verbindungszeichenfolgen usw. sollten richtig im JSON-Bereich wiedergegeben werden. Wenn hier Einstellungen fehlen, ist dies möglicherweise ein Hinweis auf ein Problem mit der JSON-Datei, der bei der Problembehandlung in der JSON-Vorlagendatei hilfreich sein kann.

Bereitstellen einer eigenen Ressourcengruppenvorlage

Die Schaltfläche Deploy to Azure ist großartig, aber sie können damit die Ressourcengruppenvorlage nur in "azuredeploy.json" bereitstellen, wenn Sie "azuredeploy.json" bereits in GitHub abgelegt haben. Das Azure .NET SDK stellt außerdem Tools zur Verfügung, um JSON-Vorlagendateien direkt über Ihren lokalen Computer bereitzustellen. Führen Sie dazu die folgenden Schritte aus:

  1. Klicken Sie in Visual Studio auf Datei > Neu > Projekt.

  2. Klicken Sie auf Visual C# > Cloud > Azure-Ressourcengruppe und dann auf OK.

    Erstellen eines neuen Projekts als Azure-Ressourcengruppe im Azure .NET SDK

  3. Wählen Sie unter Azure-Vorlage auswählen die Option Leere Vorlage aus, und klicken Sie auf OK.

  4. Ziehen Sie "azuredeploy.json" in den Ordner Vorlagen des neuen Projekts.

    Ergebnis, das sich aus dem Ziehen der Datei „azuredeploy.json“ in den Ordner „Vorlage“ Ihres Projekts ergibt

  5. Öffnen Sie im Projektmappen-Explorer die kopierte Datei "azuredeploy.json".

  6. Nur zur Veranschaulichung fügen wir einige Application Insight-Standardressourcen in der JSON-Datei hinzu, indem wir auf Ressource hinzufügen klicken. Wenn Sie nur an der Bereitstellung der JSON-Datei interessiert sind, fahren Sie mit den Schritten zur Bereitstellung fort.

    Schaltfläche „Ressource hinzufügen“, über die Sie Ihrer JSON-Datei Application Insights-Standardressourcen hinzufügen können

  7. Wählen Sie Application Insights für Web-Apps aus, stellen Sie dann sicher, dass ein vorhandener App Service-Plan und eine App ausgewählt sind, und klicken Sie anschließend auf Hinzufügen.

    Auswahl von Application Insights für Web-Apps, Name, App Service-Plan und Web-App

    Jetzt sehen Sie verschiedene neue Ressourcen, die je nach Ressource und Funktion Abhängigkeiten vom App Service-Plan oder der App aufweisen. Diese Ressourcen werden durch ihre vorhandene Definition nicht aktiviert, und das werden Sie ändern.

    Neue Ressourcen, die über Abhängigkeiten vom App Service-Plan oder der App verfügen

  8. Klicken Sie in der JSON-Gliederung auf appInsights AutoScale , um den JSON-Code zu markieren. Dies ist die Skalierungseinstellung für Ihren App Service-Plan.

  9. Suchen Sie im markierten JSON-Code nach den Eigenschaften location und enabled, und legen Sie sie wie unten dargestellt fest.

    Speicherort und die aktivierten Eigenschaften im appInsights-AutoScale-JSON-Code und die Werte, die hierfür festgelegt werden sollten

  10. Klicken Sie in der JSON-Gliederung auf CPUHigh appInsights , um den JSON-Code zu markieren. Dies ist eine Warnung.

  11. Suchen Sie nach den Eigenschaften location und isEnabled, und legen Sie sie wie unten dargestellt fest. Gehen Sie auf diese Weise für die anderen drei Warnungen vor (lila Glühbirnen).

    Speicherort und die isEnabled-Eigenschaften im CPUHigh-appInsights-JSON-Code und die Werte, die hierfür festgelegt werden sollten

  12. Jetzt können Sie mit der Bereitstellung beginnen. Klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie Deploy > Neue Bereitstellung.

    Bereitstellung Ihres neuen Projekts

  13. Melden Sie sich bei Ihrem Azure-Konto an, wenn Sie dies nicht bereits getan haben.

  14. Wählen Sie eine vorhandene Ressourcengruppe aus Ihrem Abonnement aus, oder erstellen Sie eine neue Ressourcengruppe. Wählen Sie azuredeploy.json, und klicken Sie anschließend auf Parameter bearbeiten.

    Bearbeitung der Parameter in der Datei „azuredeploy.json“

    Jetzt haben Sie die Möglichkeit, alle in der Vorlagendatei definierten Parameter in einer übersichtlichen Tabelle zu bearbeiten. Parameter, die Standardwerte definieren, weisen bereits die Standardwerte auf, und Parameter, die eine Liste zulässiger Werte definieren, werden als Dropdownlisten angezeigt.

    Parameter, mit denen eine Liste mit zulässigen Werten definiert wird, in Dropdownlisten

  15. Geben Sie alle leeren Parameter an, und verwenden Sie die GitHub-Repositoryadresse für ToDoApp in repoUrl. Klicken Sie dann auf Speichern.

    Neu aufgefüllte Parameter für die Datei „azuredeploy.json“

    Hinweis

    Die automatische Skalierung ist ein Feature des Tarifs Standard oder höher, und Warnungen auf Planebene sind Features des Tarifs Basic oder höher. Sie müssen den Parameter sku auf Standard oder Premium festlegen, damit alle neuen App Insights-Ressourcen angezeigt werden.

  16. Klicken Sie auf Bereitstellen. Bei Auswahl von Kennwörter speichern wird das Kennwort in der Parameterdatei als Klartext gespeichert. Andernfalls werden Sie während des Bereitstellungsprozesses zur Eingabe des Datenbankkennworts aufgefordert.

Fertig! Nun müssen Sie einfach zum Azure-Portal und zum Tool Azure-Ressourcen-Explorer wechseln, um die neuen Warnungen und die Einstellungen zum automatischen Skalieren zu sehen, die Ihrer mit JSON bereitgestellten Anwendung hinzugefügt wurden.

Mit den Schritten in diesem Abschnitt haben Sie im Wesentlichen Folgendes erreicht:

  1. Die Vorlagendatei vorbereitet
  2. Eine Parameterdatei für die Vorlagendatei erstellt
  3. Die Vorlagendatei mit der Parameterdatei bereitgestellt

Der letzte Schritt kann mühelos durch ein PowerShell-Cmdlet erledigt werden. Um zu sehen, was in Visual Studio bei der Bereitstellung der Anwendung ausgeführt wurde, öffnen Sie "Scripts\Deploy AzureResourceGroup.ps1". Es ist viel Code vorhanden, ich werde aber nur den relevanten Code markieren, den Sie benötigen, um die Vorlagendatei mit der Parameterdatei bereitzustellen.

Code im Skript, den Sie verwenden müssen, um die Vorlagendatei mit der Parameterdatei bereitzustellen

Das letzte Cmdlet, New-AzureResourceGroup, führt die Aktion aus. All dies sollte Ihnen zeigen, dass es mithilfe von Tools relativ einfach ist, die Cloudanwendung vorhersagbar bereitzustellen. Jedes Mal, wenn Sie das Cmdlet für die gleiche Vorlage mit der gleichen Parameterdatei ausführen, erhalten Sie das gleiche Ergebnis.

Zusammenfassung

In DevOps sind Wiederholbarkeit und Vorhersagbarkeit der Schlüssel für eine erfolgreiche Bereitstellung komplexer aus Microservices bestehender Anwendungen. In diesem Tutorial haben Sie eine als zwei Microservices bestehende Anwendung in Azure als einzelne Ressourcengruppe mithilfe der Azure-Ressourcen-Manager-Vorlage bereitgestellt. Sie sollten jetzt damit beginnen können, Ihre Anwendung in Azure in eine Vorlage zu konvertieren und sie vorhersagbar in Azure bereitzustellen.

Weitere Ressourcen

Nächste Schritte

Informationen zur JSON-Syntax und zu Eigenschaften für Ressourcentypen, die in diesem Artikel bereitgestellt werden, finden Sie unter: