Nem is olyan régen így kezdem az egyik AWS-es cikket:
A felhő is csak akkor gazdaságos, ha okosan használjuk
És volt már szó az Azure Spot VM-ről is, ami egy olyan típusú virtuális gép, amelyet az Azure a kihasználatlan kapacitásaiból kínál rendkívül kedvező áron. Ma tovább lépünk.
Az Azure használata során hamar szembesülhetünk azzal, hogy a felhőszolgáltatások költségei gyorsan megnövekedhetnek. Szerencsére a Microsoft kínál megoldásokat arra, hogy optimalizáljuk a kiadásainkat: két népszerű lehetőség a Savings Plan és a Reserved Instance (RI). Ebben a cikkben bemutatom, hogyan működnek ezek az ajánlatok, mik az előnyeik, hátrányaik, és milyen helyzetekben érdemes az egyiket vagy a másikat választani.
Mi az az Azure Savings Plan?
Az Azure Savings Plan egy rugalmas megtakarítási konstrukció. Lényege, hogy vállalod egy meghatározott, óránkénti összeg elköltését az Azure-ban, 1 vagy 3 éves időszakra. Ezért cserébe jelentős kedvezményeket kapsz az on-demand (normál) díjszabásokhoz képest.
Az óránkénti költési szint szabadon felhasználható többféle szolgáltatásra és régióra, például virtuális gépekre (VM-ekre), App Service-re vagy más compute-alapú erőforrásokra.
Előnyei:
Nagy rugalmasság: bármilyen támogatott compute szolgáltatásra elkölthető.
Nincs szükség konkrét erőforrás vagy régió előzetes megkötésére.
Könnyebb alkalmazkodni a változó igényekhez.
Hátrányai:
Ha nem használod ki az óránkénti költési vállalásodat, akkor is ki kell fizetned.
Kevésbé kedvező ár a Reserved Instance-hez képest ugyanazon VM-ekre.
Mi az az Azure Reserved Instance?
A Reserved Instance (foglalt példány) egy klasszikusabb megközelítés: itt konkrét virtuális gép típusra, régióra és üzemidőre vállalsz elköteleződést egy vagy három évre. Cserébe jelentősen olcsóbban használhatod az adott VM-et, akár 72%-os megtakarítást is elérve az on-demand árhoz képest.
Előnyei:
Nagy megtakarítás fix VM használat esetén.
Tervszerű, stabil költségtervezés hosszú távra.
Átadható más előfizetésbe vagy eladható a Reserved Instance Marketplace-en.
Hátrányai:
Kevés rugalmasság: kötött VM méret, típus, régió.
Ha változnak az igények (pl. más méret vagy régió kell), nehezebb alkalmazkodni.
Savings Plan vs Reserved Instance – Összehasonlítás
Jellemző
Savings Plan
Reserved Instance
Rugalmasság
Magas
Alacsony
Megtakarítás mértéke
Közepes (~20-65%)
Nagy (~30-72%)
Elköteleződés
Óránkénti költési vállalás
Konkrét VM, régió, időtartam
Átadhatóság
Nem
Igen (Marketplace-en értékesíthető)
Igényváltozások kezelése
Rugalmasabb
Korlátozott
Mikor melyiket válasszam?
Savings Plan
Ha még nem tudod pontosan, milyen erőforrásokat fogsz hosszú távon használni.
Ha dinamikusan változik a compute igényed (például szezonális terhelés esetén).
Ha többféle compute szolgáltatást kombinálnál (pl. VM-ek, App Service, Functions).
Reserved Instance
Ha pontosan tudod, milyen típusú VM-et, melyik régióban, hosszú távon fogsz futtatni.
Ha stabil, kiszámítható workloadod van, például állandóan futó alkalmazásszerverek.
Ha maximalizálni akarod a megtakarítást, és nem zavar a rugalmasság hiánya.
Összegzés
Mind a Savings Plan, mind a Reserved Instance remek eszköz arra, hogy csökkentsd az Azure költségeidet. A választás attól függ, mennyire tudod előre megjósolni a jövőbeni erőforrásigényedet. Ha bizonytalan vagy, a Savings Plan által kínált rugalmasság előnyösebb lehet. Ha viszont stabil, kiszámítható rendszered van, akkor a Reserved Instance adja a legjobb ár-érték arányt.
Ne feledd! Ez minden esetben elköteleződéssel jár. Azaz akkor is fizetned kell, ha nem használod ki a hűségszerződésben foglaltakat. Ezért jól gondold át, mielőtt beleugrasz.
A felhőszolgáltatások világában egyre több lehetőség nyílik arra, hogy költséghatékonyan működtessük rendszereinket. Ez azonban mindig relatív és érdemes helyén kezelni ezt a „költséghatékony” szót, hiszen sok összetevő alapján jelenthetjük ki csupán, hogy valami valóban alacsonyabb áron vehető igénybe. Az egyik ilyen lehetőség az Azure Spot Virtual Machines (röviden: Spot VM). Ha szeretnél többet kihozni a költségkeretedből, de közben elfogadod a némi rugalmasságot igénylő működést, akkor ez a technológia neked szól!
Mi az az Azure Spot VM?
Mindegyik felhőszolgáltató esetén igaz, hogy készen kell állni a felhasználók növekvő és azonnali igényeire. Emiatt folyamatosan bővítik a kapacitásukat. Emellett az ügyfelek nem csupán bővítik rendszereiket, hanem a skálázáson keresztül igyekeznek optimalizálni a rendszer kapacitását és a költségeket. Ennek következménye, hogy a felhőben időről-időre lesznek olyan fel nem használt szabad kapacitások, amelyek bizonyos szempontból veszteséget termelnek a szolgáltatónak. Ezt felismerték a felhőszolgáltatók (Azure, AWS, Google) és ezt a szabad, fel nem használt kapacitást igyekeznek tovább értékesíteni ügyfeleik részére. És így jelent meg minden szolgáltatónál a Spot VM.
Az Azure Spot VM egy olyan típusú virtuális gép, amelyet az Azure a kihasználatlan kapacitásaiból kínál rendkívül kedvező áron. Ezeket a VM-eket lényegesen olcsóbban bérelheted, mint a hagyományos, „pay-as-you-go” típusú VM-eket – akár 70-90%-os megtakarítás is elérhető.
Mikor érdemes használni?
A Spot VM ideális olyan feladatokhoz, amelyek:
Nem időkritikusak (azaz nem okoz üzletileg kárt, ha a gép leáll)
Rövid ideig tartanak vagy batch jellegűek (20 perc – 1 órás feladatok, vagy olyan tömegesen futtatandó script-ek amelyeknek rövid időre nagy számítási kapacitásra van szüksége)
Példák:
Adatfeldolgozás
Tesztelés és CI/CD pipeline futtatás
Machine learning modellek tanítása
Nagy számításigényű, de megszakítható feladatok
Ár és költségelőnyök
A Spot VM-ek ára dinamikusan változik, attól függően, hogy mennyi szabad kapacitás áll rendelkezésre az Azure régióiban. Nincs garantált ár, de jellemzően jóval olcsóbb, mint a standard VM-ek, amelyeket listaáron vehetünk igénybe. Az árak követésére és előrejelzésére az Azure kínál API-kat és kalkulátorokat is. Emellett van egy kimondottan erre szakosodott weboldal, amit én is rendszeresen használok: https://instances.vantage.sh/azure
Ha valaki elmélyed ebben, akkor hamar rájön, hogy igen jó áron lehet így virtuális gépekhez jutni.
Fontos: Ellentétben a foglalt példányokkal (reserved instance) vagy költségcsökkentési tervekkel (savings plan) szemben, itt nincs kötelezettségvállalás – csak addig fizetsz, amíg használhatod a VM-et.
Milyen korlátai vannak?
Ez eddig nagyon jól hangzik. Igaz? Természetesen a Spot VM-ek használata bizonyos kockázatokat és korlátozásokat hoz magával:
Bármikor megszakíthatók előzetes értesítés nélkül, ha az Azure-nak szüksége van az erőforrásra.
Nincs SLA (Service Level Agreement), tehát nem garantált a rendelkezésre állás.
Nem minden VM-típus és régió támogatja.
Általában nem alkalmas folyamatosan elérhető szolgáltatások futtatására (pl. webalkalmazások backend komponense).
Hogyan működik a megvonás?
Mivel ez a termék a felhőszolgáltató szabad kapacitását kínálja eladásra, így szükséges tudnunk, hogyan vonja meg tőlünk a szolgáltató az általunk igényelt Spot VM-et, amikor eljön az idő. Itt két lehetőség lehetséges:
Kapacitás alapján: Az Azure akkor szakítja meg a VM-edet, ha már nem tudja fenntartani a kapacitást. Tehát szksége van erre a kapacitásra azon ügyfeleinek, akik listaáron vásárolnak számítási kapacitást.
Ár alapján: Ha az aktuális ár meghaladja az általad beállított maximális árat, a gépet leállítják.
Használati lehetőségek és best practice-ek
Scale set-ekkel együtt: Érdemes Spot VM-eket autoscale beállításokkal, standard VM-ek mellett használni. Csak Spot VM-et nem szabad használni.
Állapotok mentése: Mentsd rendszeresen a munkát vagy modellek állapotát, hogy egy megszakítás után folytatni tudd. (fejlesztői környezeteknél fontos)
Mixelt környezet: Érdemes Spot és standard VM-eket kombinálni a költség és megbízhatóság optimalizálása érdekében.
Beállítás egyszerűen
Az Azure Portalon, CLI-n vagy Terraform segítségével is könnyedén indíthatsz Spot VM-et. A létrehozáskor csak be kell pipálnod a „Futtatás Azure Spot-kedvezménnyel” opciót, és megadhatod a maximális árat vagy választasz kapacitás alapú prioritást.
A többi lépés teljesen megeggyezik azzal, amikor egy hagyományos virtuális gépet hozunk létre.
Összefoglalás
Tulajdonság
Spot VM
Ár
Nagyon kedvező (akár -90%)
SLA
Nincs
Megszakíthatóság
Bármikor leállhat
Alkalmas
Rugalmas, nem időérzékeny munkákhoz
Nem ajánlott
Állandó, üzletkritikus szolgáltatásokhoz
Az Azure Spot VM kiváló választás, ha szeretnél költséget csökkenteni azokon a területeken, ahol megengedhető a megszakítás vagy a leállás. A tudatos tervezéssel és jó automatizációval a legtöbbet hozhatod ki ebből a lehetőségből – akár a fejlesztői környezetedben, akár a machine learning feladataid során.
Tipp: Kezdd el kis projektekkel és mérd fel, hogyan reagál a rendszered a megszakításokra. Így biztonságosan építhetsz rá éles rendszert is – ott, ahol érdemes!
Ha szeretnéd, elkészíthetek egy konkrét példát is, hogyan lehet Azure CLI-al vagy Terraform-mal Spot VM-et indítani. Érdekelne?
Korábban már olvastuk, hogy az a központi, hálózati kapcsolatokért és bizonyos felhő erőforrások közötti kapcsolatért a VNET a felelős. Ez a hálótat alapja. Azonban szükségünk van olyan erőforrásra is, ami a biztosítja, hogy virtuális gépeink kommunikáljanak az internettel, az Azure-ral és a egyéb, az előfizetésünkben lévő erőforrásokkal.
Ez az erőforrás a hálózati adapter (nic), amely olyan mint a saját számítógépünkben lévő hálózati kártyák (vezetékes vagy vezeték nélküli). Annak egy virtuális változata, ami vezetékes hálózati kapcsolatot emulál.
A hálózati kártyát úgy kell elképzelni mint egy kábelt, amely egyik fele a virtuális gépünkhöz csatlakozik, másik vége pedig valamelyik (ugyanabban az előfizetésben és régióban létező) virtuális hálózat egyik alhálózatához. (természetesen ez egy nagyon leegyszerűsített leírás, de ez a legegyszerűbb)
Egyedi IP-cím
A hálózati kártya, amint csatlakozik a hálózathoz kap egy IP-címet abból az alhálózatból amelyhez csatlakozik. Ez lehet IPv4-es vagy IPv6-os cím. Mivel minden hálózati kártya egyedi IP-címet kap, így minden virtuális gép, ezen keresztül, egyértelműen azonosítható. Ez azt jelenti, hogy a hálózati forgalom zavartalanul folyik a virtuális hálózatra csatlakoztatott erőforrások között.
Az IP-címet a hálózati kártya tárolja, de a virtuális gép is látja és kezeli.
IP-címet kétféleképpen kaphat egy hálózati kártya (virtuális gép):
Automatikusan kap egyet az alhálózaton eléthető IP-címek közül. Ezt DHCP-nek (Dynamic Host Configuration Protocol) nevezzük.
Manuálisan, kézzel állítjuk be az IP-címét a gépnek az alhálózaton eléthető IP-címek közül. Ennek kockázata, hogy ha nem figyelünk, akkor két virtuális gépnek is adhatjuk ugyanazt az IP-címet. Ez IP-cím ütközéshez vezet, amely elérhetetlenné teszi mindkét gépet, amelyek ugyanazt az IP-címet használják. Erre figyeljünk, ha kézzel szeretnénk beállítani egy gép IP-címét!
Nyilvános IP-cím
Ahhoz hogy egy virtuális gép elérhető legyen az internet felől, ahhoz egy úgynevezett nyilvános IP-címmel kell rendelkeznie. Ez egy külön erőforrás, amelyről a nyilvános IP-címnél részletezek.
Biztonság a hálózaton
Nagyon jó dolog, hogy minden virtuális gép zavartalanul kommunikálhat a virtuális hálózaton belül, de az esetek 99 százalékában kell valamilyen megszorítást, kontrolt alkalmaznunk, hogy megvédjük az alkalmazásainkat az illetéktelen behatolóktól, rosszindulatú támadásoktól és a szükségtelen hozzáférésektől.
Erre is sok lehetőségünk van az Azure-ban. Például:
Alhálózatok használata a hálózaton: Segít logikailag és/vagy szerepkörök alapján csoportosítani az erőforrásokat.
Hálózatbiztonsági csoport (NSG): Ez egy hálózati forgalom szűrő megoldás
Alkalmazásbiztonsági csoport (ASG): Ennek segítségével valamilyen feltétel alapján csoportosítani tudjuk a virtuális gépeinket, majd ezekre az ASG-kre tudunk hálózatbiztonsági csoportban szabályokat definiálni.
Virtuális hálózati kapcsolat (VNet Peering): Két virtuális hálózatot tudunk vele összekötni Azure-on belül.
VPN Gateway és ExpressRoute: Azure-on kívülről való biztonságos kapcsolathoz VPN kapcsolat használata.
Azure Firewall: Tűzfal alkalmazása a hálózaton, a magasabb biztonságért.
Házirendek (Policy) és jogosultságok (RBAC) alkalmazása az előfizetésen belül.
Azure Monitor: Segít azonosítani és naplózni a hozzáféréseket, amelyek alapján risztásokat állíthatunk be vagy riasztásokat hozhatunk létre.
Egy vagy több hálózati adapter
Amikor létrehozunk egy virtuális gépet a portálon, akkor alapértelmezetten csupán egy hálózati adapter jön létre. Ez azonban nem jelenti azt, hogy ne adhatnánk hozzá több hálózati kártyát is egy virtuális géphez.
Így attól függően, hogy milyen felhasználási esetre szeretnék egy gépet létrehozni, utólag is hozzáadhatunk több hálózati adaptert is. A hozzáadott hálózati adapterek, akár más-más virtuális hálózathoz is csatlakozhatnak.
Néhány ilyen felhasználási eset:
Nagyobb sávszélesség elérése: Ma már az operációs rendszerek támogatják, hogy több hálózati kártyát egy nagy hálózati kártyaként használnak. Ezzel nagyobb sávszélességet lehet elérni.
Hálózati redundancia és rendelkezésre állás: Habár a hálózati adapterek a felhőben szinte mindig elérhetőek, azért vannak esetek, amikor 100%-ra szeretnénk menni. Ez esetben több hálózati kártyát hozunk létre ugyanabban a virtuális hálózatban (alhálózatban)
Több virtuális hálózat összekapcsolása: Amikor az alkalmazásunknak több virtuális hálózatba és/vagy alhálózatba kell „belelátnia”. Ez akkor lehet valós eset, amikor egy szervernek több hálózathoz kell tudnia csatlakoznia (front-end, back-end).
Több ip-alapú szolgáltatás nyújtása: Egy virtuális gépen olyan alkalmazás fut, amely több IP-címen keresztül biztosítja az elérést a felhasználóknak.
Ha több hálózati adaptert használunk, akkor figyelnünk kell a forgalom irányításra (routing) is.
Hogyan csináljuk?
Ahogy minden Azure erőforrást, ezt is kezelhetjük többféle képpen:
Azure Portál
Azure-Cli
ARM template (sablon)
Vagy valamilyen infrastruktúra kezelő eszköz. (pl.: Terraform, OpenTofu)
Ennyire egyszerű a hálózati adapter, amin sok múlik a felhőben. 🙂
„A felhő is csak akkor gazdaságos, ha okosan használjuk”
Ezzel az idézetemmel, már sokszor találkozhatott aki ismer, vagy részt vett már valamelyik Mentor Klub képzésemen. Ezt azért is szoktam mondani, mivel a felhő sajátossága, hogy rugalmas és gyorsan lehet benne erőforrásokat létrehozni, magával hoz egy olyan szokást, amelyet a pénztárcánk bánhat. Ez pedig, a nem használt erőforrások kihasználatlanul hagyása. Mit jelent ez?
Tegyük fel beköltözünk a felhőbe, ahol a lehetőségek végtelen tárháza fogad minket. Percenként tudunk hatalmas teljesítményű virtuális gépeket létrehozni és letörölni. Ki tudunk próbálni olyan dolgokat, amelyekről nem is álmodhatunk egy hagyományos adatközpontban. És ebben a nagy szabadságban bekapcsolva hagyunk olyan gépeket, amelyek akkor is költséget generálnak nekünk, amikor mi éppen alszunk. Ez pedig nem jó.
Ha van egy vagy több fejlesztői szerverünk a felhőben, akkor azon általában hétfőtől – péntekig reggel 8 és délután 6 között dolgozunk. (napi kb. 10 óra), ami hetente 50 óra. A hét nagyobb részében azonban (kb. 118 óra) azonban ezek a gépek nincsenek használatban. Ha az egyserűség kedvéért számoljunk egy kicsit. Vegyünk a példa kedvéért egy olyan virtuális gépet, amely 50 Ft-ba kerül óránként. Ha ezt a fenti számokkal kiszámoljuk, akkor szomorú eredményt kapunk:
Gép használatából adódó költség:
Hetente: 50 x 50 Ft = 2 500 Ft
Havonta: kb. 10 000 Ft
Virtuális gép üresjárati költsége (éjszakák és hétvégék):
Hetente: 118 x 50 Ft = 5 900 Ft
Havonta: kb. 23 600 Ft
Amint látjuk a hasznos időben keletkezett költség az kevesebb mint a fele, annak a költségnek, ami akkor keletkezik, amikor pihenünk vagy alszunk. Ezért fontos, hogy
Ha nem használunk egy virtuális gépet, akkor kapcsoljuk le!
Ha a fenti példánál maradunk, akkor elmondhatjuk, hogy ha okosan használjuk a virtuális gépünket ,akkor egy gép teljes árából három gépet is tudunk okosan üzemeltetni. Ez természetesen irreleváns az olyan rendszereknél, amelyek sajátossága, hogy éjjel-nappal működnie kell. Itt most nem is erről van szó. 🙂
Mit tudunk tenni azonban, ha sietünk vagy elfelejtjük a gépeket lekapcsolni? Semmi baj, mert az Azure erre is gondolt. Minden virtuális gép esetén opcionálisan be tudjuk kapcsolni az Automatikus leállítás funkciót, amely egy időzítést fog nekünk létrehozni, amikor a gépet le fogja állítani automatikusan.
Ezt tudjuk engedélyezni a gép létrehozásakor, de utólag is lehetőség van ezt bekapcsolni.
Engedélyezés a virtuális gép létrehozásakor
Az utólagos beállításhoz:
Be kell mennünk a virtuális gép beállításaiba
Keressük meg a Műveletek részt
Majd azon belül találjuk az automatikus leállítást
Itt be- és ki- tudjuk kapcsolni. Ha a bekapcsolásra kattintunk, akkor az alábbi lehetőségeket állíthatjuk be:
Ütemezett leállítás időpontja (24 órás formátumban, másodperc pontossággal): mikor álljon le a gép (például 18:00:00)
Időzóna: mely időzóna szerint szeretnénk a leállítást
A rendszer küldjön értesítést 15 perccel az automatikus leállítás előtt?: ez a beállítás lehetőséget biztosít nekünk, hogy értesítést kapjunk emailben vagy egy felügyeleti rendszeren keresztül a leállítás előtt 15 perccel. Ekkor még van lehetőségünk elhalasztani a leállítást 1 órával, ami hasznos lehet amikor még benne vagyunk a munkában.
Webhook URL-címe: Ha a 15 percces értesítés be van kapcsolva, akkor egy külső webhook linkre tud értesítést küldeni. (Pl. felügyeleti rendszer)
E-mail cím: email címre tud küldeni egy levelet, amelyben értesít a gép leállításáról. A levél szintén tartalmazza az elhalasztáshoz szükséges linket.
Beállítás létező virtuális gép esetén
Elhalasztani többször is lehet a leállítást, ami bizonyos esetekben hasznos lehet.
Miután elmentjük a beállításokat, létrejön egy új (rejtett!) erőforrás, abban az erőforráscsoporban, ahol a gép is létrejött. Ennek típusa: microsoft.devtestlab/schedules
Ez az erőforrás csak akkor látszik az erőforráscsoportban, ha a portálon a Rejtett típusok megjelenítése jelölőnégyzet be van pipálva.
Amint bekapcsoltuk és beállítottuk, a leállítás a megadott adatok alapján működésbe lép és segít nekünk kordában tartani a költségeinket.
Ugye milyen hasznos dolog ez, hogy akár 60 százalékot is spóroljunk egy gép listaárából? 🙂
Ha többet szeretnél még erről tudni, akkor javaslom, hogy olvasd el a hivatalos dokumentációt.
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:
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?
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:
Fut – Run: Gép működik
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.
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. 🙂