Így használd a Trialodat

Remek dolog ez a 3 hónapos Azure próba-előfizetés, de mennyi is (és ami még fontosabb, mire elég) ténylegesen a benne foglalt havi Compute-, Storage-, SQL Azure- és egyéb erőforrás-adag? Hogyan gazdálkodjunk vele, hogy a maximumot hozhassuk ki belőle? A Windows Azure 90 napos próba-előfizetés honlapján az alábbiak olvashatók:

  • compute VM: 750 small compute hours per month
  • relational database: 1GB web edition SQL Azure database
  • storage: 20GB with 1,000,000 storage transactions
  • bandwidth: unlimited inbound / 20GB outbound

Fontos, hogy a fent felsorolt erőforrások az előfizetés létrehozának havi fordulónapján “újratöltődnek”, azaz három hónapon keresztül minden új hónap kezdetén ennyi erőforrásunk lesz. Amit nem használtunk fel az adott hónapban, az elvész, azaz nem vihető át a következő hónapra.

Mi történik, ha elérjük a limitet? Nos, a Windows Azure nem engedi, hogy az ingyenes próba-előfizetés pénzbe kerüljön, ezért a 750 órás limit elérésekor TÖRLI a virtuális gépeinket. A következő hónap kezdetén újra telepíthetjük alkalmazásunkat. Adatbázisunk és adataink csak olvasható állapotba kerülnek, de ezt az állapotot a következő hónap kezdetén a Windows Azure feloldja.

Értelmezzük az erőforrásokat egyenként, és nézzük meg, hogyan tudunk takarékosan dolgozni velük!

Virtuális gépek futtatása (Azure Compute)

Az Azure-ban a virtuális gépek használatának alapegysége 1 db kis virtuális gép (small compute VM) egyórás futtatása. A VM használatának intenzitása nem számít, akár 1%-on, akár 99%-on üzemelt a CPU, egy órányi használat az egy órányi használat.

Ötféle virtuális gép van, ezek átválthatók egymásba: 6 db extra kis VM tesz ki egy kis VM-et, 2 kis VM egy közepes, 4 kis VM egy nagy, 8 pedig egy extra nagy. Fontos, hogy ez a költségekre is igaz: egy kis VM 750 órányi (kb. egyhavi) használata ugyanannyiba kerül, mint egy közepes VM 375 órányi, vagy egy extra nagy VM 93,75 órányi (kb. négy napnyi) használata. A próba-előfizetésben szereplő 750 órányi VM-használat azért lett pont ennyi, hogy egy kis virtuális gépet egész hónapban futtathassunk (31 nap * 24 óra = 744 óra). Ez teljes mértékben elegendő az Azure-ral való ismerkedéshez, első tesztalkalmazásaink futtatásához, versenyeken (pl. az Andromeda Trader programozói játékon) való részvételhez. Nem elegendő viszont a komolyabb, üzleti célú felhőalkalmazásokhoz – egyrészt azért, mert az ilyen alkalmazások általában összetettebbek, több szerepkörből (= több VM) állnak, másrészt mert gyakran kevés hozzájuk egy kis VM, valamelyik nagyobb méretre van szükség, harmadrészt pedig a Microsoft csak akkor vállal adott ún. szolgáltatási szintet (amit pénzvisszatérítéses SLA szabályoz), ha a szerepkörök legalább két példányban (= legalább 2 VM) futnak.

Ha gazdaságosan akarunk bánni a VM-ekkel, az alábbiakra kell odafigyelnünk:

  • Ha az alkalmazást nem használjuk, TÖRÖLJÜK (azaz ne csak állítsuk le, hanem távolítsuk is el).
  • Ha alkalmazásunknak folyamatosan kell futnia, csak egy szerepkört tartalmazhat, ami egy példányban fut (ez egy db kis VM).
  • Ha több szerepkörből áll az alkalmazásunk (pl. van egy webalkalmazásunk és egy háttérfolyamatunk), használjunk extra kis VM-eket. Ezek teljesítménye azonban korlátozott, ne várjunk tőlük komolyabb feldolgozó kapacitást, adatátvitelt, válaszidőt.
  • Ha az alkalmazásnak nem kell folyamatosan futnia, több/nagyobb VM-et is használhatunk. Napi nyolc órai üzem mellett pl. 3 kis (vagy 1 közepes és 1 kis) VM-et is igénybe vehetünk.
  • Az Azure két alkalmazásfuttatási környezetet biztosít: egy teszt- (staging) és egy éles (production) környezetet. Ezek segítségével tesztelhetjük a 2.0-s verziót, amíg felhasználóink az 1.0-t használják, és egy kattintással “élesíthetjük” az új verziót. Fontos, hogy mindkét környezet a 750 órás készletet fogyasztja, ezért a trial során célszerű csak az éles környezetet használni, és helyben frissíteni, amikor elkészültünk egy új verzióval.

Relációs adatbázis használata (SQL Azure)

A próba-előfizetés egy darab 1 GB-os SQL Azure adatbázis használatát teszi lehetővé. Az SQL Azure jelenlegi verziója néhány korlátozással ugyan, de megfeleltethető az SQL Server 2008 R2 relációsadatbázis-összetevőjének. Az adatbázisban tárolt adatok mennyisége, illetve a használat intenzitása nem számít: ha egy 1 GB-os adatbázisban 1 MB-nyi adatot tárolunk, és naponta egyszer olvasunk belőle, az ugyanannyiba kerül, mint ha 999 MB adatunk van, és másodpercenként 10-szer írjuk/olvassuk a táblákat.

A próba-előfizetésben lévő SQL Azure adatbázist lehetetlen “túlhasználni”, hacsak nem növeljük meg manuálisan a méretet. Ha mégis nagyobb adatbázisra van szükségünk, két lehetőségünk van:

  • Ne használjuk az adatbázist egész hónapban. A havi használat a napi használatok átlagából adódik ki. Ha 10 GB-nyi adatot akarunk tárolni, ezt ingyen megtehetjük 3 napig
  • Kössünk egy másik, használat alapú előfizetést, és ott hozzuk létre az adatbázist. Ez pénzbe kerül, de bármikor befejezhetjük a használatát, és nem okozzuk a próba-előfizetés idő előtti “elfogyását”.

Nem relációs adatok tárolása (Azure Storage)

A Windows Azure-ban háromféle nem relációs dolgot tárolunk: blobokat, tabuláris adatokat és várakozási sorokban lévő üzeneteket. A próba-előfizetés 20 GB adat tárolását és 1 000 000 tárolási tranzakció végrehajtását teszi lehetővé. A 20 GB-ot multimédiás alkalmazásokban könnyedén túlléphetjük, de általában azért elég szokott lenni. A tárolási tranzakciókkal viszont vigyáznunk kell. Minden olvasási és írási művelet egy-egy tárolási tranzakció. Tegyük fel, hogy egy webalkalmazást készítettünk, ami a weboldalak megjelenítésekor az Azure Storage-ból olvas ki egy képet. Ha másodpercenként egy olvasással számolunk, akkor – mivel egy hónapban 31 nap * 24 óra * 3600 másodperc = 2 678 400 másodperc van – máris elhasználtuk a havi adag háromszorosát. Ugyanezt a logikát kövessük, ha pl. naplózni akarjuk alkalmazásunk tevékenységét: jól gondoljuk meg, milyen gyakorisággal írunk a Storage-ba.

Ha elővigyázatlanok vagyunk, ezt a limitet könnyen elérhetjük, de a kivédés viszonylag egyszerű:

  • Ha nagy mennyiségű olvasási tranzakcióra számítunk (lásd pl. a fenti webalkalmazás-példát), másoljuk át kezdetben és/vagy periodikusan az adatokat a Storage-ból a VM saját merevlemezére – ez plusz programozási munka, de jelentősen csökkenti a tranzakciók számát (a VM elérésénél nem számoljuk a tranzakciókat).
  • Ha nagy mennyiségű írási tranzakcióra számítunk, fontoljuk meg az SQL Azure használatát – ott nem számítanak a tranzakciók.
  • Kössünk egy külön, használat alapú előfizetést, és oda tegyük a nagy mennyiségű (vagy nagy tranzakcióigényű) adatokat. A Storage rendkívül olcsó, 10 GB havonta 89 eurócentbe, azaz kb. 270 forintba kerül, egymillió tranzakció pedig 71 eurócentbe, azaz kb. 210 forintba.

Adatátvitel

A Windows Azure-ban a felhőbe irányuló adatbevitel ingyenes, a felhőből kifelé (valamint az egyik adatközpontból a másikba) történő adatmozgás azonban pénzbe kerül. A próba-előfizetés 20 GB-nyi kimenő adatforgalmat tartalmaz. Tegyük fel, hogy egy webalkalmazást futtatunk a felhőben, ahol az átlagos weboldal mérete 200 kB. Az ingyenesen végrehajtható letöltések száma naponta kb. 3200, ami nem igazán sok, de egy tanulásra és szárnypróbálgatásra szolgáló előfizetésnél talán elég. Persze azért figyelni kell: tegyük fel, hogy alkalmazásunk egyik összetevője a felhőben fut, a másik viszont emulátorban, és ez a második elem másodpercenként lekérdez egy 10 kB méretű adatcsomagot a felhőből. Ez kb. 27 GB, tehát máris túlléptük a limitet.

Mit tegyünk, ha nagy adatforgalomra számítunk?

  • Modellezzük a várható használat mértékét, és optimalizáljuk a letöltött weblapok, adatcsomagok méretét.
  • Lehetőség szerint ne futtassuk alkalmazásunk elemeit a felhőben + emulátorban, inkább tegyünk mindent a felhőbe – egy adatközponton belül ingyenes az adatátvitel.

A lényeg

A 3 hónapos próba-előfizetéssel remekül kipróbálhatjuk az Azure képességeit, és megtanulhatjuk kezelését – de figyeljünk oda az erőforrások használatára!

About Kőnig Tibor

főmérnök, Microsoft Magyarország - 1 feleség, 2 gyerek - sci-fi, post-punk, jazz

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s