VMSS není úplně jednoduché založit a tak Vám přináším přehledný návod, jak vytvořit VMSS včetně popisu, co jednotlivé parametry znamenají.
Pro úplné začátečníky, kteří nemají ještě Azure předplatné, doporučuji článek zde, kde si najdou pro sebe nejvhodnější předplatné a získají přístup do Azure portálu.
V Azure portále napíšeme do vyhledávání "VMSS" a zobrazí se nám v rolovacím menu Services "Virtual machine scale set"
Klikneme na něj a objeví se nám tato obrazovka a tam klikneme na vytvořit (Create):
Na stránce založení VMSS na úvodním tabu "Basics" vyplníme povinné údaje: "Resource group", "Virtual Machine scale set name", "Region". "Availability zones" doporučuji vyplnit všechny tři zóny aby jste měli tyto výhody:
- Jednak vyšší dostupnost a odolnost proti jakémukoliv nenadálému výpadku.
- Každá virtuálka, která se nově založí půjde vždy do nové zóny. Takže první 3 budou v 1., 2. a 3. zóně a 4. virtuálka bude v opět v 1. zóně atd.
Další částí je orchestrace: Zde je možnost si vybrat flexibilní nebo uniformní:
- Uniform - znamená, že nám automaticky vytváří ty samé, identické virtuálky se stejnými parametry. Neexistuje žádná výjimka.
- Flexible - znamená, že můžeme mít jak identické virtuálky jako jsou "Uniform" orchestrace, tak i přidávat další virtuálky s jinými parametry i po založení VMSS.
Například můžeme založit virtuálku s vyšším počtem jader a paměti a přiřadit ji do již existující flexibilní VMSS orchestrace. Výhody Flexible jsou:
- Můžu použít Windows i Linux operační systémy najednou.
- Různé velikosti výpočetních výkonů.
- Systémové a bezpečnostní aktualizace po jednotlivých zónách.
Poté vyplníme část "Instance details" jako jsou "Image" Windows nebo Linux, poté "Size" - velmi pečlivě si zvolte velikost virtuálky, její počet vCPU, paměť a disk, poté přihlašovací údaje.
Dále na záložce "Scaling" máme dvě základní možnosti jak budeme škálovat virtuálky:
Manual - znamená, že si budeme sami manuálně ovládat škálování a přidávat virtuálky ručně. Asi nemusím zmiňovat, že to není ideální varianta. Možná na základě předvídatelných událostí jako třeba každý pátek večer musím navýšit výkon, protože mám hodně objednávek na pizzu. Pokud jsem si jistý, že můj byznys je přesně předvídatelný, pak se mi tato varianta vyplatí v tom případě, že to budu dělat sám manuálně v Azure portále.
Custom - Na základě přesně definovaných parametrů zátěže virtuálního stroje se škáluje nahoru a dolů automaticky. Parametry jsou:
- Initial Instance count - ideální mít pro začátek 2 virtuálky kvůli dostupnosti a pokud se něco pokazí, ať je tam aktivní záloha.
- Minimum number of instances - Minimální počet je 1, já doporučuji kvůli dostupnosti mít alespoň 2 virtuálky, tento počet nepůjde smazat a bude tam vždy, i když není žádná zátěž. Nedávejte vyšší číslo kvůli úspoře financí.
- Maximum number of instances - Maximální číslo na které může vyrůst počet virtuálek. Maximum je 1000 strojů. Čím větší číslo, tím více platíte, pokud se aktivují, ale opět na základě zátěže jednotlivých strojů. Je zapotřebí si stanovit, jestli je zapotřebí mít dostupnost v řádech milisekund, pokud mě to bude stát tisíce dolarů navíc.
- Scale out - za jakých podmínek se bude škálovat virtuálka nahoru a přidávat nový stroj. Při založení je zde jen zátěž na CPU, po vytvoření celého VMSS můžeme přidávat i další podmínky jako Disk, síť, paměť atd.
- Duration in minutes - po jak dlouhou dobu v kuse musí mít parametr danou hodnotu, aby se začalo se škálováním. Ideální pro odstranění náhlých krátkodobých výkyvů, které se brzy zase vrátí do normálu.
- Number of instances to increase by - O kolik se zvedne počet virtuálek při splnění podmínek.
- Scale in - za jakých podmínek se bude škálovat dolů a mazat jednotlivé stroje. Opět při založení je zde jen vCPU, poté je možno mít i další parametry.
- Number of instances to decrease by - O kolik strojů se sníží počet virtuálek potom co klesne zátěž.
Poté klikneme na "Review and Create" a posléze na "Create"
Jakmile se VMSS vytvoří, můžete si ověřit zda všechny instance běží, zda jsou každá v jiné zóně ("Instances" záložka v levém menu) a poté si můžete upravit jednotlivé rules (pravidla) v záložce "Scaling" podle Vašich potřeb.
Rules - Pravidla
Můžeme mít několik pravidel, která budou na sebe navazovat a doplňovat se. Například jakmile vystřelí CPU na 100 % po dobu více jak 5 minut, pak přidáme 3 virtuálky najednou (musíme co nejrychleji vykrýt spičku bez výpadků), ale pokud vyleze jen na 75 %, pak škálujeme po jednom stroji.
Dokonce si můžeme vytvořít profil, kde nastavíme pevně danou dobu v týdnu, kdy se navýší počet virtuálek. Toto jde použít například, když přesně víte, kdy bude vaše služby či aplikaci využívat nejvíce zákazníků a bude se to pravidelně opakovat.
Nová virtuálka do Flexible VMSS
Novou virtuálku do Flexible VMSS přidáme tak, že u založení virtuálky v tabu "Basics" u parametru "Availability options" dáme "Virtual machine scale set", poté vybereme náš VMSS a vybereme zónu, do které ji umístíme.
Potom uvidíme naší nově přidanou virtuálku ve VMSS v záložce "Instances"
Jak vidíte z návodu, není jednoduché si založit VMSS přesně pasující na potřeby aplikace. Ale pokud nastavíte parametry odpovídající Vaší aplikaci, pak si ušetříte obrovské množství času, peněz a budete mít jistotu, že aplikace je skvěle dostupná, nepřekvapí jí žádné výkyvy a špičky a bude připravená běžet úsporně. Pokud potřebujete poradit s Vaším nastavením, pak se na mě obraťte zde.