Etablera och distribuera mikrotjänster förutsägbart i AzureProvision and deploy microservices predictably in Azure

Den här självstudien visar hur du etablerar och distribuerar ett program som består av mikrotjänster i Azure App Service som en enda enhet och på ett förutsägbart sätt med hjälp av JSON-mallar för resurs grupper och PowerShell-skript.This tutorial shows how to provision and deploy an application composed of microservices in Azure App Service as a single unit and in a predictable manner using JSON resource group templates and PowerShell scripting.

Vid etablering och distribution av storskaliga program som består av mycket fristående mikrotjänster, är repeterbarhet och förutsägbara för att lyckas.When provisioning and deploying high-scale applications that are composed of highly decoupled microservices, repeatability and predictability are crucial to success. Med Azure App Service kan du skapa mikrotjänster som omfattar webbappar, mobila Server delar och API-appar.Azure App Service enables you to create microservices that include web apps, mobile back ends, and API apps. Med Azure Resource Manager kan du hantera alla mikrotjänster som en enhet, tillsammans med resurs beroenden, till exempel inställningar för databas och käll kontroll.Azure Resource Manager enables you to manage all the microservices as a unit, together with resource dependencies such as database and source control settings. Nu kan du också distribuera ett sådant program med hjälp av JSON-mallar och enkla PowerShell-skript.Now, you can also deploy such an application using JSON templates and simple PowerShell scripting.

Vad du ska göraWhat you will do

I självstudien distribuerar du ett program som innehåller:In the tutorial, you will deploy an application that includes:

  • Två App Service-appar (dvs. två mikrotjänster)Two App Service apps (i.e. two microservices)
  • En server del SQL DatabaseA backend SQL Database
  • Appinställningar, anslutnings strängar och käll kontrollApp settings, connection strings, and source control
  • Application Insights, varningar, inställningar för automatisk skalningApplication insights, alerts, autoscaling settings

Verktyg som du kommer att användaTools you will use

I den här självstudien ska du använda följande verktyg.In this tutorial, you will use the following tools. Eftersom det inte är en omfattande diskussion om verktyg, ska jag gå till scenariot från slut punkt till slut punkt och bara ge dig en kort introduktion till var och en där du hittar mer information om den.Since it’s not comprehensive discussion on tools, I’m going to stick to the end-to-end scenario and just give you a brief intro to each, and where you can find more information on it.

Azure Resource Manager mallar (JSON)Azure Resource Manager templates (JSON)

Varje gång du skapar en app i Azure App Service kan Azure Resource Manager till exempel använda en JSON-mall för att skapa hela resurs gruppen med komponent resurserna.Every time you create an app in Azure App Service, for example, Azure Resource Manager uses a JSON template to create the entire resource group with the component resources. En komplex mall från Azure Marketplace kan omfatta databasen, lagrings konton, App Service plan, själva appen, aviserings regler, appinställningar, inställningar för autoskalning med mera och alla dessa mallar är tillgängliga för dig via PowerShell.A complex template from the Azure Marketplace can include the database, storage accounts, the App Service plan, the app itself, alert rules, app settings, autoscale settings, and more, and all these templates are available to you through PowerShell. Mer information om Azure Resource Manager mallar finns i redigera Azure Resource Manager mallarFor more information on the Azure Resource Manager templates, see Authoring Azure Resource Manager Templates

Azure SDK 2,6 för Visual StudioAzure SDK 2.6 for Visual Studio

Det senaste SDK: n innehåller förbättringar av stödet för Resource Manager-mallar i JSON-redigeraren.The newest SDK contains improvements to the Resource Manager template support in the JSON editor. Du kan använda det här för att snabbt skapa en mall för en resurs grupp från början eller öppna en befintlig JSON-mall (till exempel en Hämtad galleri mall) för ändring, fylla i parameter filen och till och med distribuera resurs gruppen direkt från en Azure Resource Group-lösning.You can use this to quickly create a resource group template from scratch or open an existing JSON template (such as a downloaded gallery template) for modification, populate the parameters file, and even deploy the resource group directly from an Azure Resource Group solution.

Mer information finns i Azure SDK 2,6 för Visual Studio.For more information, see Azure SDK 2.6 for Visual Studio.

Azure PowerShell 0.8.0 eller senareAzure PowerShell 0.8.0 or later

Från och med version 0.8.0 inkluderar den Azure PowerShell installationen Azure Resource Manager modulen förutom Azure-modulen.Beginning in version 0.8.0, the Azure PowerShell installation includes the Azure Resource Manager module in addition to the Azure module. Med den här nya modulen kan du skripta distributionen av resurs grupper.This new module enables you to script the deployment of resource groups.

Mer information finns i använda Azure PowerShell med Azure Resource ManagerFor more information, see Using Azure PowerShell with Azure Resource Manager

Azure Resource ExplorerAzure Resource Explorer

Med det här för hands versions verktyget kan du utforska JSON-definitionerna för alla resurs grupper i din prenumeration och de enskilda resurserna.This preview tool enables you to explore the JSON definitions of all the resource groups in your subscription and the individual resources. I verktyget kan du redigera JSON-definitionerna för en resurs, ta bort en hel hierarki med resurser och skapa nya resurser.In the tool, you can edit the JSON definitions of a resource, delete an entire hierarchy of resources, and create new resources. Den information som är tillgänglig i det här verktyget är mycket användbar för att skapa mallar, eftersom det visar vilka egenskaper du behöver ange för en viss typ av resurs, korrekta värden osv. Du kan även skapa en resurs grupp i Azure Portaloch sedan kontrol lera dess JSON-definitioner i Explorer-verktyget för att hjälpa dig att mallanpassa resurs gruppen.The information readily available in this tool is very helpful for template authoring because it shows you what properties you need to set for a particular type of resource, the correct values, etc. You can even create your resource group in the Azure Portal, then inspect its JSON definitions in the explorer tool to help you templatize the resource group.

Distribuera till Azure (knapp)Deploy to Azure button

Om du använder GitHub för käll kontroll kan du placera en distribuera till Azure-knapp i din README. MD, som möjliggör ett användar gränssnitt för en nyckel distribution till Azure.If you use GitHub for source control, you can put a Deploy to Azure button into your README.MD, which enables a turn-key deployment UI to Azure. Även om du kan göra detta för alla enkla appar kan du utöka det så att du kan distribuera en hel resurs grupp genom att placera en azuredeploy.jspå filen i lagrings platsens rot.While you can do this for any simple app, you can extend this to enable deploying an entire resource group by putting an azuredeploy.json file in the repository root. Den här JSON-filen, som innehåller resurs grupp mal len, kommer att användas av knappen distribuera till Azure för att skapa resurs gruppen.This JSON file, which contains the resource group template, will be used by the Deploy to Azure button to create the resource group. Ett exempel finns i ToDoApp -exemplet som du kommer att använda i den här självstudien.For an example, see the ToDoApp sample, which you will use in this tutorial.

Hämta mall för exempel resurs gruppGet the sample resource group template

Nu ska vi komma åt det.So now let’s get right to it.

  1. Gå till ToDoApp App Service-exemplet.Navigate to the ToDoApp App Service sample.

  2. I readme.md klickar du på distribuera till Azure.In readme.md, click Deploy to Azure.

  3. Du kommer till webbplatsen för att distribuera till Azure och uppmanas att ange distributions parametrar.You’re taken to the deploy-to-azure site and asked to input deployment parameters. Observera att de flesta fält fylls med databas namnet och vissa slumpmässiga strängar åt dig.Notice that most of the fields are populated with the repository name and some random strings for you. Du kan ändra alla fält om du vill, men de enda saker som du måste ange är SQL Server Administratörs inloggning och lösen ordet. Klicka sedan på Nästa.You can change all the fields if you want, but the only things you have to enter are the SQL Server administrative login and the password, then click Next.

    Visar parametrarna för ingångs distribution på webbplatsen för distribution till Azure.

  4. Starta sedan distributions processen genom att klicka på distribuera .Next, click Deploy to start the deployment process. När processen har slutförts klickar du på länken http://todoapp XXXX. azurewebsites.net för att bläddra i det distribuerade programmet.Once the process runs to completion, click the http://todoappXXXX.azurewebsites.net link to browse the deployed application.

    Visar programmets distributions process.

    Användar gränssnittet skulle vara lite långsamt när du först bläddrar till det eftersom apparna bara startas, men är övertygade om att det är ett fullständigt fungerande program.The UI would be a little slow when you first browse to it because the apps are just starting up, but convince yourself that it’s a fully-functional application.

  5. Tillbaka på sidan distribuera klickar du på länken Hantera för att se det nya programmet i Azure-portalen.Back in the Deploy page, click the Manage link to see the new application in the Azure Portal.

  6. I list rutan Essentials klickar du på länken resurs grupp.In the Essentials dropdown, click the resource group link. Observera också att appen redan är ansluten till GitHub-lagringsplatsen under externt projekt.Note also that the app is already connected to the GitHub repository under External Project.

    Visar länken resurs grupp i list rutan Essentials.

  7. Observera att det redan finns två appar och en SQL Database i resurs gruppen på bladet resurs grupp.In the resource group blade, note that there are already two apps and one SQL Database in the resource group.

    Visar tillgängliga resurser i resurs gruppen.

Allt som du precis såg på några få minuter är ett fullständigt distribuerat program med två mikrotjänster, med alla komponenter, beroenden, inställningar, databaser och kontinuerlig publicering, som konfigureras med ett automatiskt dirigering i Azure Resource Manager.Everything that you just saw in a few short minutes is a fully deployed two-microservice application, with all the components, dependencies, settings, database, and continuous publishing, set up by an automated orchestration in Azure Resource Manager. Allt detta utfördes av två saker:All this was done by two things:

  • Knappen distribuera till AzureThe Deploy to Azure button
  • azuredeploy.jspå i lagrings platsen-rotenazuredeploy.json in the repo root

Du kan distribuera samma program, hundratals eller tusentals gånger och ha exakt samma konfiguration varje gång.You can deploy this same application tens, hundreds, or thousands of times and have the exact same configuration every time. Repeterbarheten och den förutsägbara metoden i den här metoden gör det möjligt att distribuera storskaliga program med enkel och säkerhet.The repeatability and the predictability of this approach enables you to deploy high-scale applications with ease and confidence.

Granska (eller redigera) AZUREDEPLOY.JSpåExamine (or edit) AZUREDEPLOY.JSON

Nu ska vi titta på hur GitHub-lagringsplatsen har kon figurer ATS.Now let’s look at how the GitHub repository was set up. Du kommer att använda JSON-redigeraren i Azure .NET SDK, så om du inte redan har installerat Azure .net sdk 2,6gör du det nu.You will be using the JSON editor in the Azure .NET SDK, so if you haven’t already installed Azure .NET SDK 2.6, do it now.

  1. Klona ToDoApp -lagringsplatsen med ditt favoritbaserade git-verktyg.Clone the ToDoApp repository using your favorite git tool. I skärm bilden nedan gör jag det här i team Explorer i Visual Studio 2013.In the screenshot below, I’m doing this in the Team Explorer in Visual Studio 2013.

    Visar hur du använder ett git-verktyg för att klona ToDoApp-lagringsplatsen.

  2. Från lagrings platsens rot öppnar du azuredeploy.jspå i Visual Studio.From the repository root, open azuredeploy.json in Visual Studio. Om du inte ser JSON-dispositions fönstret måste du installera Azure .NET SDK.If you don’t see the JSON Outline pane, you need to install Azure .NET SDK.

    Visar fönstret JSON-disposition i Visual Studio.

Jag kommer inte att beskriva varje detalj i JSON-formatet, men avsnittet fler resurser innehåller länkar för att lära sig om resurs gruppens språk.I’m not going to describe every detail of the JSON format, but the More Resources section has links for learning the resource group template language. Här kommer jag bara att visa de intressanta funktionerna som kan hjälpa dig att komma igång med att skapa en egen anpassad mall för app-distribution.Here, I’m just going to show you the interesting features that can help you get started in making your own custom template for app deployment.

ParametrarParameters

Ta en titt på avsnittet parametrar för att se att de flesta av dessa parametrar är vad som visas i knappen distribuera till Azure och du uppmanas att ange.Take a look at the parameters section to see that most of these parameters are what the Deploy to Azure button prompts you to input. Platsen bakom knappen distribuera till Azure fyller på indatamängds-gränssnittet med de parametrar som definierats i azuredeploy.jspå.The site behind the Deploy to Azure button populates the input UI using the parameters defined in azuredeploy.json. Dessa parametrar används i alla resurs definitioner, t. ex. resurs namn, egenskaps värden osv.These parameters are used throughout the resource definitions, such as resource names, property values, etc.

ResurserResources

I noden resurser kan du se att 4 toppnivå resurser definieras, inklusive en SQL Server instans, en App Service plan och två appar.In the resources node, you can see that 4 top-level resources are defined, including a SQL Server instance, an App Service plan, and two apps.

App Service-planApp Service plan

Vi börjar med en enkel resurs på rot nivå i JSON.Let’s start with a simple root-level resource in the JSON. I JSON-dispositionen klickar du på App Service plan med namnet [hostingPlanName] för att markera motsvarande JSON-kod.In the JSON Outline, click the App Service plan named [hostingPlanName] to highlight the corresponding JSON code.

Visar avsnittet [hostingPlanName] i JSON-koden.

Observera att type elementet anger en sträng för en app service plan (den kallades för en Server grupp för lång tid sedan) och andra element och egenskaper fylls i med hjälp av de parametrar som definierats i JSON-filen och den här resursen har inga kapslade resurser.Note that the type element specifies the string for an App Service plan (it was called a server farm a long, long time ago), and other elements and properties are filled in using the parameters defined in the JSON file, and this resource doesn’t have any nested resources.

Anteckning

Observera också att värdet för talar om för apiVersion Azure vilken version av REST API som ska använda JSON-resurs definitionen med, och det kan påverka hur resursen ska formateras inuti {} .Note also that the value of apiVersion tells Azure which version of the REST API to use the JSON resource definition with, and it can affect how the resource should be formatted inside the {}.

SQL ServerSQL Server

Klicka sedan på SQL Server resursen med namnet SQLServer i JSON-dispositionen.Next, click on the SQL Server resource named SQLServer in the JSON Outline.

Visar SQL Server resursen med namnet SQLServer i JSON-dispositionen.

Observera följande om den markerade JSON-koden:Note the following about the highlighted JSON code:

  • Användningen av parametrar säkerställer att de skapade resurserna namnges och konfigureras på ett sätt som gör dem konsekventa med varandra.The use of parameters ensures that the created resources are named and configured in a way that makes them consistent with one another.

  • SQLServer-resursen har två kapslade resurser, var och en har ett annat värde för type .The SQLServer resource has two nested resources, each has a different value for type.

  • De kapslade resurserna i “resources”: […] , där databasen och brand Väggs reglerna har definierats, har ett- dependsOn element som anger resurs-ID: t för rot nivåns SQLServer-resurs.The nested resources inside “resources”: […], where the database and the firewall rules are defined, have a dependsOn element that specifies the resource ID of the root-level SQLServer resource. Detta meddelar Azure Resource Manager, "innan du skapar den här resursen måste den andra resursen redan finnas. och om den andra resursen definieras i mallen skapar du den först.This tells Azure Resource Manager, “before you create this resource, that other resource must already exist; and if that other resource is defined in the template, then create that one first”.

    Anteckning

    Detaljerad information om hur du använder resourceId() funktionen finns i Azure Resource Manager mall funktioner.For detailed information on how to use the resourceId() function, see Azure Resource Manager Template Functions.

  • Resultatet av dependsOn elementet är att Azure Resource Manager kan se vilka resurser som kan skapas parallellt och vilka resurser som måste skapas i tur och ordning.The effect of the dependsOn element is that Azure Resource Manager can know which resources can be created in parallel and which resources must be created sequentially.

App Service-appApp Service app

Nu ska vi gå vidare till själva apparna, vilket är mer komplicerat.Now, let’s move on to the actual apps themselves, which are more complicated. Klicka på appen [Variables (' apiSiteName ')] i JSON-dispositionen för att markera dess JSON-kod.Click the [variables(‘apiSiteName’)] app in the JSON Outline to highlight its JSON code. Du ser att saker är mycket mer intressanta.You’ll notice that things are getting much more interesting. För det här ändamålet pratar jag om funktionerna en i taget:For this purpose, I’ll talk about the features one by one:

Rot resursRoot resource

Appen är beroende av två olika resurser.The app depends on two different resources. Det innebär att Azure Resource Manager endast skapar appen när både App Service plan och SQL Server-instansen har skapats.This means that Azure Resource Manager will create the app only after both the App Service plan and the SQL Server instance are created.

Visar beroenden för appen på App Service plan och SQL Server-instansen.

AppinställningarApp settings

Inställningarna för appen definieras också som en kapslad resurs.The app settings are also defined as a nested resource.

Visar inställningarna för appen som definierats som en kapslad resurs i JSON-koden.

I properties -elementet för config/appsettings har du två app-inställningar i formatet "<name>" : "<value>" .In the properties element for config/appsettings, you have two app settings in the format "<name>" : "<value>".

  • PROJECT är en kudu-inställning som talar om för Azure-distribution vilket projekt som ska användas i en Visual Studio-lösning med flera projekt.PROJECT is a KUDU setting that tells Azure deployment which project to use in a multi-project Visual Studio solution. Jag kommer att visa dig senare hur käll kontroll konfigureras, men eftersom ToDoApp-koden finns i en Visual Studio-lösning med flera projekt behöver vi den här inställningen.I will show you later how source control is configured, but since the ToDoApp code is in a multi-project Visual Studio solution, we need this setting.
  • clientUrl är bara en app-inställning som program koden använder.clientUrl is simply an app setting that the application code uses.
AnslutningssträngarConnection strings

Anslutnings strängarna definieras också som en kapslad resurs.The connection strings are also defined as a nested resource.

Visar hur anslutnings strängarna definieras som en kapslad resurs i JSON-koden.

<span data-ttu-id="f3d5d-215">I properties config/connectionstrings -elementet definieras även varje anslutnings sträng som ett namn: värde-par med det speciella formatet &quot;<name>&quot; : {&quot;value&quot;: &quot;…&quot;, &quot;type&quot;: &quot;…&quot;} .In the properties element for config/connectionstrings, each connection string is also defined as a name:value pair, with the specific format of &quot;<name>&quot; : {&quot;value&quot;: &quot;…&quot;, &quot;type&quot;: &quot;…&quot;}. För type elementet är möjliga värden,, MySql SQLServer SQLAzure , och Custom .For the type element, possible values are MySql, SQLServer, SQLAzure, and Custom.

Tips

Om du vill ha en slutgiltig lista över typer av anslutnings strängar kör du följande kommando i Azure PowerShell: [ Enum]:: GetNames ("Microsoft. windowsazure. commands. Utilities. sites. Services. webentities. DatabaseType")For a definitive list of the connection string types, run the following command in Azure PowerShell: [Enum]::GetNames("Microsoft.WindowsAzure.Commands.Utilities.Websites.Services.WebEntities.DatabaseType")

KällkontrollSource control

Inställningarna för käll kontroll definieras också som en kapslad resurs.The source control settings are also defined as a nested resource. Azure Resource Manager använder den här resursen för att konfigurera kontinuerlig publicering (se villkoret IsManualIntegration senare) och även för att starta distributionen av program kod automatiskt under bearbetningen av JSON-filen.Azure Resource Manager uses this resource to configure continuous publishing (see caveat on IsManualIntegration later) and also to kick off the deployment of application code automatically during the processing of the JSON file.

Visar hur käll kontroll inställningarna definieras som en kapslad resurs i JSON-koden.

RepoUrl och branch bör vara ganska intuitivt och ska peka på git-lagringsplatsen och namnet på grenen att publicera från.RepoUrl and branch should be pretty intuitive and should point to the Git repository and the name of the branch to publish from. Dessa definieras av indataparametrarna.Again, these are defined by input parameters.

Observera att det dependsOn element som, utöver själva app-resursen, sourcecontrols/web också är beroende av config/appsettings och config/connectionstrings .Note in the dependsOn element that, in addition to the app resource itself, sourcecontrols/web also depends on config/appsettings and config/connectionstrings. Detta beror på att när sourcecontrols/web har kon figurer ATS försöker Azure-distributions processen automatiskt att distribuera, skapa och starta program koden.This is because once sourcecontrols/web is configured, the Azure deployment process will automatically attempt to deploy, build, and start the application code. Det innebär att om du infogar det här beroendet ser du till att programmet har åtkomst till de nödvändiga appinställningar och anslutnings strängarna innan program koden körs.Therefore, inserting this dependency helps you make sure that the application has access to the required app settings and connection strings before the application code is run.

Anteckning

Observera också att IsManualIntegration är inställt på true .Note also that IsManualIntegration is set to true. Den här egenskapen är nödvändig i den här självstudien eftersom du inte äger GitHub-lagringsplatsen, och därför inte kan ge Azure behörighet att konfigurera kontinuerlig publicering från ToDoApp (dvs. push-uppdateringar av automatisk lagring i Azure).This property is necessary in this tutorial because you do not actually own the GitHub repository, and thus cannot actually grant permission to Azure to configure continuous publishing from ToDoApp (i.e. push automatic repository updates to Azure). Du kan bara använda standardvärdet false för den angivna lagrings platsen om du har konfigurerat ägarens GitHub-autentiseringsuppgifter i Azure Portal innan.You can use the default value false for the specified repository only if you have configured the owner’s GitHub credentials in the Azure portal before. Med andra ord, om du har konfigurerat käll kontroll till GitHub eller BitBucket för alla appar på Azure- portalen tidigare, med hjälp av dina användarautentiseringsuppgifter, kommer Azure att komma ihåg autentiseringsuppgifterna och använda dem när du distribuerar en app från GitHub eller BitBucket i framtiden.In other words, if you have set up source control to GitHub or BitBucket for any app in the Azure Portal previously, using your user credentials, then Azure will remember the credentials and use them whenever you deploy any app from GitHub or BitBucket in the future. Men om du inte redan har gjort det, kommer distributionen av JSON-mallen att Miss Miss kan när Azure Resource Manager försöker konfigurera appens inställningar för käll kontroll eftersom den inte kan logga in på GitHub eller BitBucket med databasens ägares autentiseringsuppgifter.However, if you haven’t done this already, deployment of the JSON template will fail when Azure Resource Manager tries to configure the app’s source control settings because it cannot log into GitHub or BitBucket with the repository owner’s credentials.

Jämför JSON-mallen med den distribuerade resurs gruppenCompare the JSON template with deployed resource group

Här kan du gå igenom alla appars blad i Azure-portalen, men det finns ett annat verktyg som är lika användbart, om inte mer.Here, you can go through all the app’s blades in the Azure Portal, but there’s another tool that’s just as useful, if not more. Gå till Azure Resource Explorer för hands versions verktyget, som ger dig en JSON-representation av alla resurs grupper i dina prenumerationer, eftersom de faktiskt finns i Azure-backend-servern.Go to the Azure Resource Explorer preview tool, which gives you a JSON representation of all the resource groups in your subscriptions, as they actually exist in the Azure backend. Du kan också se hur resurs gruppens JSON-hierarki i Azure motsvarar hierarkin i mallfilen som används för att skapa den.You can also see how the resource group’s JSON hierarchy in Azure corresponds with the hierarchy in the template file that’s used to create it.

När jag till exempel går till Azure Resource Explorer verktyget och expanderar noderna i Explorer, kan jag se resurs gruppen och de resurser på rot nivå som samlas in under respektive resurs typ.For example, when I go to the Azure Resource Explorer tool and expand the nodes in the explorer, I can see the resource group and the root-level resources that are collected under their respective resource types.

Visa resurs gruppen och rot nivå resurserna i det utökade verktyget Azure Resource Explorer.

Om du ökar detalj nivån till en app bör du kunna se konfigurations information för appar som liknar skärm bilden nedan:If you drill down to an app, you should be able to see app configuration details similar to the below screenshot:

Öka detalj nivån för att Visa konfigurations informationen i appen.

Återigen bör de kapslade resurserna ha en hierarki som liknar dem i din JSON-mallfil och du bör se appinställningar, anslutnings strängar osv., som visas korrekt i JSON-fönstret.Again, the nested resources should have a hierarchy very similar to those in your JSON template file, and you should see the app settings, connection strings, etc., properly reflected in the JSON pane. Frånvaron av inställningar här kan tyda på ett problem med JSON-filen och kan hjälpa dig att felsöka din JSON-mallfil.The absence of settings here may indicate an issue with your JSON file and can help you troubleshoot your JSON template file.

Distribuera resurs grupps mal len självDeploy the resource group template yourself

Knappen distribuera till Azure är perfekt, men du kan distribuera resurs grupp mal len i azuredeploy.jsbara om du redan har pushat azuredeploy.jstill GitHub.The Deploy to Azure button is great, but it allows you to deploy the resource group template in azuredeploy.json only if you have already pushed azuredeploy.json to GitHub. Azure .NET SDK innehåller även verktyg som du kan använda för att distribuera en JSON-mallfil direkt från den lokala datorn.The Azure .NET SDK also provides the tools for you to deploy any JSON template file directly from your local machine. Det gör du genom att följa stegen nedan:To do this, follow the steps below:

  1. I Visual Studio klickar du på fil > nytt > projekt.In Visual Studio, click File > New > Project.

  2. Klicka på Visual C# > Cloud > Azure resurs grupp och klicka sedan på OK.Click Visual C# > Cloud > Azure Resource Group, then click OK.

    Skapa ett nytt projekt som en Azure-resurs grupp i Azure .NET SDK.

  3. I Välj Azure-mall väljer du tom mall och klickar på OK.In Select Azure Template, select Blank Template and click OK.

  4. Dra azuredeploy.jstill mappen mallar i det nya projektet.Drag azuredeploy.json into the Template folder of your new project.

    Visar resultatet av att dra azuredeploy.jspå filen till mappen mallar i projektet.

  5. Från Solution Explorer öppnar du den kopierade azuredeploy.jspå.From Solution Explorer, open the copied azuredeploy.json.

  6. För att vi ska kunna använda demonstrationen ska vi lägga till några standard program Insight-resurser i vår JSON-fil genom att klicka på Lägg till resurs.Just for the sake of the demonstration, let’s add some standard Application Insight resources to our JSON file, by clicking Add Resource. Om du bara är intresse rad av att distribuera JSON-filen kan du gå vidare till distributions stegen.If you’re just interested in deploying the JSON file, skip to the deploy steps.

    Visar knappen Lägg till resurs som du kan använda för att lägga till standard program Insight-resurser i JSON-filen.

  7. Välj Application Insights för Web Apps, kontrol lera att en befintlig App Service plan och app är markerad och klicka sedan på Lägg till.Select Application Insights for Web Apps, then make sure an existing App Service plan and app is selected, and then click Add.

    Visar urvalet av Application Insights för Web Apps, namn, App Service plan och webbapp.

    Nu kan du se flera nya resurser som, beroende på resurs och vad det gör, är beroende av antingen App Service plan eller appen.You’ll now be able to see several new resources that, depending on the resource and what it does, have dependencies on either the App Service plan or the app. Dessa resurser har inte Aktiver ATS med den befintliga definitionen och du kommer att ändra den.These resources are not enabled by their existing definition and you’re going to change that.

    Visa de nya resurser som har beroenden för App Service plan eller appen.

  8. I JSON-dispositionen klickar du på appInsights AutoScale för att markera dess JSON-kod.In the JSON Outline, click appInsights AutoScale to highlight its JSON code. Detta är skalnings inställningen för App Service plan.This is the scaling setting for your App Service plan.

  9. Leta upp och ange egenskaperna i den markerade JSON-koden location enabled och ange dem som visas nedan.In the highlighted JSON code, locate the location and enabled properties and set them as shown below.

    Visar plats och aktiverade egenskaper i appInsights-autoskalad JSON-kod och de värden som du ska ställa in dem på.

  10. I JSON-dispositionen klickar du på CPUHigh appInsights för att markera dess JSON-kod.In the JSON Outline, click CPUHigh appInsights to highlight its JSON code. Detta är en avisering.This is an alert.

  11. Leta upp location och isEnabled Ange egenskaperna och ange dem som visas nedan.Locate the location and isEnabled properties and set them as shown below. Gör samma sak för de andra tre aviseringarna (lila lökar).Do the same for the other three alerts (purple bulbs).

    Visar egenskaperna plats och isEnabled i CPUHigh appInsights JSON-koden och de värden som du ska ange dem för.

  12. Nu är du redo att distribuera.You’re now ready to deploy. Högerklicka på projektet och välj distribuera > ny distribution.Right-click the project and select Deploy > New Deployment.

    Visar hur du distribuerar det nya projektet.

  13. Logga in på ditt Azure-konto om du inte redan har gjort det.Log into your Azure account if you haven’t already done so.

  14. Välj en befintlig resurs grupp i din prenumeration eller skapa en ny, Välj azuredeploy.jspå och klicka sedan på Redigera parametrar.Select an existing resource group in your subscription or create a new one, select azuredeploy.json, and then click Edit Parameters.

    Visar hur du redigerar parametrarna i azuredeploy.jsi filen.

    Nu kan du redigera alla parametrar som definierats i mallfilen i en bra tabell.You’ll now be able to edit all the parameters defined in the template file in a nice table. Parametrar som definierar standardvärden har redan sina standardvärden och parametrar som definierar en lista med tillåtna värden visas som List rutor.Parameters that define defaults will already have their default values, and parameters that define a list of allowed values will be shown as dropdowns.

    Visar parametrar som definierar en lista över tillåtna värden som List rutor.

  15. Fyll i alla tomma parametrar och Använd GitHub lagrings platsen-adressen för ToDoApp i enhälle.Fill in all the empty parameters, and use the GitHub repo address for ToDoApp in repoUrl. Klicka sedan på Spara.Then, click Save.

    Visar de nyligen fyllda parametrarna för azuredeploy.jsi filen.

    Anteckning

    Automatisk skalning är en funktion som erbjuds på standard -eller högre nivå, och aviseringar på plannivå är funktioner som erbjuds på nivån Basic eller högre. du måste ange SKU -parametern till standard eller Premium för att se att alla nya App Insights-resurser lyser upp.Autoscaling is a feature offered in Standard tier or higher, and plan-level alerts are features offered in Basic tier or higher, you’ll need to set the sku parameter to Standard or Premium in order to see all your new App Insights resources light up.

  16. Klicka på Distribuera.Click Deploy. Om du har valt Spara lösen ord, kommer lösen ordet att sparas i parameter filen i oformaterad text.If you selected Save passwords, the password will be saved in the parameter file in plain text. Annars uppmanas du att ange lösen ordet för databasen under distributions processen.Otherwise, you’ll be asked to input the database password during the deployment process.

Klart!That’s it! Nu behöver du bara gå till Azure- portalen och Azure Resource Explorer -verktyget för att se de nya aviseringarna och inställningarna för autoskalning som lagts till i ditt JSON-distribuerade program.Now you just need to go to the Azure Portal and the Azure Resource Explorer tool to see the new alerts and autoscale settings added to your JSON deployed application.

Stegen i det här avsnittet gör det huvudsakligen följande:Your steps in this section mainly accomplished the following:

  1. För bereddes mallfilenPrepared the template file
  2. En parameter fil har skapats för att gå med mallfilenCreated a parameter file to go with the template file
  3. Distribuerade mallfilen med parameter filenDeployed the template file with the parameter file

Det sista steget utförs enkelt med en PowerShell-cmdlet.The last step is easily done by a PowerShell cmdlet. Om du vill se vad Visual Studio gjorde när programmet distribuerades öppnar du Scripts\Deploy-AzureResourceGroup.ps1.To see what Visual Studio did when it deployed your application, open Scripts\Deploy-AzureResourceGroup.ps1. Det finns mycket kod där, men jag kommer bara att markera all relevant kod som du behöver för att distribuera mallfilen med parameter filen.There’s a lot of code there, but I’m just going to highlight all the pertinent code you need to deploy the template file with the parameter file.

Visar relevant kod i skriptet som du behöver använda för att distribuera mallfilen med parameter filen.

Den sista cmdleten, New-AzureResourceGroup är den som faktiskt utför åtgärden.The last cmdlet, New-AzureResourceGroup, is the one that actually performs the action. Allt detta bör Visa för dig att, med hjälp av verktyg, det är relativt enkelt att distribuera moln programmet.All this should demonstrate to you that, with the help of tooling, it is relatively straightforward to deploy your cloud application predictably. Varje gång du kör cmdleten på samma mall med samma parameter fil kommer du att få samma resultat.Every time you run the cmdlet on the same template with the same parameter file, you’re going to get the same result.

SammanfattningSummary

I DevOps är repeterbarhet och förutsägbara nycklar till en lyckad distribution av ett storskaligt program som består av mikrotjänster.In DevOps, repeatability and predictability are keys to any successful deployment of a high-scale application composed of microservices. I den här självstudien har du distribuerat ett program med två mikrotjänster till Azure som en enda resurs grupp med hjälp av Azure Resource Manager-mallen.In this tutorial, you have deployed a two-microservice application to Azure as a single resource group using the Azure Resource Manager template. Förhoppnings vis har du fått den kunskap du behöver för att kunna börja konvertera ditt program i Azure till en mall och kan etablera och distribuera det förutsägbart.Hopefully, it has given you the knowledge you need in order to start converting your application in Azure into a template and can provision and deploy it predictably.

Fler resurserMore resources

Nästa stegNext steps

Information om JSON-syntaxen och egenskaperna för resurs typer som distribueras i den här artikeln finns i:To learn about the JSON syntax and properties for resource types deployed in this article, see: