Översikt över Azure Cloud Services (klassisk)
Viktigt!
Cloud Services (klassisk) är nu inaktuellt för alla kunder från och med den 1 september 2024. Alla befintliga distributioner som körs stoppas och stängs av av Microsoft och data kommer att förloras kontinuerligt från och med oktober 2024. Nya distributioner bör använda den nya Azure Resource Manager-baserade distributionsmodellen Azure Cloud Services (utökad support).
Azure Cloud Services är ett exempel på en plattform som en tjänst (PaaS). Precis som Azure App Service är den här tekniken utformad för att stödja program som är skalbara, tillförlitliga och billiga att använda. På samma sätt som App Service finns på virtuella datorer (VM), så är även Azure Cloud Services. Du har dock mer kontroll över de virtuella datorerna. Du kan installera din egen programvara på virtuella datorer som använder Azure Cloud Services och du kan komma åt dem via fjärranslutning.
Mer kontroll innebär också mindre användarvänlighet. Om du inte behöver fler kontrollalternativ är det vanligtvis snabbare och enklare att få igång ett webbprogram i Web Apps-funktionen i App Service jämfört med Azure Cloud Services.
Det finns två typer av Azure Cloud Services-roller. Den enda skillnaden mellan de två är hur din roll finns på de virtuella datorerna:
Webbroll: Distribuerar och är värd för din app automatiskt via Internet Information Services (IIS).
Arbetsroll: Använder inte IIS och kör appen fristående.
Ett enkelt program kan till exempel bara använda en enda webbroll som betjänar en webbplats. Ett mer komplext program kan använda en webbroll för att hantera inkommande begäranden från användare och sedan skicka dessa begäranden vidare till en arbetsroll för bearbetning. (Den här kommunikationen kan använda Azure Service Bus eller Azure Queue Storage.)
Som föregående bild antyder körs alla virtuella datorer i ett enda program i samma molntjänst. Användare får åtkomst till programmet via en enda offentlig IP-adress, med begäranden automatiskt belastningsutjämning över programmets virtuella datorer. Plattformen skalar och distribuerar de virtuella datorerna i ett Azure Cloud Services-program på ett sätt som undviker en enskild maskinvarufelpunkt.
Även om program körs på virtuella datorer är det viktigt att förstå att Azure Cloud Services tillhandahåller PaaS, inte infrastruktur som en tjänst (IaaS). Här är ett sätt att tänka på det. Med IaaS, till exempel Azure Virtual Machines, skapar och konfigurerar du först den miljö som programmet körs i. Sedan distribuerar du programmet till den här miljön. Du ansvarar för att hantera stora delar av den här världen genom att göra saker som att distribuera nya korrigerade versioner av operativsystemet på varje virtuell dator. I PaaS är det däremot som om miljön redan finns. Allt du behöver göra är att distribuera ditt program. Hantering av den plattform som körs på, inklusive distribution av nya versioner av operativsystemet, hanteras åt dig.
Skalning och hantering
Med Azure Cloud Services skapar du inte virtuella datorer. I stället anger du en konfigurationsfil som anger för Azure hur många av var och en du vill ha, till exempel "tre webbrollsinstanser" och "två arbetsrollinstanser". Plattformen skapar dem sedan åt dig. Du väljer fortfarande vilken storlek de virtuella datorerna ska ha, men du skapar dem inte uttryckligen själv. Om ditt program behöver hantera en större belastning kan du be om fler virtuella datorer och Azure skapar dessa instanser. Om belastningen minskar kan du stänga av instanserna och sluta betala för dem.
Ett Azure Cloud Services-program görs vanligtvis tillgängligt för användare via en tvåstegsprocess. En utvecklare laddar först upp programmet till plattformens mellanlagringsområde. När utvecklaren är redo att göra programmet live använder de Azure Portal för att växla mellanlagring med produktion. Den här växeln mellan mellanlagring och produktion kan göras utan avbrott, vilket gör att ett program som körs kan uppgraderas till en ny version utan att störa användarna.
Övervakning
Azure Cloud Services tillhandahåller även övervakning. Precis som virtuella datorer identifierar den en misslyckad fysisk server och startar om de virtuella datorer som kördes på servern på en ny dator. Men Azure Cloud Services identifierar även misslyckade virtuella datorer och program, inte bara maskinvarufel. Till skillnad från virtuella datorer har den en agent i varje webb- och arbetsroll, så att den kan starta nya virtuella datorer och programinstanser när fel inträffar.
PaaS-karaktären för Azure Cloud Services har också andra konsekvenser. En av de viktigaste konsekvenserna är att du bör skriva program som bygger på den här tekniken för att köras korrekt när en webb- eller arbetsrollinstans misslyckas. För att uppnå det här målet bör ett Azure Cloud Services-program inte underhålla tillstånd i filsystemet för sina egna virtuella datorer. Till skillnad från virtuella datorer som skapats med virtuella datorer är skrivningar som görs till virtuella Azure Cloud Services-datorer inte beständiga. Det finns inget som en datadisk för virtuella datorer. I stället bör ett Azure Cloud Services-program uttryckligen skriva alla tillstånd till Azure SQL Database, blobar, tabeller eller någon annan extern lagring. Att skapa program på det här sättet gör dem enklare att skala och mer motståndskraftiga mot fel. Skalbarhet och återhämtning är båda viktiga mål för Azure Cloud Services.