VMSS Flex SPOT mix

VMSS Flex SPOT mix

středa , duben 12, 2023

V tomto návodu Vás seznámím s nedávnou aktualizací od Microsoftu, kde již můžeme v Azure používat levné SPOT virtuálky společně s běžnými instancemi a tím mít škálovací mix a ušetřit na tom výrazné finance.

Budeme zabývat tím, jak nastavit spot instance při založení VMSS. Pokud nevíte přesně co je to VMSS v Azure, doporučuji článek zde. Návod jak si založit VMSS je zde

Dříve šlo mít pouze VMSS s běžnými virtuálkami nebo jen SPOT instancemi. Se SPOT výpočetním výkonem byla nevýhoda toho, že když Vás Azure vyhodil, tak Vám neběželo nic. Novinkou je, že Vám Microsoft nyní dovoluje mix. Mít několik základních běžných virtuálek za normální cenu a další můžete mít s výraznou slevou jako SPOT instance, které například mohou pokrývat špičky provozu nebo dočasné výkyvy. Co jsou to SPOT instance je popsáno zde.

Jak si nastavit VMSS Flex SPOT mix

Samotný návod je jednoduchý s několika parametry, které podroně vysvětluji:

V Azure portále na tabu "Basics" zakliknete možnost "Run with Azure Spot discount"

Zaškrtneme "Run with Azure Spot discount"

Na dalším tabu "Spot" nejdříve vyplníme "Eviction options", kde jsou dva základní typy vymazání:

  1. Kapacita: Dostanete pevně danou cenu a tu platíte, dokud Microsoft neposkytne Vaší kapacitu někomu jinému.
  2. Cena nebo Kapacita: Můžete si zvolit horní hranici kolik jste ochotni platit za svůj stroj, než Vás Microsoft vypne či smaže.

Následně máme "Eviction policy", která se dělí na zastavení (dealokování zdrojů) nebo vymazání:

  1. Stop/Deallocate - V tuto chvíli vůbec nedoporučuji. Pokud škáluji nahoru nebo dolu automaticky bez STOPky od Azure, pak funguje perfektně. Horší je, když přijde na řadu "Eviction policy" v Azure a Microsoft nám jeden Spot stroj chce vypnout. Pokud máme 1 SPOT instanci a Azure nám ji vypne, pak neběží, ale VMSS neřeší, jestli je virtuálka zapnutá, nebo ne, pouze řeší, zda je tam dostatečný počet virtuálek. Kapacita je 4, běží jen 3, ale tváří se jako dostatečný počet. Nic nám automaticky znovu nespustí vypnutou SPOT instanci. Musíme manuálně spustit vypnutou instanci. Není tam žádná umělá inteligence, která by řešila zapnutí či vypnutí strojů, nebo jejich alokaci do jiného clusteru. Jakmile bude do budoucna tato umělá inteligence zapínat a obnovovat SPOT instance, pak je tato možnost úžasná. Ale na to si budeme muset počkat.
  2. Delete - V současné době doporučované nastavení z důvodů popsaných výše. Vše je přehledné, pokud mi Azure smaže SPOT instanci, pak celý VMSS ví, kolik má běžících instancí a může s tím operovat. Nezůstávají mi tam vypnuté SPOT virtuálky, které v případě možnost STOP se smažou jen pouze manuálním zásahem, nebo když se škáluje dolu.

Poslední část, která je velmi důležitá, je "Scale with VMs and discounted Spot VMs":

  1. "Scale with VMs and Spot VMs" - zaškrtneme checkbox
  2. "Base VM (uninterruptible) count" - to je parametr, kde dáváme základní počet virtuálních strojů, které budou za plnou cenu a nikdy nebudou smazány. Vždy dávejte číslo 2 nebo více.
  3. "Instance distribution" - jak moc chcete mít rozdělené instance mezi normální a SPOT procentuálně nad základní počet dvou virtuálních strojů, které jsou na obrázku.

Konkrétní příklad na obrázku znamená, že mám dvě základní nesmazatelné virtuální stroje za plnou cenu a pokud mi mají přibýt dvě další instance, pak bude jedna normální a jedna SPOT. Takže budu mít 3 normální a 1 SPOT. Takže mám cca. 20 % slevu oproti běžným VMSS.

Příklad z praxe

Vezmeme si virtuální stroj "D2lds v5", který má 2 vCPU, 4 GiB RAM a 75 GiB Storage, pak v rámci VMSS se 8 instancemi, které poběží celý měsíc budeme platit:

VMSS s běžnými instancemi za plnou cenu zaplatíme měsíčně 1,238.08 USD

VMSS s běžnými instancemi zaplatíme 1,238.08 USD

VMSS flex spot mix, kde budu mít 2 základní VM, mix bude 50 na 50, což vychází na 3 VM a 3 VM spot, pak budu platit měsíčně 773.80 USD za běžné VM a za SPOT VM 164.68 USD, což je celkem 938.48 USD.

Spotová cena "D2lds v5" je 54.896 USD měsíčně
Cena "D2lds v5" za 3 VM je 773.80 USD měsíčně
Celková měsíční úspora je 300 USD a 24 %

VMSS flex spot mix je určitě správným krokem dopředu vzhledem k úspoře a větší flexibilitě. Jelikož se jedná o novinku v Azure, pak je jasné, že to zatím nějaké mouchy má. Jedna je Dealokování instancí a jejích počítání do VMSS i přesto, že jsou vypnuté, viz popsané výše. Z hlediska úspory je to úžasný nástroj škálování použitelný téměř pro všechny možné projekty i pro produkci.

Zatím žádné komentáře
Vyhledávání