Hvad er automatisk skalering
I dette undermodul kigger vi på Azure-skaleringskoncepter.
Elastisk skalering
En primær fordel ved cloudmiljøet er elastisk skalering. Du skalerer ud ved at tilføje programforekomster baseret på øget efterspørgsel. Du kan bruge så meget kapacitet, du har brug for, skalere ud, efterhånden som belastningen øges, og skalere i, når den ekstra kapacitet ikke er nødvendig.
Et klassisk eksempel på behovet for elasticitet opstår, når en organisations websted oplever usædvanligt høje belastninger. Hvis webstedet ikke kan skaleres for at imødekomme efterspørgslen, tager det længere tid at behandle anmodninger, fordi de er sat i kø og venter på processortid. For kunden virker webstedet langsomt og svarer ikke. I ekstreme tilfælde kan webstedet endda se ud til at være nede.
Manuel vs. automatisk skalering
Du kan konfigurere skaleringsindstillinger for et program med en af to tilstande: manuelle eller automatisk. Manuel er som forventet: Du angiver det absolutte antal forekomster. Automatisk (automatisk skalering) giver dig dog mulighed for at angive regler, der styrer, hvordan og efter hvor meget du skal skalerer.
Autoskalering giver dig mulighed for at have den rette mængde ressourcer kørende til at håndtere belastningen af dit program. Automatisk skalering letter administrationsomkostningerne ved at reducere behovet for, at systemoperatørerne hele tiden træffer beslutninger om at tilføje eller fjerne ressourcer eller kontrollere systemets ydeevne. Når du har et minimum, sikrer du, at dit program altid kører selv uden belastning. Hvis du har en maksimal grænse for dine samlede mulige timeomkostninger. Du skalerer automatisk mellem disse to yderpunkter ved hjælp af de regler, du opretter.
"Out" vs. "Up"
Der er to primære måder, et program kan skaleres på:
Lodret skalering, som også kaldes skalering op og ned, ændrer kapaciteten for en ressource. Du kan f.eks. flytte et program til en større beregningsstørrelse. Lodret skalering kræver ofte, at systemet gøres midlertidigt utilgængeligt, mens det geninstalleres, så det er mindre almindeligt at automatisere lodret skalering.
Vandret skalering, som også kaldes skalering og i, tilføjer eller fjerner forekomster af en ressource. Programmet fortsætter uden afbrydelser, efterhånden som nye ressourcer klargøres. Når klargøringsprocessen er fuldført, installeres løsningen på disse ekstra ressourcer. Hvis efterspørgslen falder, kan de ekstra ressourcer lukkes rent og deallokeres.
Autoskalering skalerer kun "" (vandret), hvilket er en stigning ("ud") eller formindske ("i") i antallet af programforekomster.
Automatisk skalering i Azure Spring Apps
Automatisk skalering i Azure Spring Apps overvåger ressourcemålepunkterne for et springprogram, mens det kører. Den registrerer situationer, hvor der kræves ekstra ressourcer for at håndtere en stigende arbejdsbelastning, og sikrer, at disse ressourcer er tilgængelige, før systemet overbelastes. Autoskalering er en indbygget funktion i Azure Spring Apps, der hjælper microservice-programmer med at gøre deres bedste, når efterspørgslen ændres.
Eksempel på den virkelige verden
Raleys købmandsforretninger skal modernisere koden og infrastrukturen for deres Java-drevne e-handelswebsteder, der hostes på Azure. Virksomheden skal også optimere og automatisere sin netværksallokering. Alt skal være robust, altid tændt og – vigtigst af alt – nemt at administrere.
Raley's vælger Azure Spring Apps. Azure Spring Apps er en administreret tjeneste til Spring Boot, som giver styrken ved Kubernetes kombineret med overvågning i realtid og automatisk skalering. Det gør det også muligt for Raley's at indføre en ægte paaS-arkitektur (platform as a service), så fordelene ved cloudmiljøet udnyttes mere fuldt ud.
Tjenesten administrerer infrastrukturen i Spring Boot-microservice-programmer i baggrunden, så udviklere kan fokusere på deres kode. Når Java-biblioteker eller -kode er udrullet, sender Spring Apps automatisk apps med kørselstidspunktet for forårstjenesten.
Når de er udrullet, er Azure Spring Apps fuldt integreret med Azure Monitor-værktøjer som Application Insights og Log Analytics. Disse værktøjer muliggør nem, fuldt konfigurerbar overvågning af ydeevne og fejl. Disse samme overvågningstjenester kan også køre automatisk skalering, hvilket hjælper med at sikre, at ressourcerne er korrekt størrelse for aktuelle belastninger.