[VM] – Virtuális gép (Azure)

Alapadatok

  • Erőforrás típus: IaaS
  • Felhő szolgáltató: Microsoft Azure
  • Angol név: Virtual Machine
  • Magyar név: Virtuális gép
  • Rövidített név (ha van ilyen): VM

A virtuálisgép

Jól ismeri mindenki a számítógépeket. Van benne processzor, memória, valamilyen háttértároló. Emellett van benne hálózati kártya, amellyel igény szerint csatlakozhatunk az internetre.

A felhőben lévő virtuálisgépek, virtuális szerverek is ilyenek. A különbség csupán annyi, hogy a felhőben ezeket a gépeket nem érinthetjük meg és egy-egy ilyen gépet akár percenként módosíthatunk, ha ahhoz van kedvünk. Adhatunk hozzá memóriát, virtuális processzormagot, lemezeket és még hálózati kártyát is. És ugyanilyen módon el is vehetjük ezeket, vag törölhetjük az egész gépet. Ugye milyen izgalmas?

Az a nagyszerű a virtuális gépekben, hogy rugalmasan létrehozhatunk és törölhetünk bármennyit amennyire csak szükségünk van. Nyilvánosan elérhetővé tudjuk őket tenni az interneten bárki számára, vagy biztonságosan elzárhatjuk őket a kíváncsi szemek elől. Ez csupán attól függ, milyen felhasználási esetre szeretnénk használni ezeket az erőforrásokat. Tudunk eléjük terheléselosztót konfigurálni, hogy ezzel magas rendelkezésre állású rendszereket építsünk. Lehetőségünk van több féle operációs rendszerrel kérni ezeket – Windows, Linux -, szintén attól függően, hogy mit ismerünk vagy mit szeretnénk megvalósítani. És ha kiválasztottuk az általunk ismert operációs rendszert, akkor pedig már túl is vagyunk a legnehezebb részén a dolgoknak. Miért? Mert onnan egy ismerős világba csöppenünk, hiszen miután bejelentkeztünk a virtuális gépünkre, azonnal otthon érezzük magunkat. Mivel a gépet pontosan ugyanúgy tudjuk használni, ahogy azt már megszoktuk a hagyományos számítógépeknél.

És mielőtt továbbmennénk szeretnék felsorolni néhány igen hasznos tulajdonságot, amire képesek a virtuális gépek:

  • Nagy teljesítmény
  • Automatikus skálázás
  • Több operációs rendszer támogatása (Windows, Linux)
  • Gyors biztonsági mentés és visszaállítás
  • Beépített figyelési és felügyeleti eszközök
  • Mesterséges intelligencia, videókártya és nagy teljesítményű adatfeldolgozás
  • Beépített biztonsági eszközök

És még rengeteg apróság, ami miatt a virtuálisgép az egyik legnépszerűbb felhő erőforrás az Azure-ban is. Mivel ez nevezhető hagyományos erőforrásnak és mellette egy valódi svájci bicska, így érthető, hogy amikor felhőbe költözésről beszélünk, a legnyilvánvalóbb megoldás, hogy „lift-and-shift” megközelítéssel virtuális gépekre költöztetjük a cégünk alkalmazásait.

Összetevők

A virtuális gép összetevőiről érintőlegesen már beszéltünk, hiszen hasonló mint az otthoni számítógépünk, csak ez a felhőben van. Azonban ennyivel mi nem elégszünk meg és mélyebbre szeretnénk ásni. Igaz?

A virtuális gép legfontosabb építőelemei a kövezkezők Azure-ban:

  • Virtuális gép: Maga az erőforrás, ami összefogja a többi erőforrást.
  • Virtuális processzor, virtuális mag: a számítási teljesítményt meghatározó egyik paramétere is a virtuális gépnek. Minél több virtuális mag van egy gépben, annál gyorsabb és annál több számítást tud elvégezni.
  • Memória: a memória, vagyis a RAM tárolja az aktuálisan futó alkalmazásokat és folyamatokat, így azok gyorsabban elérhetők a CPU számára, mint ha állandó tárhelyről (pl. lemezről) kellene őket betölteni. Ez valójában egy nagyon gyors átmeneti tároló a számítógép számára. Ha a gépet lekapcsoljuk, a memória tartalma elvész.
  • Tárhely (lemez): Ez lesz a gép helyi lemezmeghajtója, ahol az adatok tárolása történik. Kétféle lemezt különböztetünk meg. Az egyik, amelyen az operációs rendszer tárolódik, a másik pedig az adatlemez, amit opcionálisan adhatunk a géphez (akár többet is). Az adatlemezen fogjuk tárolni az alkalmazásaink adatait. Emellett van a gépek nagy részében egy úgynevezett átmeneti lemez, amelyen átmenetileg tárolhatunk fájlokat, amíg a gépünk fut. (vigyázz! az átmeneti lemez adatai törlődhetnek minden újraindítás után)
  • Hálózati kártya (NIC): A virtuális gépeknek szüksége van hálózati kapcsolatra, hogy elérhetőek legyenek, vagy ők érjenek el más szolgáltatásokat. (Pl.: internet). Ezért legalább 1 db hálózati kártyát hozzá kell adnunk a géphez. Ez a hálózati kártya csatlakozik majd egy általunk kiválasztott virtuális hálózat egyik alhálózatához. Ezután ezen keresztül folyik a kommunikáció. Ehhez a kártyához tudunk beállítani privát és nyilvános IP címet is.
  • Operációs rendszer: Ez határozza meg, hogy milyen alkalmazásokat futtatunk. Az operációs rendszer Azure-ban lehet Windows vagy Linux.
  • Monitorozás és diagnosztika: Az Azure Monitor és más eszközök segítségével nyomon követheted a virtuális gépek teljesítményét, hálózati forgalmát, és az alkalmazások állapotát, valamint riasztásokat állíthatsz be kritikus eseményekre. Ez lesz a szemünk és a fülünk.
  • Egyéb összetevők:
    • Mentés és helyreállítás (Backup, Restore): rendszeresen tudjuk menteni gépeinket
    • Biztonsági szabályok: Hálózatbiztonsági csoportokkal (NSG) tudjuk szűrni a hálózati forgalmat. Ezzel is biztonságosabbá tenni a gépeinket és alkalmazásainkat.
    • Automatikus leállítás: Lehetőségünk van, hogy gépeink leálljanak egy előre meghatározott időpontban. Ezzel is sok költséget tudunk megtakarítani.
    • Rendelkezésreállási zónák és -készletek: A virtuális gépek mögötti fizikai infrastruktúrában is lehetnek tervezett munkálatok vagy nem tervezett kiesések. Ezek áthidalása végett tudunk olyan alapvető rendelkezésre állá növelő eszközöket használni, amelyek egy-egy ilyen esemény bekövetkezésekor segítenek üzletmenetünk folytonosságának megtartásában.
    • Automatikus skálázás: Lehetőségünk van automatikusan is skálázni virtuális gépeinket. Ez a skálázás (teljesítmény növelés vagy csökkentés) történhet teljesítmény, idő vagy előrejelzés alapon.
    • Frissítési tartomány (Update Domain): Rendelkezésreállási készletek esetén, amikor frissítik a fizikai gépeket (gazda gép) az adatközpontban, akkor a meglévő VM-eink hány gazda gépre legyenek telepítve. Pl.: van 3 virtuális gépünk és update domain értéke 2, akkor 2 db virtuálisgép egyik gazdán és 1 db virtuális gép másik gazdán fut. Így minimum 1 db virtuális gép mindig elérhető lesz.
    • Tartalék tartomány (Fault Domain): Rendelkezésreállási készletek esetén, a gazda gépek hány rack szekrényben legyenek a szerverteremben. Pl.: 3 gép esetén a fault domain 2, akkor 2 db rack szekrényben lesz a 2 gazda szerver. Ha az egyik rack-ben valami tönkremegy, akkor is minimum 1 db gép elérhető marad.

Virtuális gépek típusai

Azt már tudjuk, hogy létrehozhatunk Windows és Linux alapú gépeket Azure-ban. Emellett azonban fontos számunkra, hogy alkalmazásaink számára mindig elegendő erőforrás álljon rendelkezésre.

Ahogy nincs két egyforma ember, úgy nincs két egyforma alkalmazás sem. Tehát az alkalmazásainknak lesz egy bizonyos karakterisztikája, ami meghatározza, milyen erőforrásokból van szüksége többre és melyekből kevesebbre.

Van olyan alkalmazásunk, amely nagy számítási igényű és nem kell túl sok memória az optimális működéshez. Ezen alkalmazásokhoz olyan virtuális gépre lesz szükségünk, amelyben több a virtuális CPU és nem feltétlenül sok a memória. És lesznek olyan alkalmazások – például az SQL szerverek – amelyek estén az a legjobb ha minél több memória van a virtuális gépben, mert akkor a lehető legtöbb adatot a memóriában tartva, nagyon gyorsan tudjuk visszaadni a sok-sok lekérdezett adatot.

Természetesen azért tipizálhatóak az alkalmazások, amelyekre minden felhőszolgáltató – és köztük a Microsft Azure is – ajánl nekünk virtuális gép típusokat.

Az alábbi virtuális gép típusokat különbözetünk meg:

  • Általános célú
  • Számításoptimalizált
  • Memóriaoptimalizált
  • Tároptimalizált
  • GPU (videó kártyát használó gépek)
  • FPGA (gépi tanuláshoz)
  • Nagy teljesítményű számítás

Ezeknek részletei:

TípusMéretekLeírás
Általános célúB, Dsv3, Dv3, Dasv4, Dav4, DSv2, Dv2, Av2, DC, DCv2, Dpdsv5, Dpldsv5, Dpsv5, Dplsv5, Dv4, Dsv4, Ddv4, Ddsv4, Dv5, Dsv5, Ddv5, Ddsv5, Dasv5, Dadsv5Kiegyensúlyozott processzor-memória arány.
SzámításoptimalizáltF, Fs, Fsv2, FXMagas processzor-memória arány
MemóriaoptimalizáltEsv3, Ev3, Easv4, Eav4, Epdsv5, Epsv5, Ev4, Esv4, Edv4, Edsv4, Ev5, Esv5, Edv5, Edsv5, Easv5, Eadsv5, Mv2, M, DSv2, Dv2Magas memória-processzor arány
TároptimalizáltLsv2, Lsv3, Lasv3Nagy lemezteljesítmény és I/O ideális big data-, SQL-, NoSQL-adatbázisokhoz, adattárházakhoz és nagy tranzakciós adatbázisokhoz
GPU és FPGANP, NC, NCv2, NCv3, NCasT4_v3, ND, NDv2, NP, NV, NVv3, NVv4, NDasrA100_v4, NDm_A100_v4Elérhető egy vagy több GPU-val. Gépi tanulás. (FPGA)
Nagy teljesítményű számításHB, HBv2, HBv3, HC, HA leggyorsabb és legerősebb processzorral

További részleteket találhatsz, a hivatalos dokumentációban.

Ezen géptípusokból több méretet is kiválaszthatunk amikor virtuális gépet hozunk létre. Általában az alábbi szempontok alapján választunk gépméretet:

  • CPU (virtuális processzormagok) száma
  • RAM (memória) mérete
  • Csatolható adatlemezek száma
  • Maximális IOPS-érték
  • Átmeneti tároló mérete
  • Prémium lemez támogatottsága
  • Költség (havonta)

Igen, a mértet befolyásolja a gép költségét. Minél jobb (több CPU, több RAM, stb.) gépet szeretnénk létrehozni, annak a havi díja annál magasabb lesz. Tehát azt javaslom, tervezzük meg alaposan, milyen gépre is van szükségünk, még azelőtt, hogy egy több százezer forintos számlát kapnánk. És hogy hogyan?

Itt elérhető az Azure díjkalkulátora: Díjkalkulátor

Ezzel készíthetünk nagyon jó megközelítéssel kalkulációkat, még mielőtt egy forintot is ki kellene adnunk.

Egyéb tudnivalók

Nagyjából mindent tudunk már a virtuális gépekről, mégis maradt néhány fontos dolog, amit szeretnék megemlíteni.

Saját licenc

Lehetőségünk van saját licenceinket (elsősorban Windows) felhasználni Azure-ban, így tovább csökkenthetjük a költségeket.

Ha nem használod, kapcsold le!

Mint minden felhőszolgáltatónál, itt is igaz, hogy ha egy számítógép nem fut, akkor nem növeli a költségeinket. Ezért kiemelten foltos, hogy minden olyan virtuális gépet, amit nem használunk, kapcsoljunk le!

Azure-ban ezzel kapcsolatban van egy sajátosság. Az Azure virtuális gépeknek 3 állapota van:

  1. Fut – Run: Gép működik
  2. Leállítva – Stopped: Gép le van állítva, de a futáshoz szükséges erőforrások zárolva vannak. Így továbbra is annyit fizetünk érte, mintha futna.
  3. Leállítva (felszabadítva) – Stopped (deallocated): Gép le van állítva és erőforrásai fel vannak szabadítva. Ezen állapotban a virtuális gép nem növeli a költségeinket.

Tehát, ha valóban szeretnénk leállítani a gépet, akkor állítsuk Leállítva (felszabadítva) állapotba!

Különleges virtuális gépek

Vannak különleges gépek, illetve olyan lehetőségek, amelyekkel további felhasználási eseteket tudunk megvalósítani.

  • Dedikált kiszolgáló
  • Spot VM
  • Fenntartott példány
  • Virtuálisgép-méretezési csoport

Ezek azok az alapvető információk, amelyeket tudni érdemes a virtuális gépekről. Ahogy látod, ez egy elég nagy témakör és én is tudnék még írni erről rengeteget.

Azt javaslom, hogy próbáld ki magad is egy-egy virtuális gép létrehozásával, hogy belekóstolj ebbe a mesés világba. 🙂