Algemene patronen voor automatisch schalen

Voltooid

In deze les kijken we naar patronen voor automatisch schalen.

Automatisch schalen is geen onmiddellijke oplossing. Het simpelweg toevoegen van resources aan een systeem of het uitvoeren van meer exemplaren van een proces garandeert geen verbeterde prestaties voor het systeem. Houd rekening met de volgende punten bij het ontwerpen van een strategie voor automatisch schalen:

Aanbevelingen

Knelpunten identificeren: uitschalen is geen magische oplossing voor elk prestatieprobleem. Als uw back-enddatabase bijvoorbeeld het knelpunt is, is het niet handig om meer webservers toe te voegen. Identificeer en los de knelpunten in het systeem op voordat er meer exemplaren op het probleem worden gegooid. Knelpunten worden meestal veroorzaakt door stateful onderdelen van het systeem.

Workloads opsplitsen op basis van schaalbaarheidsvereisten: toepassingen bestaan vaak uit meerdere workloads met verschillende vereisten voor schalen. Zo kan een toepassing een openbare site hebben en een afzonderlijke beheersite. De openbare site kan plotselinge pieken in het verkeer ervaren, terwijl de beheersite een kleinere, voorspelbarere belasting heeft.

Resource-intensieve taken offloaden: taken waarvoor veel CPU- of I/O-resources nodig zijn, moeten indien mogelijk worden verplaatst naar achtergrondtaken. Het offloaden van taken minimaliseert de belasting van de front-end die gebruikersaanvragen verwerkt.

Ingebouwde functies voor automatisch schalen gebruiken: als de toepassing een voorspelbare, normale workload heeft, kunt u uitschalen volgens een schema. bijvoorbeeld tijdens kantooruren. Als de werkbelasting niet voorspelbaar is, gebruikt u prestatiegegevens zoals CPU of wachtrijlengte voor aanvragen om automatisch schalen te activeren.

Overweeg agressieve automatische schaalaanpassing voor kritieke workloads: voor kritieke workloads wilt u de vraag voor blijven. Het is beter om snel nieuwe exemplaren toe te voegen onder zware belasting om het andere verkeer te verwerken en vervolgens geleidelijk terug te schalen.

Ontwerp voor inschalen: Houd er rekening mee dat met elastisch schalen de toepassing perioden van inschalen heeft wanneer exemplaren worden verwijderd. De toepassing moet zorgvuldig omgaan met het verwerken van exemplaren. Hier volgen enkele manieren om inschalen te verwerken:

  • Luister naar afsluitevenementen wanneer ze beschikbaar zijn en sluit ze schoon af.
  • Ondersteuning voor tijdelijke foutafhandeling en opnieuw proberen.
  • Overweeg om het werk op te splitsen voor langlopende taken.
  • Plaats werkitems in een wachtrij, zodat een ander exemplaar het werk kan ophalen als een exemplaar midden in de verwerking wordt verwijderd.

Meldingen

  • Alle fouten bij automatisch schalen worden vastgelegd in het activiteitenlogboek. Vervolgens kunt u een waarschuwing voor activiteitenlogboeken configureren waarmee u een melding ontvangt via e-mail, Short Message Service (SMS) of webhooks wanneer er een fout met automatische schaalaanpassing is opgetreden.
  • Op dezelfde manier worden alle geslaagde schaalacties in het activiteitenlogboek geplaatst. Vervolgens kunt u een waarschuwing voor activiteitenlogboeken configureren, zodat u een melding kunt ontvangen via e-mail, sms of webhooks wanneer er een geslaagde automatische schaalaanpassingsactie is. U kunt ook e-mail- of webhookmeldingen configureren om op de hoogte te worden gesteld van geslaagde schaalacties via het tabblad Meldingen in de instelling voor automatisch schalen.

Diagram van een webhookprocesstroom.

Algemene patronen voor het schalen van uw resource in Azure

Schalen op basis van vraag

U kunt het aantal service-exemplaren automatisch aan het begin van de werkdag uitschalen wanneer de vraag van de klant toeneemt. Aan het einde van de werkdag wordt het aantal toepassingsexemplaren automatisch geschaald om de resourcekosten 's nachts te minimaliseren wanneer het gebruik van toepassingen laag is.

Anders schalen op weekdagen versus weekenden

In een avond of weekend hebt u mogelijk een lagere vraag naar toepassingen. Als deze belasting gedurende een bepaalde periode consistent is, kunt u regels voor automatische schaalaanpassing configureren om het aantal service-exemplaren in de schaalset te verlagen. Als u deze inschaalactie uitvoert, worden de kosten voor het uitvoeren van uw schaalset verlaagd, omdat u alleen het aantal exemplaren uitvoert dat nodig is om te voldoen aan de huidige vraag.

Anders schalen tijdens feestdagen

Als u intensief gebruik hebt voor een service in bepaalde delen van de maand of fiscale cyclus, kunt u het aantal service-exemplaren automatisch schalen om aan hun extra eisen te voldoen. Wanneer er een marketingevenement, promotie of vakantieverkoop is, kunt u het aantal service-exemplaren automatisch schalen voordat de verwachte vraag van klanten wordt verwacht.

Schalen op basis van aangepaste metrische gegevens

Ten slotte kunt u uw regels voor automatisch schalen het beste zorgvuldig definiƫren. Een DoS-aanval (Denial of Service) leidt bijvoorbeeld waarschijnlijk tot een grootschalige instroom van binnenkomend verkeer. Het zou nutteloos en duur zijn om te proberen een piek in aanvragen af te handelen als die piek wordt veroorzaakt door een DoS-aanval. Deze aanvragen zijn niet echt en moeten worden verwijderd in plaats van verwerkt. Een betere oplossing is om detectie te implementeren en aanvragen die zich voordoen tijdens een dergelijke aanval te filteren voordat ze uw service bereiken.

Nadat u de regels voor automatisch schalen hebt geconfigureerd, controleert u de prestaties van uw toepassing in de loop van de tijd. Gebruik de resultaten van deze bewaking om het patroon waarin het systeem wordt geschaald, indien nodig aan te passen.