Wat is automatisch schalen?
In deze les kijken we naar azure-schaalconcepten.
Elastisch schalen
Een belangrijk voordeel van de cloud is elastisch schalen. U schaalt uit door toepassingsexemplaren toe te voegen op basis van toegenomen vraag. U kunt zoveel capaciteit gebruiken als u nodig hebt, uitschalen naarmate de belasting toeneemt en inschalen wanneer de extra capaciteit niet nodig is.
Een klassiek voorbeeld wanneer er behoefte is aan elasticiteit, is wanneer de website van een organisatie ongebruikelijk hoge belastingen ondervindt. Als de schaal van de site niet kan worden aangepast om aan de vraag te voldoen, duurt het langer om aanvragen te verwerken omdat deze in afwachting van verwerking in de wachtrij worden geplaatst. Voor de klant lijkt het alsof de site langzaam is en niet meer reageert. In extreme gevallen lijkt de site mogelijk zelfs niet actief te zijn.
Handmatig versus automatisch schalen
U kunt schaalinstellingen voor een toepassing configureren met een van de twee modi: handmatig of automatisch. Handmatig is zoals u zou verwachten: u stelt het absolute aantal exemplaren in. Met automatisch (automatisch schalen) kunt u echter regels instellen die bepalen hoe en hoeveel u moet schalen.
Met automatisch schalen kunt u de juiste hoeveelheid resources uitvoeren om de belasting van uw toepassing te verwerken. Automatisch schalen vereenvoudigt de beheeroverhead door de noodzaak voor systeembeheerders te verminderen om voortdurend beslissingen te nemen over het toevoegen of verwijderen van resources of het controleren van de prestaties van het systeem. Als u een minimum hebt, zorgt u ervoor dat uw toepassing altijd wordt uitgevoerd, zelfs zonder belasting. U hebt een maximumlimiet voor de totale mogelijke kosten per uur. U schaalt automatisch tussen deze twee uitersten met behulp van regels die u maakt.
"Out" versus "Up"
Er zijn twee manieren waarop een toepassing kan worden geschaald:
Verticaal schalen, ook wel omhoog en omlaag schalen genoemd, wijzigt de capaciteit van een resource. U kunt bijvoorbeeld een toepassing verplaatsen naar een grotere rekenkracht. Voor verticaal schalen is vaak vereist dat het systeem tijdelijk niet beschikbaar is terwijl het opnieuw wordt geïmplementeerd, dus het is minder gebruikelijk om verticale schaalaanpassing te automatiseren.
Horizontaal schalen, dat ook wel uit- en inschalen wordt genoemd, voegt exemplaren van een resource toe of verwijdert deze. De toepassing wordt zonder onderbreking uitgevoerd terwijl nieuwe resources worden ingericht. Wanneer het inrichtingsproces is voltooid, wordt de oplossing geïmplementeerd op deze extra resources. Als de vraag afneemt, kunnen de extra resources schoon worden afgesloten en de toewijzing ervan ongedaan worden gemaakt.
Automatisch schalen schaalt alleen 'uit' (horizontaal), wat een toename ("uit") of afname ("in") is in het aantal toepassingsexemplaren.
Automatisch schalen in Azure Spring Apps
Automatisch schalen in Azure Spring Apps bewaakt de metrische resourcegegevens van een Spring-toepassing terwijl deze wordt uitgevoerd. Er worden situaties gedetecteerd waarin extra resources nodig zijn om een toenemende workload af te handelen en ervoor te zorgen dat deze resources beschikbaar zijn voordat het systeem overbelast raakt. Automatisch schalen is een ingebouwde functie van Azure Spring Apps waarmee microservicetoepassingen hun best doen wanneer de vraag verandert.
Praktijkvoorbeeld
De supermarkten van Raley moeten de code en infrastructuur moderniseren voor hun door Java aangedreven e-commercesites die worden gehost in Azure. Het bedrijf moet ook de netwerktoewijzing optimaliseren en automatiseren. Alles moet robuust, altijd ingeschakeld zijn en, het belangrijkste, gemakkelijk te beheren zijn.
Raley kiest Azure Spring Apps. Azure Spring Apps is een beheerde service voor Spring Boot, die de kracht van Kubernetes biedt, in combinatie met realtime bewaking en automatisch schalen. Het stelt Raley ook in staat om een echte PaaS-architectuur (Platform as a Service) te gebruiken, waarbij de voordelen van de cloud volledig worden benut.
De service beheert de infrastructuur van Spring Boot-microservicetoepassingen achter de schermen, zodat ontwikkelaars zich kunnen concentreren op hun code. Wanneer Java-bibliotheken of -code worden geïmplementeerd, worden de apps automatisch door Spring Apps verbonden met de Spring-serviceruntime.
Nadat ze zijn geïmplementeerd, is Azure Spring Apps volledig geïntegreerd met Azure Monitor-hulpprogramma's zoals Application Insights en Log Analytics. Deze hulpprogramma's maken eenvoudige, volledig configureerbare bewaking van prestaties en fouten mogelijk. Dezelfde bewakingsservices kunnen ook automatische schaalaanpassing aandrijven, waardoor resources op de juiste manier worden aangepast voor de huidige belastingen.