Undersøg udskaleringsindstillinger
Azure App Service understøtter to muligheder for automatisk skalering af dine webapps:
- Automatisk skalering med Automatisk skalering i Azure. Automatisk skalering træffer skaleringsbeslutninger baseret på regler, som du definerer.
- Automatisk skalering af Azure App Service. Automatisk skalering træffer skaleringsbeslutninger for dig baseret på de parametre, du vælger.
Hvad er automatisk skalering?
Automatisk skalering er et cloudsystem eller en proces, der justerer tilgængelige ressourcer baseret på den aktuelle efterspørgsel. Automatisk skalering udfører skalering ind og udi modsætning til skalering op og ned.
Automatisk skalering kan udløses i henhold til en tidsplan eller ved at vurdere, om systemet mangler ressourcer. Automatisk skalering kan f.eks. udløses, hvis CPU-forbruget vokser, antallet af hukommelsesforbrug øges, antallet af indgående anmodninger til en tjeneste ser ud til at være stigende eller en kombination af faktorer.
Automatisk skalering af Azure App Service
Automatisk skalering i Azure App Service overvåger ressourcemålepunkterne for en webapp, mens den kører. Den registrerer situationer, hvor andre ressourcer er nødvendige for at håndtere en stigende arbejdsbelastning, og sikrer, at disse ressourcer er tilgængelige, før systemet overbelastes.
Automatisk skalering reagerer på ændringer i miljøet ved at tilføje eller fjerne webservere og balancere belastningen mellem dem. Automatisk skalering har ingen indvirkning på CPU-strøm, hukommelse eller lagerkapacitet på de webservere, der styrer appen. Det ændrer kun antallet af webservere.
Regler for automatisk skalering
Automatisk skalering træffer sine beslutninger på baggrund af de regler, du definerer. En regel angiver tærsklen for en metrikværdi og udløser en automatisk skaleringshændelse, når denne grænse overskrides. Automatisk skalering kan også deallokere ressourcer, når arbejdsbelastningen er blevet mindre.
Definer reglerne for automatisk skalering omhyggeligt. Et Denial of Service-angreb vil f.eks. sandsynligvis resultere i en storstilet tilstrømning af indgående trafik. Forsøg på at håndtere en stigning i anmodninger forårsaget af et DoS-angreb ville være frugtesløst og dyrt. Disse anmodninger er ikke ægte og bør kasseres i stedet for behandles. En bedre løsning er at implementere registrering og filtrering af anmodninger, der opstår under et sådant angreb, før de når din tjeneste.
Hvornår skal du overveje automatisk skalering?
Automatisk skalering giver elasticitet til dine tjenester. Du kan f.eks. forvente øget/reduceret aktivitet for en virksomhedsapp i ferier.
Automatisk skalering forbedrer tilgængeligheden og fejltolerancen. Det kan hjælpe med at sikre, at klientanmodninger til en tjeneste ikke afvises, fordi en forekomst enten ikke kan bekræfte anmodningen rettidigt, eller fordi en overbelastet forekomst er gået ned.
Automatisk skalering fungerer ved at tilføje eller fjerne webservere. Hvis dine webapps udfører ressourcekrævende behandling som en del af hver anmodning, er automatisk skalering muligvis ikke en effektiv tilgang. I disse situationer kan det være nødvendigt at skalere op manuelt. Hvis en anmodning, der sendes til en webapp, f.eks. omfatter udførelse af kompleks behandling over et stort datasæt, afhængigt af forekomstens størrelse, kan denne enkelt anmodning udtømme forekomstens behandlings- og hukommelseskapacitet.
Autoskalering er ikke den bedste måde at håndtere langsigtet vækst på. Du har muligvis en webapp, der starter med nogle få brugere, men som bliver mere populær med tiden. Automatisk skalering har et spild knyttet til overvågningsressourcer og bestemmer, om der skal udløses en skaleringshændelse. Hvis du i dette scenarie kan forudse vækstraten, kan manuel skalering af systemet over tid være en mere omkostningseffektiv tilgang.
Antallet af forekomster af en tjeneste er også en faktor. Du kan forvente kun at køre nogle få forekomster af en tjeneste det meste af tiden. I denne situation er tjenesten dog udsat for nedetid eller manglende tilgængelighed, uanset om automatisk skalering er aktiveret eller ej. Jo færre forekomster der startes, jo mindre kapacitet skal du håndtere en stigende arbejdsbelastning, mens automatisk skalering spinner flere forekomster.
Automatisk skalering af Azure App Service
Automatisk skalering er en ny skaleringsmulighed, der automatisk håndterer skaleringsbeslutninger for dine webapps og App Service-planer. Den adskiller sig fra den eksisterende Azure-autoskalering, hvor du kan definere skaleringsregler baseret på tidsplaner og ressourcer. Med automatisk skalering kan du justere skaleringsindstillinger for at forbedre appens ydeevne og undgå problemer med koldstart. Platformen præwarmerer forekomster, så de fungerer som en buffer, når der skaleres ud, så der sikres problemfrie overgange for ydeevnen. Du faktureres pr. sekund for hver forekomst, herunder forudadvarslerede forekomster.
Her er et par scenarier, hvor du automatisk skal skalere ud:
- Du vil ikke konfigurere regler for automatisk skalering baseret på ressourcemålepunkter.
- Du ønsker, at dine webapps i den samme App Service-plan skaleres forskelligt og uafhængigt af hinanden.
- Din webapp har forbindelse til en database eller et ældre system, som muligvis ikke skaleres så hurtigt som webappen. Skalering giver dig automatisk mulighed for at angive det maksimale antal forekomster, som din App Service Plan kan skaleres til. Denne indstilling hjælper webappen med ikke at overvælde backend.