Distribuera en app som skalar över molnet med azure och Azure Stack Hub
Lär dig hur du skapar en lösning mellan moln för att tillhandahålla en manuellt utlöst process för att växla från en Azure Stack Hub-värdbaserade webbapp till en Azure-värdbaserade webbapp med automatisk skalning via Traffic Manager. Den här processen säkerställer ett flexibelt och skalbart molnverktyg vid belastning.
Med det här mönstret kanske klientorganisationen inte är redo att köra appen i det offentliga molnet. Det kanske dock inte är ekonomiskt gångbart för företaget att upprätthålla den kapacitet som krävs i den lokala miljön för att hantera toppar i efterfrågan på appen. Din klientorganisation kan utnyttja elasticiteten hos det offentliga molnet med sin lokala lösning.
I den här lösningen skapar du en exempelmiljö för att:
- Skapa en webbapp med flera noder.
- Konfigurera och hantera processen för kontinuerlig distribution (CD).
- Publicera webbappen till Azure Stack Hub.
- Skapa en version.
- Lär dig att övervaka och spåra dina distributioner.
Tips
Microsoft Azure Stack Hub är en utökning av Azure. Azure Stack Hub ger dig flexibiliteten och innovationen hos molnbaserad databehandling i din lokala miljö, vilket möjliggör det enda hybridmoln som gör att du kan skapa och distribuera hybridappar var som helst.
Artikeln Om designöverväganden för hybridappar granskar grundpelare för programvarukvalitet (placering, skalbarhet, tillgänglighet, återhämtning, hanterbarhet och säkerhet) för att utforma, distribuera och driva hybridappar. Designövervägandena hjälper till att optimera hybridappdesignen, vilket minimerar utmaningarna i produktionsmiljöer.
Förutsättningar
- En Azure-prenumeration. Om det behövs kan du skapa ett kostnadsfritt konto innan du börjar.
- Ett Azure Stack Hub system eller distribution av Azure Stack Development Kit (ASDK).
- Anvisningar om hur du Azure Stack Hub finns i Installera ASDK.
- Om du vill ha ett ASDK-skript efter distributionen går du till: https://github.com/mattmcspirit/azurestack
- Installationen kan ta några timmar att slutföra.
- Distribuera App Service PaaS-tjänster till Azure Stack Hub.
- Skapa planer/erbjudanden i den Azure Stack Hub miljön.
- Skapa en klientprenumeration Azure Stack Hub miljön.
- Skapa en webbapp i klientorganisationsprenumerationen. Anteckna webbadressen till den nya webbappen för senare användning.
- Distribuera en virtuell Azure Pipelines-dator (VM) i klientorganisationsprenumerationen.
- Windows Server 2016 virtuell dator med .NET 3.5 krävs. Den här virtuella datorn kommer att byggas i klientprenumerationen på Azure Stack Hub som den privata byggaragenten.
- Windows Server 2016 med SQL VM-avbildning från 2017 finns på Azure Stack Hub Marketplace. Om den här avbildningen inte är tillgänglig arbetar du med Azure Stack Hub-operatör för att säkerställa att den läggs till i miljön.
Problem och överväganden
Skalbarhet
Den viktigaste komponenten vid skalning mellan moln är möjligheten att leverera omedelbar skalning och skalning på begäran mellan offentlig och lokal molninfrastruktur, vilket ger konsekventa och tillförlitliga tjänster.
Tillgänglighet
Se till att lokalt distribuerade appar konfigureras för hög tillgänglighet via lokal maskinvarukonfiguration och programvarudistribution.
Hanterbarhet
Molnlösningen säkerställer sömlös hantering och välbekanta gränssnitt mellan miljöer. PowerShell rekommenderas för plattformsoberoende hantering.
Skalning mellan moln
Hämta en anpassad domän och konfigurera DNS
Uppdatera DNS-zonfilen för domänen. Azure AD verifierar ägarskapet för det anpassade domännamnet. Använd Azure DNS för Azure/Microsoft 365/externa DNS-poster i Azure eller lägg till DNS-posten hos en annan DNS-registrator.
- Registrera en anpassad domän hos en offentlig registrator.
- Logga in hos domännamnsregistratorn för domänen. En godkänd administratör kan behöva göra DNS-uppdateringar.
- Uppdatera DNS-zonfilen för domänen genom att lägga till DNS-posten som tillhandahålls av Azure AD. (DNS-posten påverkar inte e-postroutning eller webbvärdbeteenden.)
Skapa en standardwebbapp med flera noder i Azure Stack Hub
Konfigurera kontinuerlig hybridintegrering och kontinuerlig distribution (CI/CD) för att distribuera webbappar till Azure och Azure Stack Hub och för att skicka ändringar automatiskt till båda molnen.
Anteckning
Azure Stack Hub med rätt avbildningar som kan köras (Windows Server och SQL) och App Service distribution krävs. Mer information finns i dokumentationen App Service krav för att distribuera App Service på Azure Stack Hub.
Lägga till kod i Azure Repos
Azure-lagringsplatser
Logga in på Azure Repos med ett konto som har behörighet att skapa projekt på Azure Repos.
Hybrid-CI/CD kan tillämpas på både appkod och infrastrukturkod. Använd Azure Resource Manager för utveckling av både privata och värdar i molnet.

Klona lagringsplatsen genom att skapa och öppna standardwebbappen.

Skapa fristående webbappsdistribution för App Services i båda molnen
Redigera filen WebApplication.csproj. Välj
Runtimeidentifieroch lägg tillwin10-x64. (Se dokumentation om fristående distribution.)
Checka in koden till Azure-lagringsplatsen med teamutforskaren.
Kontrollera att appkoden har checkats in på Azure Repos.
Skapa byggdefinitionen
Logga in på Azure Pipelines för att bekräfta möjligheten att skapa byggdefinitioner.
Lägg till -r win10-x64-kod. Det här tillägget är nödvändigt för att utlösa en fristående distribution med .NET Core.

Kör bygget. Byggprocessen för den fristående distributionen publicerar artefakter som körs på Azure och Azure Stack Hub.
Använda en Värd-agent i Azure
Att använda en värdbaserade byggagen i Azure Pipelines är ett praktiskt alternativ för att skapa och distribuera webbappar. Underhåll och uppgraderingar utförs automatiskt genom Microsoft Azure, vilket möjliggör en kontinuerlig och oavbruten utvecklingscykel.
Hantera och konfigurera CD-processen
Azure Pipelines och Azure DevOps Services tillhandahåller en mycket konfigurerbar och hanterbar pipeline för lanseringar till flera miljöer som utvecklings-, mellanlagrings-, QA- och produktionsmiljöer. inklusive krav på godkännanden i specifika steg.
Skapa lanseringsdefinition
Välj plusknappen för att lägga till en ny version under fliken Versioner i avsnittet Build and Release (Bygge och version) i Azure DevOps Services.

Använd mallen Azure App Service Distribution.

Under Lägg till artefaktlägger du till artefakten för Azure Cloud-byggappen.

Under fliken Pipeline väljer du länken Fas, Uppgift för miljön och anger värden för Azure-molnmiljön.

Ange miljönamnet och välj Azure-prenumerationen för Azure Cloud-slutpunkten.

Under App Service name (App servicenamn)anger du det Azure App Service-namn som krävs.

Ange "Hosted VS2017" (Värdindelade VS2017) under Agent queue for Azure cloud hosted environment (Agentkö för Azure-molnvärdmiljö).

I Azure App Service väljer du det giltiga paketet eller mappen för miljön. Välj OK för att mappplatsen.


Spara alla ändringar och gå tillbaka till lanseringspipelinen.

Lägg till en ny artefakt genom att välja bygget för Azure Stack Hub appen.

Lägg till ytterligare en miljö genom att Azure App Service distributionen.

Ge den nya miljön namnet "Azure Stack".

Leta upp Azure Stack miljö under fliken Uppgift.

Välj prenumerationen för den Azure Stack slutpunkten.

Ange Azure Stack för webbappen som App Service-namn.

Välj Azure Stack agent.

Under avsnittet Azure App Service väljer du ett giltigt paket eller en giltig mapp för miljön. Välj OK för att mappplatsen.


Under fliken Variabel lägger du till en variabel med
VSTS\_ARM\_REST\_IGNORE\_SSL\_ERRORSnamnet , anger värdetVSTS\_ARM\_REST\_IGNORE\_SSL\_ERRORSoch omfånget till Azure Stack.
Välj utlösarikonen kontinuerlig distribution i båda artefakterna och aktivera utlösaren Fortsätter distribution.

Välj ikonen Fördistributionsvillkor i miljön Azure Stack och ställ in utlösaren på Efter lanseringen.

Spara alla ändringar.
Anteckning
Vissa inställningar för aktiviteterna kan ha definierats automatiskt som miljövariabler när du skapar en lanseringsdefinition från en mall. De här inställningarna kan inte ändras i aktivitetsinställningarna. I stället måste det överordnade miljöobjektet väljas för att redigera de här inställningarna.
Publicera till Azure Stack Hub via Visual Studio
Genom att skapa slutpunkter kan en Azure DevOps Services-version distribuera Azure Service-appar till Azure Stack Hub. Azure Pipelines ansluter till byggaragenten som ansluter till Azure Stack Hub.
Logga in på Azure DevOps Services och gå till sidan appinställningar.
På Inställningarväljer du Säkerhet.
I VSTS-grupperväljer du Slutpunktsskapare.
På fliken Medlemmar väljer du Lägg till.
I Lägg till användare ochgrupper anger du ett användarnamn och väljer användaren i listan över användare.
Välj Spara ändringar.
I listan VSTS-grupper väljer du Slutpunktsadministratörer.
På fliken Medlemmar väljer du Lägg till.
I Lägg till användare ochgrupper anger du ett användarnamn och väljer användaren i listan över användare.
Välj Spara ändringar.
Nu när slutpunktsinformationen finns är Azure Pipelines för Azure Stack Hub anslutningen redo att användas. Byggaragenten i Azure Stack Hub instruktioner från Azure Pipelines och sedan förmedlar agenten slutpunktsinformation för kommunikation med Azure Stack Hub.
Utveckla appbygget
Anteckning
Azure Stack Hub med rätt avbildningar som ska köras (Windows Server och SQL) och App Service distribution krävs. Mer information finns i Prerequisites for deploying App Service on Azure Stack Hub.
Använd Azure Resource Manager till exempel webbappkod från Azure Repos för att distribuera till båda molnen.
Lägga till kod i ett Azure Repos-projekt
Logga in på Azure Repos med ett konto som har behörighet att skapa projekt Azure Stack Hub.
Klona lagringsplatsen genom att skapa och öppna standardwebbappen.
Skapa fristående webbappsdistribution för App Services i båda molnen
Redigera filen WebApplication.csproj: Välj och lägg sedan till
win10-x64. Mer information finns i Dokumentationen för fristående distribution.Använd Team Explorer för att kontrollera koden i Azure Repos.
Bekräfta att appkoden har checkats in på Azure Repos.
Skapa byggdefinitionen
Logga in på Azure Pipelines med ett konto som kan skapa en byggdefinition.
Gå till sidan Skapa webbapp för projektet.
I Argumentlägger du till -r win10-x64-kod. Det här tillägget krävs för att utlösa en fristående distribution med .NET Core.
Kör bygget. Byggprocessen för den fristående distributionen publicerar artefakter som kan köras på Azure och Azure Stack Hub.
Använda en Azure-värdad byggaragent
Att använda en värdbaserade byggagen i Azure Pipelines är ett praktiskt alternativ för att skapa och distribuera webbappar. Underhåll och uppgraderingar utförs automatiskt genom Microsoft Azure, vilket möjliggör en kontinuerlig och oavbruten utvecklingscykel.
Konfigurera processen för kontinuerlig distribution (CD)
Azure Pipelines och Azure DevOps Services tillhandahåller en mycket konfigurerbar och hanterbar pipeline för lanseringar till flera miljöer som utveckling, mellanlagring, kvalitetskontroll (QA) och produktion. Den här processen kan omfatta att kräva godkännanden i specifika faser av appens livscykel.
Skapa lanseringsdefinition
Att skapa en lanseringsdefinition är det sista steget i appbyggprocessen. Den här versionen används för att skapa en version och distribuera en version.
Logga in på Azure Pipelines och gå till Build and Release (Skapa och släpp) för projektet.
På fliken Versioner väljer du [ + ] och sedan Skapa version definition.
På Välj en mallväljer du Azure App Service Distributionoch väljer sedan Använd.
På Lägg till artefaktgår du till Källa (build-definition)och väljer Azure Cloud-byggappen.
På fliken Pipeline väljer du länken 1 Fas, 1 Uppgift för att visa miljöaktiviteter.
På fliken Uppgifter anger du Azure som miljönamn och väljer AzureCloud-Traders-Web EP i listan över Azure-prenumerationer.
Ange Azure App Service-namnet, som finns i nästa skärmbild.
För Agent-fasen väljer du Hosted VS2017 från listan Agentkö.
I Distribuera Azure App Serviceväljer du det giltiga paketet eller mappen för miljön.
I Välj fil eller mappväljer du OK för Plats.
Spara alla ändringar och gå tillbaka till Pipeline.
På fliken Pipeline väljer du Lägg till artefaktoch väljer NorthwindCloud Traders-Fördröjtfrån listan Källa (build-definition).
På Välj en mall läggerdu till en annan miljö. Välj Azure App Service Distribution och välj sedan Använd.
Ange
Azure Stack HubsomAzure Stack HubPå fliken Uppgifter hittar och väljer du Azure Stack Hub.
I listan över Azure-prenumerationer väljer du AzureStack Traders-Vessel EP för Azure Stack Hub slutpunkten.
Ange Azure Stack Hub för webbappen som App Service-namn.
Under Agentvalväljer du AzureStack -b Douglas Fir från listan Agentkö.
För Distribuera Azure App Serviceväljer du det giltiga paketet eller mappen för miljön. På Välj fil eller mappväljer du OK för mappen Plats.
På fliken Variabel hittar du variabeln med namnet . Ange värdet true för variabelnoch ställ in dess omfång på Azure Stack Hub.
På fliken Pipeline väljer du utlösarikonen kontinuerlig distribution för artefakten NorthwindCloud Traders-Web och ställer in Utlösare för kontinuerlig distribution på Aktiverad. Gör samma sak för artefakten NorthwindCloud Traders –Artifact.
För Azure Stack Hub miljö väljer du ikonen Fördistributionsvillkor och ställer in utlösaren på Efter version.
Spara alla ändringar.
Anteckning
Vissa inställningar för versionsuppgifter definieras automatiskt som miljövariabler när du skapar en lanseringsdefinition från en mall. De här inställningarna kan inte ändras i aktivitetsinställningarna, men de kan ändras i de överordnade miljöobjekten.
Skapa en version
På fliken Pipeline öppnar du listan Release (Version) och väljer Create release (Skapa version).
Ange en beskrivning av versionen, kontrollera att rätt artefakter har valts och välj sedan Skapa. Efter en liten stund visas en banderoll som anger att den nya versionen har skapats och att versionens namn visas som en länk. Välj länken för att se sammanfattningssidan för versionen.
Sammanfattningssidan för versionen innehåller information om versionen. I följande skärmbild för "Release-2" visar avsnittet Miljöer distributionsstatus för Azure som "PÅGÅR" och statusen för Azure Stack Hub är "LYCKADES". När distributionsstatusen för Azure-miljön ändras till "LYCKADES" visas en banderoll som anger att versionen är redo för godkännande. När en distribution väntar eller har misslyckats visas en blå informationsikon (i). Hovra över ikonen för att se ett popup-fönster som innehåller orsaken till fördröjning eller fel.
Andra vyer, till exempel listan över versioner, visar också en ikon som anger att godkännande väntar. Popup-menyn för den här ikonen visar miljönamnet och mer information om distributionen. Det är enkelt för en administratör att se den övergripande förloppet för versioner och se vilka versioner som väntar på godkännande.
Övervaka och spåra distributioner
På sammanfattningssidan Release-2 väljer du Loggar. Under en distribution visar den här sidan liveloggen från agenten. Den vänstra rutan visar status för varje åtgärd i distributionen för varje miljö.
Välj personikonen i kolumnen Åtgärd för ett förhandsdistributions- eller efterdistributionsgodkännande för att se vem som godkände (eller avvisade) distributionen och det meddelande som de angav.
När distributionen är klar visas hela loggfilen i den högra rutan. Välj ett steg i det vänstra fönstret för att se loggfilen för ett enda steg, t.ex. Initiera jobb. Möjligheten att se enskilda loggar gör det enklare att spåra och felsöka delar av den övergripande distributionen. Spara loggfilen för ett steg eller Ladda ned alla loggar som zip.
Öppna fliken Sammanfattning om du vill se allmän information om versionen. Den här vyn visar information om bygget, de miljöer som den har distribuerats till, distributionsstatus och annan information om versionen.
Välj en miljölänk (Azureeller Azure Stack Hub) för att se information om befintliga och väntande distributioner till en specifik miljö. Använd dessa vyer som ett snabbt sätt att kontrollera att samma version har distribuerats till båda miljöerna.
Öppna den distribuerade produktionsappen i en webbläsare. För till exempel Azure App Services-webbplatsen öppnar du URL:en
https://[your-app-name\].azurewebsites.net.
Integreringen av Azure Azure Stack Hub ger en skalbar molnlösning
En flexibel och robust tjänst för flera moln ger datasäkerhet, säkerhet och redundans, konsekvent och snabb tillgänglighet, skalbar lagring och distribution samt geo-kompatibel routning. Den här manuellt utlösta processen säkerställer tillförlitlig och effektiv belastningsväxling mellan värdbaserade webbappar och omedelbar tillgänglighet för viktiga data.
Nästa steg
- Mer information om Azure Cloud Patterns finns i Designmönster för molnet.