„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. 🙂
A virtuális hálózat egy logikai izolációs réteg, amely a felhőben létrehozott erőforrásaink közötti stabil, gyors és biztonságos kommunikáció biztosítja.
Felhőben a virtuális hálózat, a hagyományos informatikai fizikai hálózat virtuális megvalósítása. Ennek megfelelően működése majdnem tejesen ugyanúgy történik. Ha valakinek van ismerete a hagyományos informatikai hálózattal kapcsolatban, akkor a virtuális hálózatban is könnyedén el tud igazodni.
Kommunikáció
A VNET-en belül a kommunikáció IP címterek (címtartományok) segítségével történik. Egy virtuális hálózaton belül egy vagy több alhálózat hozható létre. Ezen alhálózatoknak szintén van saját IP címtartománya. Az alhálózatok címtartományai a virtuális hálózat címtartományán belül kell lennie.
Az alhálózatok IP címtartománya között nem lehet átfedés.
Az Azure virtuális hálózat támogatja az IPv4 és IPv6 típusú IP címeket.
Példa:
IPv4: 192.168.15.200
IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
Csatlakozás
Nem minden típusú erőforrás csatolható a virtuális hálózathoz, hiszen nem minden típusú erőforrás esetén van ennek értelme.
Általánosságban elmondható, hogy az IaaS típusú erőforrások csatolhatók a virtuális hálózathoz, de ez sem minden esetben van így. Mindig ellenőrizzük a hivatalos dokumentáció legfrissebb változatában, hogy mely erőforrásoknak van ilyen lehetősége.
Példa a virtuális hálózathoz csatolható Azure erőforrásokhoz:
App Services Environment (ASE) – Webapp, Mobileapp, stb.
Azure Kubernetes Service (AKS)
Azure VPN Gateway
ExpressRoute Gateway (VPN)
Terheléselosztó (Azure Load Balancer)
Application Gateway (terheléselosztó)
Azure Bastion (jump server)
Hálózatbiztonsági csoport (Network Security Group)
Azure DNS
Emellett vannak még olyan erőforrások, amelyek bizonyos esetekben lehetőséget nyújtanak virtuális hálózat használatához.
Amikor csatlakoztatunk egy erőforrást a virtuális hálózat egyik alhálózatához, az alhálózat rendelkezésre álló IP-címei közül az első három minden esetben foglalt. Ezért, ha egy virtuális gépet létrehozunk, akkor az első IP-cím, amit az alhálózatból megkap, a negyedik cím lesz. (Például, ha az alhálózat címtartománya: 10.10.10.0/24, akkor az első kiosztható IP-cím a 10.10.10.4)
Biztonság
A VNET-en belül a kommunikáció alapértelmezésben biztonságos, így az abban definiált erőforrások közötti kommunikációt kívülről nem lehet elérni.
Természetesen lehetőségünk van az alap biztonság mellett egyéb biztonsági elemeket is konfigurálni a virtuális hálózathoz vagy az ahhoz csatolt erőforrásokhoz. Ezen eszközök magasabb biztonsági szintre emelhetik a szolgáltatásainkat. Például: hálózatbiztonsági csoport, tűzfal, DDoS védelem, stb.
Virtuális hálózatok közötti kapcsolat
Amikor virtuális hálózatokkal dolgozunk, előfordul, hogy szükségünk van két virtuális hálózatban lévő erőforrások közötti biztonságos kommunikáció létrehozására. Ilyen esetben nem célszerű a hálózati forgalmat az interneten keresztül lebonyolítani, hiszen az biztonsági kérdéseket vethet fel.
Erre kínál megoldást a VNET Peering. Ez a megoldás dedikált kapcsolatot hoz létre két VNET között. Ezzel biztonságos módon, Azure-on belül tud kommunikálni két szolgáltatásom, amely két különböző virtuális hálózatban van.
Ha érdkelnek a felhő szolgáltatók, – mint például: Azure, AWS, GCP – akkor jó helyen jársz.
Egy sorozatot szeretnék indítani, amelyben minden a felhőben elérhető szolgáltatásról leírom nektek a legfontosabbakat, hogy könnyebben eligazodjatok a felhők között. Ez jól hangzik, igaz?
Rendszeresen hozok cikkeket a témában, hogy a végén egy gyűjtemény legyen neked/nektek.