Oikea mitoitus ja automaattinen skaalaus
Analysoi virtuaalikoneiden suorituskykytietoja instanssien mitoittamiseksi oikein, ota ennakoitaville työkuormille käyttöön ajastettu automaattinen skaalaus ja käytä erätyökuormille VMSS Spot -instansseja
Oikea mitoitus ja automaattinen skaalaus on ilmainen Azure Fundamentals-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Azure Fundamentals-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Azure Fundamentals-kurssilla on yhteensä 4 oppituntia.
Mitä oikea mitoitus tarkoittaa?
Oikea mitoitus tarkoittaa Azure-virtuaalikoneiden tai -palveluiden SKU-kokojen sovittamista työkuorman todellisiin resurssivaatimuksiin – ilman ylimitoitusta (rahan tuhlaamista) tai alimitoitusta (suorituskyvyn heikkenemisen riskiä). Useimmat organisaatiot mitoittavat resurssit aluksi 30–50 % liian suuriksi varmuuden vuoksi siirtyessään paikallisista ympäristöistä pilveen. Säännöllinen, tyypillisesti kuukausittainen, mitoitusanalyysi voi palauttaa merkittävän osan ylimääräisistä kustannuksista vaikuttamatta sovelluksen suorituskykyyn.
Virtuaalikoneen suorituskykytietojen analysointi
Kerää Azure Monitorin mittareiden ja VM Insightsin avulla suorittimen, muistin, levyjen IOPS-arvojen ja verkkosiirron tiedot vähintään 30 päivän ajalta. Tarkastele huippukäyttöastetta (P95 tai P99) keskiarvon sijaan, jotta oikean kokoiseksi mitoitettu virtuaalikone pystyy käsittelemään liikennepiikit. Azure Advisorin mitoitussuositus käyttää oletusarvoisesti seitsemän päivän tarkastelujaksoa, mutta voit pidentää sen 30 tai 60 päivään Advisorin määrityksissä edustavampien tietojen saamiseksi.
# Get P95 CPU utilisation for a VM over 30 days
az monitor metrics list \
--resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM \
--metric 'Percentage CPU' \
--aggregation Percentile \
--interval P1D \
--start-time 2024-05-01T00:00:00Z \
--end-time 2024-06-01T00:00:00ZVirtuaalikoneiden SKU-perheet ja koon muuttaminen
Azure-virtuaalikoneet on järjestetty eri työkuormille optimoituihin SKU-perheisiin: D-series (yleiskäyttö), E-series (muistioptimoitu), F-series (laskentaoptimoitu), N-series (GPU) ja L-series (tallennusoptimoitu). Jos virtuaalikoneen suorittimen käyttö on vähäistä mutta muistin käyttö suurta, siirtyminen D-sarjasta E-sarjaan samalla vCPU-määrällä tarjoaa enemmän RAM-muistia vastaavilla kustannuksilla. Virtuaalikoneen koon muuttaminen Azuressa edellyttää yleensä lyhyttä, muutaman minuutin uudelleenkäynnistystä.
# Resize a VM to a smaller SKU
az vm resize \
--resource-group myRG \
--name myVM \
--size Standard_D2s_v5Ennakoitavien työkuormien ajastettu automaattinen skaalaus
Ajastettu automaattinen skaalaus on oikea valinta, kun työkuorman käyttäytyminen on ennakoitavaa. Vähittäiskaupan sovellus, jonka liikenne on vilkasta työaikana ja lähes olematonta öisin, voidaan määrittää laajentamaan kapasiteettia scale-out-ajastuksella kello 07.00 ja pienentämään sitä scale-in-ajastuksella kello 22.00. Sekä Virtual Machine Scale Sets (VMSS) että App Service tukevat ajastettuja automaattisen skaalauksen sääntöjä. Tunnetuilla kuormitusmalleilla tämä lähestymistapa on yksinkertaisempi ja kustannuksiltaan ennakoitavampi kuin mittaripohjainen automaattinen skaalaus.
# Add a scheduled autoscale rule to a VMSS (scale out at 07:00, in at 22:00 UTC)
az monitor autoscale create \
--resource-group myRG \
--resource myVMSS \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name myAutoscale \
--min-count 2 --max-count 10 --count 2Mittaripohjainen automaattinen skaalaus
Mittaripohjainen automaattinen skaalaus lisää tai poistaa instansseja dynaamisesti reaaliaikaisten mittareiden, kuten suorittimen käyttöasteen, HTTP-pyyntöjonon pituuden tai Azure Monitorin kautta julkaistujen mukautettujen mittareiden, perusteella. Määrität scale-out-säännöt (milloin instansseja lisätään) ja scale-in-säännöt (milloin instansseja poistetaan) sekä jäähdytysajat nopean edestakaisen skaalauksen estämiseksi. Hyvä käytäntö on asettaa scale-out-kynnysarvo scale-in-kynnysarvoa pienemmäksi – esimerkiksi skaalata ulospäin CPU-käytön ylittäessä 70 % ja sisäänpäin sen alittaessa 30 % – sekä käyttää viiden minuutin jäähdytysaikaa.
# Add a metric-based scale-out rule (CPU > 70% for 5 minutes)
az monitor autoscale rule create \
--autoscale-name myAutoscale \
--resource-group myRG \
--scale out 1 \
--condition 'Percentage CPU > 70 avg 5m'VMSS:n Spot-esiintymät eräkuormituksiin
Azure Spot VMs -näennäiskoneiden avulla voitte käyttää käyttämätöntä Azure-kapasiteettia jopa 90 %:n alennuksella pay-as-you-go-hintoihin verrattuna. Haittapuolena on, että Azure voi poistaa Spot-näennäiskoneet käytöstä 30 sekunnin varoitusajalla, kun kapasiteettia tarvitaan takaisin. Siksi Spot-esiintymät sopivat erinomaisesti keskeytettäviin eräkuormiin, kuten renderöintiin, tieteelliseen laskentaan ja tietojenkäsittelyputkiin. VMSS tukee tavallisten näennäiskoneiden (peruskapasiteettia varten) ja Spot-näennäiskoneiden (lisäkapasiteettia varten) yhdistämistä samaan skaalajoukkoon prioriteettien sekoituskäytännön avulla.
# Create a VMSS with spot instances for batch workloads
az vmss create \
--resource-group myRG \
--name myBatchVMSS \
--image UbuntuLTS \
--priority Spot \
--eviction-policy Deallocate \
--max-price -1 \
--instance-count 5App Servicen automaattinen skaalaus
Azure App Servicen automaattinen skaalaus toimii App Service Plan -tasolla: työntekijäesiintymiä lisätään tai poistetaan määrittämienne sääntöjen perusteella. Käytettävissä olevia mittarilaukaisimia ovat HTTP-jonon pituus sekä suorittimen ja muistin käyttöprosentti. Standard-taso ja sitä korkeammat tasot tukevat manuaalista skaalausta ja automaattista skaalausta; Basic-taso tukee vain manuaalista skaalausta. Palvelimettomiin kuormiin voitte harkita Azure Functionsia Consumption Planissa, jossa kapasiteetti skaalautuu nollaan ja maksu perustuu vain suorituksiin, jolloin käyttämättömien esiintymien kustannuksia ei synny.
# Enable autoscale on an App Service plan
az monitor autoscale create \
--resource-group myRG \
--resource myAppServicePlan \
--resource-type Microsoft.Web/serverfarms \
--name webAppAutoscale \
--min-count 1 --max-count 5 --count 1Vältettävät automaattisen skaalauksen ongelmat
Yleisiä automaattisen skaalauksen ongelmia ovat seuraavat: istuntojen affiniteetti — jos sovellus tallentaa istunnon tilan näennäiskoneen muistiin, skaalauksen pienentäminen kadottaa istunnot; käyttäkää sen sijaan Redis Cachea tai tietokantapohjaisia istuntoja. Hitaat käynnistysajat — jos näennäiskoneiden tai säilöjen lämmittäminen kestää 10 minuuttia, mittaripohjainen automaattinen skaalaus ei ehdi reagoida riittävän nopeasti; alustakaa kapasiteettia etukäteen ajoitetulla skaalauksen suurentamisella ennen ennustettuja huippuja. Liian aggressiivinen skaalauksen pienentäminen — esiintymien lopettaminen kesken käynnissä olevien pyyntöjen käsittelyn aiheuttaa virheitä; määrittäkää yhteyksien hallittu tyhjennys ja riittävän pitkä jäähdytysjakso.
Tietokantojen ja PaaS-palveluiden oikea mitoitus
Oikea mitoitus koskee myös PaaS-palveluita. Azure SQL Database -palvelun DTU-mallissa kokoa voidaan pienentää, jos DTU-prosentti pysyy jatkuvasti alle 50 prosentissa. vCore-mallissa suorittimen ja tallennustilan skaalaus voidaan tehdä toisistaan riippumatta. Azure Cache for Redis voidaan siirtää Premium-tasolta Standard-tasolle, jos pysyvyyttä ja maantieteellistä replikointia ei tarvita. Azure Kubernetes Service -solmupoolit voivat käyttää Cluster Autoscaleria solmujen määrän kasvattamiseen ja pienentämiseen Podien odotus- ja joutotilojen perusteella.
# Change Azure SQL Database service objective (tier)
az sql db update \
--resource-group myRG \
--server mySQLServer \
--name myDatabase \
--service-objective S2Jatkuva oikean mitoituksen käytäntö
Oikea mitoitus ei ole kertaluonteinen toimenpide. Kuormat muuttuvat ajan mittaan: liikennemallit vaihtuvat, ominaisuuksia lisätään ja käyttäjäkunnat kasvavat tai pienenevät. Ottakaa FinOps-prosessiin kuukausittainen oikean mitoituksen tarkistus: hakekaa Advisorin suositukset, tarkastelkaa kymmentä eniten alikäytettyä näennäiskonetta ja ylimitoitettua PaaS-palvelua sekä luokaa työtehtävät niistä vastaaville tiimeille. Seuratkaa toteutuneita säästöjä suhteessa luotuihin suosituksiin, jotta voitte osoittaa FinOps-investoinnin tuoton johdolle.
Oikean mitoituksen yhdistäminen varauksiin
Optimaalinen kustannusstrategia on määrittää oikea mitoitus ensin ja tehdä varaus vasta sen jälkeen. Reserved VM Instance -varauksen ostaminen ylimitoitetulle näennäiskoneelle sitoo teidät väärään SKU:hun. Mitoittakaa näennäiskone ensin oikein, seuratkaa uutta käyttöastetta 30 päivän ajan vakauden varmistamiseksi ja ostakaa sitten varaus oikean kokoiselle SKU:lle. Tämä kaksivaiheinen lähestymistapa maksimoi alennuksen ja estää käyttämättömän varauskapasiteetin syntymisen.
Pikatesti
Testatkaa, miten hyvin hallitsette tämän oppitunnin Microsoft Azure Fundamentals (AZ-900) -aiheeseen liittyvät käsitteet.
Oppitunnin kertaus
Tässä oppitunnissa opitte, että oikea mitoitus sovittaa näennäiskoneiden SKU:t todellisiin kuormavaatimuksiin suorituskykymittareiden avulla, ajoitettu ja mittaripohjainen automaattinen skaalaus säätää kapasiteettia dynaamisesti tarpeen mukaan ja Spot-näennäiskoneet tarjoavat jopa 90 %:n alennuksen keskeytettäviin eräkuormiin. Seuraavaksi tutustumme Azure Savings Plans- ja Reservations-ratkaisuihin sitoutuneita kuormia varten.
Opi Azure Fundamentals tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”Oikea mitoitus ja automaattinen skaalaus” ilmainen?
Kyllä – oppitunnin ”Oikea mitoitus ja automaattinen skaalaus” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Azure Fundamentals-kurssin, päivitä CoddyKit PROhon. Azure Fundamentals-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Oikea mitoitus ja automaattinen skaalaus”?
Analysoi virtuaalikoneiden suorituskykytietoja instanssien mitoittamiseksi oikein, ota ennakoitaville työkuormille käyttöön ajastettu automaattinen skaalaus ja käytä erätyökuormille VMSS Spot -instan… Harjoittelet Azure Fundamentals-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Azure Fundamentals-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Azure Fundamentals-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Oikea mitoitus ja automaattinen skaalaus”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Azure Fundamentals-oppitunnilla?
Kyllä. Jokainen Azure Fundamentals-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Hukan tunnistaminen ja poistaminen
- Oikea mitoitus ja automaattinen skaalaus
- Azuren säästösuunnitelmat ja varaukset
- FinOps ja kustannusten kohdistusmallit