Een web-app handmatig schalen

Voltooid

Als u handmatig uitbreidt en dit ook handmatig weer ongedaan maakt, kunt u reageren op verwachte toenamen en afnamen in het verkeer. Uitschalen heeft het extra voordeel dat de beschikbaarheid toeneemt vanwege het toegenomen aantal exemplaren van de web-app. Als er één exemplaar uitvalt, betekent dit niet dat de web-app niet meer beschikbaar is.

U kunt het hotelreserveringssysteem bijvoorbeeld uitbreiden omdat u verwacht dat er seizoensgebonden drukte komt. U maakt de uitbreiding na afloop van het seizoen weer ongedaan, wanneer er minder reserveringsaanvragen zijn.

In deze les leert u hoe u een web-app handmatig kunt uitschalen en hoe u deze weer kunt inschalen.

App Service-plannen en schaalbaarheid

Een web-app die wordt uitgevoerd in Azure maakt doorgaans gebruik van Azure-app Service om de hostingomgeving te bieden. App Service kan ervoor zorgen dat meerdere exemplaren van de web-app worden uitgevoerd. Deze taak verdeelt binnenkomende aanvragen over deze exemplaren. Elk exemplaar wordt uitgevoerd op een virtuele machine.

Een App Service-plan definieert de resources die beschikbaar zijn voor elk exemplaar. In het App Service-plan wordt het besturingssysteem (Windows of Linux) opgegeven, er staat informatie in over de hardware (geheugen, CPU-verwerkingscapaciteit, opslagruimte, enzovoort) en welke services beschikbaar zijn, zoals automatisch back-ups maken en herstellen.

Azure biedt een reeks goed gedefinieerde categorieën voor App Service-plannen. Deze lijst bevat een overzicht van elk van deze lagen, in toenemende volgorde van capaciteit en kosten:

  • De gratis laag biedt 1 GB aan schijfruimte en ondersteuning voor maximaal 10 apps. Er kan echter slechts één gedeeld exemplaar worden gebruikt en er is geen SLA voor beschikbaarheid. Elke app heeft een rekenquotum van 60 minuten per dag. Het gratis serviceplan is geschikt voor het ontwikkelen en testen van apps in plaats van productie-implementaties.
  • De gedeelde servicelaag biedt ondersteuning voor meer apps (maximaal 100) en wordt ook uitgevoerd op één gedeeld exemplaar. Elke app heeft een rekenquotum van 240 minuten per dag. Er is geen SLA voor beschikbaarheid.
  • De basiscategorie biedt ondersteuning voor een onbeperkt aantal apps en biedt meer schijfruimte. Apps kunnen worden uitgebreid naar drie toegewezen exemplaren. Deze servicelaag biedt een SLA voor een beschikbaarheid van 99,95%. Deze categorie bestaat uit drie niveaus met verschillende hoeveelheden rekenkracht, geheugen en opslagruimte.
  • De standaardlaag biedt ook ondersteuning voor een onbeperkt aantal apps. In deze categorie kunt u schalen naar 10 toegewezen exemplaren met een SLA voor een beschikbaarheid van 99,95%. Net als de laag Basic heeft deze categorie drie niveaus, met een steeds uitgebreidere set opties voor rekenkracht, geheugen en opslagruimte.
  • Met de servicelaag Premium beschikt u over maximaal 20 toegewezen exemplaren, een SLA voor een beschikbaarheid van 99,95% en meerdere hardwareniveaus.
  • Bij de servicelaag Isolated wordt er een toegewezen virtueel Azure-netwerk gebruikt, waardoor u beschikt over een netwerk en isolatie wordt berekend. In deze laag kunt u uitbreiden naar 100 exemplaren met een SLA voor een beschikbaarheid van 99,95%.

Notitie

Sommige lagen zijn niet beschikbaar voor alle besturingssystemen. De gedeelde servicelaag is bijvoorbeeld niet beschikbaar voor Linux.

Web-apps bewaken en schalen

Wanneer u een web-app maakt, kunt u een nieuw App Service-plan maken of een bestaand plan gebruiken. Als u een bestaand plan selecteert, delen alle andere web-apps die gebruikmaken van hetzelfde plan resources met uw web-app. Ze schalen allemaal samen, zodat ze dezelfde schaalvereisten moeten hebben. Als voor bepaalde apps andere vereisten van toepassing zijn, gebruikt u voor deze apps een ander App Service-plan.

U kunt uitbreiden door meer exemplaren aan een App Service-plan toe te voegen, tot de limiet die geldt voor uw servicelaag. Als u de gratis laag niet gebruikt, worden er per uur kosten in rekening gebracht voor elk exemplaar. U kunt deze taak uitvoeren in de Azure-portal.

Het is belangrijk om goed te weten wanneer en hoeveel u moet schalen; zo bent u het meest effectief. U kunt de prestaties van web-apps bewaken met de metrische gegevens die beschikbaar zijn in App Service. De eenvoudigste manier om deze taak uit te voeren, is door Azure Portal te gebruiken.

Als u merkt dat er steeds meer gebruik wordt gemaakt van resources (bijvoorbeeld in het CPU-gebruik, het geheugengebruik en de wachtrijlengte voor schijven), kunt u overwegen uit te breiden voordat er kritieke niveaus worden bereikt. Houd ook de gemiddelde reactietijd bij aanvragen in de gaten, net als het aantal aanvragen dat mislukt. Als beide cijfers hoog zijn, kan het systeem dicht bij of buiten de capaciteit worden uitgevoerd. Mogelijk moet u direct uitbreiden.

Als uit de metrische gegevens blijkt dat het systeem slechts lichtelijk wordt belast en er nog voldoende capaciteit over is, kan het handig zijn om weer in te schalen om de kosten te verlagen.

In beide gevallen moet u de statistieken van de web-app blijven bewaken. Laat het systeem zich stabiliseren. Als de metrische gegevens aangeven dat de app nog steeds onderkracht of overkracht is, kunt u indien nodig instanties toevoegen of verwijderen.