A Visual Studio 2012-ben megjelent új technológia nagyban hozzájárult ahhoz, hogy még egyszerűbben végezhessünk aszinkron...
Microsoft Azure abszolút kezdőknek
Gulyás GáborNeked is megfordult már a fejedben, hogy itt lenne az ideje váltani a felhőre, de nem igazán tudod hogyan és egyáltalán miért? Esetleg szeretnéd megismerni a Microsoft Azure felhőszolgáltatást? Az egyre nagyobb térnyerésnek köszönhetően úgy gondolom ma már jobb mindenkinek tisztában lennie a felhő és a felhőalapú számítástechnika fogalmával.
Még az egyetemi időszakom első éveiben találkoztam először az Azure felhőszolgáltatással, akkoriban volt egy akció melynek keretében ingyen futtathattuk kisebb webes alkalmazásunkat a felhőben – egyébként ez most is így van, persze kihangsúlyoznám a kis alkalmazás szavakat 😉 Emlékszem hányszor eltévedtem akkoriban a portál felületén és hogy mennyit aggódtam, nehogy a hónap végén valami ezer dolláros számlát küldjenek ki, mert véletlen lefoglaltam egy fél szerverparknyi erőforrást 🙂
Szeretném számotokra megspórolni ezt a kutatómunkát és megmutatni, mennyire egyszerű egy új előfizetést bekattintani, illetve miként használjátok az Azure Portált, miként ne tévedjetek el rajta – megjegyzem rengeteget fejlődött azóta már és sokkal intuitívabb felülettel találjátok szembe magatokat, mint akkoriban!
Ezt a blogbejegyzésemet angol nyelven is megtalálod új blogomon, a gaborg.dev címen! 🙂
Mi az a felhő?
A régi időkben amikor egy cégnek IT infrastruktúrára volt szüksége, fizikailag fel kellett építeniük azt. Szerverek, tűzfalak, switchek, routerek, minden amit el tudsz képzelni. Ezt mind elhelyezték egy szerverparkban, vagy a helyi szerverszobában, karban kellett tartani, időről időre fejleszteni, bővíteni, cserélni.
Aztán eljött a karácsonyi időszak, jött a Black Friday akció és a cég oldala is elsötétült. Miért? A szerverek az évközben tapasztalt átlagos forgalommal még képesek megbirkózni, ezt a rengeteg látogatót viszont már nem bírják. Ilyenkor mehetnénk és vásárolhatnánk erősebb hardvereket, bővíthetjük a szerverparkot, de a karácsonyi időszak lecsengése után sajnos ezek már csak porfogók maradnak.
A felhőszolgáltatók mint Microsoft Azure, Google Cloud és Amazon Web Services (meg még sokan mások) egyrészt ennek a problémának a megoldására jöttek létre. Egy saját infrastruktúra felépítése és fenntartása helyett a szolgáltatók hatalmas szerverparkjára támaszkodva élvezheted azok előnyeit:
- Skálázhatóság, hogy könnyen és gyorsan adaptálódhass a megnövekedett forgalomra, új hardverek megvásárlásra nélkül
- Magas rendelkezésre állás. Egy esetleges meghibásodásnál a nagy szerverparknak köszönhetően másodperceken belül képesek egy új erőforrásra helyezni szolgáltatásaidat, így azoknak működésében nem tapasztalsz kiesést.
- Költséghatékonyság, megspórolva a hardver megvásárlásának, üzemeltetésének és cseréjének költségeit. A felhőben az erőforrásokat béreljük, így azokért csak valóban annyit kell fizetnünk, amennyit használtuk – ha a virtuális gép 3 órát ment, akkor 3 órát fizetünk ki.
A felhőalapú számítástechnika egy újabb blogbejegyzést kitenne, így ezzel a fogalommal kapcsolatosan a Wikipédia magyar nyelvű cikkére irányítanálak benneteket 🙂
Mi az a Microsoft Azure?
A Microsoft Azure egyike a sok publikus felhőszolgáltatóknak. Rengeteg különböző szolgáltatás érhető el a kínálatukban – mindegyiknek a felsorolásához a cikk teljes hossza kétszer annyi lenne, így is elég hosszúra sikerült 🙂
Néhány szolgáltatást azonban megemlítenék, melyeket már én is használtam a korábbiakban projektek kapcsán:
- Virtuális gépek – Van még bárki is, aki sohasem futtatott még életében virtuális gépet? Itt az alkalom 🙂
- Azure SQL adatbázis – Egyszerűen skálázható és menedzselhető, Platform as a Service szintű SQL adatbázis a felhőben.
- Webes alkalmazások – Mint az Azure SQL adatbázis esetében, itt sem kell foglalkoznunk a mögöttes hardverrel (PaaS), nekünk már csak a futtatókörnyezetet kell konfigurálnunk.
- Azure Functions – Üdv a kiszolgáló nélküli számítástechnika világában 😉
- Cognitive Services – Arcfelismerés, szövegelemzés, karakter felismerés – rengeteg egy az egyben felhasználható AI építőelem az alkalmazásaidhoz!
És a lista folytatódik: MI, konténerek, adatbázisok, IoT, hálózat, tárolás, web, stb.
A cikk írásának időpontjában ezek a szolgáltatások 54 különböző adatközponton keresztül érhetők el: Egyesült Államok, Egyesült Királyság, Európa, Ázsia, Afrika, Ausztrália…
Gyakorlatilag lehetetlen, hogy ne találj egy adatközpontot a közeledben!
Miért pont Azure?
Amióta regisztráltam magam a Microsoft Azure felhőszolgáltatásában – akkoriban még Windows Azure néven futott -, rengeteg dolog megváltozott. Milliónyi új szolgáltatás érkezett, a menedzsment felületetet folyamatosan változik (részemről pozitív irányba) – most nemrégiben is volt egy nagyobb átalakítás.
Több okból is az Azure felhőszolgáltatót szoktam ajánlani az embereknek:
- Pofonegyszerű és intuitív a kezelőfelülete
- Az erőforrásokat könnyen kezelhető varázslók segítségével is létrehozhatjuk, illetve az IT Pro-k számára ott a lehetőség jól dokumentált API-k használatára – vagy épp PowerShell-ből!
- Jól összerakott költség kalkuláció érhető el, így könnyebben megbecsülhetővé válnak várható költségeink.
- A szolgáltatások megnevezései – a legtöbb esetben – egyértelműek, nincsenek semmitmondó fantázianevek mögé bújtatva
- Visual Studio Enterprise előfizetők $150 kreditet kapnak minden hónapra, amit bármire elhasználhatnak – ezt a Visual Studio Benefits portálon aktiválhatjátok
Korábbiakban próbára tettem az Amazon Web Services szolgáltatását, azonban számomra a kezelőfelület átláthatatlan és értelmezhetetlen volt, rengeteg időmbe telt, mire egy virtuális gépet fel tudtam építeni (EC2), ráadásul a fantázianevek miatt is sokkal nehezebb volt átlátni a dolgokat. Bevallom őszintén, nem sokáig használtam a szolgáltatást, így ennél relevánsabb tapasztalatom már nincsen 🙂
Másrészről a Google Cloud szolgáltatásait a mai napig használom. Ilyen például a Google Maps API, amit olyasmikre használok mint reverse geocoding, geocoding, navigáció, stb.
Összességében tehát engem a Microsoft Azure az egyszerű kezelhetősége miatt fogott meg, illetve hogy Microsoft fejlesztőként a Visual Studio előfizetésem mellett havi $150 kredittel játszadozhatok és bármit ki is próbálhatok.
Regisztrálj most ingyen
Több lehetőség is adott számunkra az induláshoz.
Mint azt említettem, Visual Studio Enterprise előfizetőként talán még nem is tudsz róla, de havi $150 kreditet kaphatsz. Ez annyit jelent, hogy havonta $150-t költhetsz el bármilyen szolgáltatásra egészen addig amíg az előfizetésed él.
Egy másik lehetőség az ingyenes próbaverzió. Ekkor egy Pay as You Go előfizetést regisztrálsz – szabadfordításban fizetsz amennyit használsz – a következő bónuszokkal:
- $200 kreditet kapsz az első hónapodra, melyet bármilyen szolgáltatásra elkölthetsz
- 12 hónapig ingyenes hozzáférés különböző szolgáltatásokhoz – meghatározott keretek között persze
- Ingyenes, életre szóló hozzáférés néhány szolgáltatáshoz – ilyen például a kis méretű webes alkalmazások ingyenes futtatása megosztott erőforrásokon.
Itt jegyezném meg, hogy több, aktív előfizetéssel is rendelkezhetünk egyszerre, egyetlen fiókon – ami lehet egy Microsoft, vagy éppen GitHub fiók.
Visual Studio Enterprise előfizetőként a Visual Studio Benefits Portálról indulhatunk el és aktiválhatjuk be Azure előfizetésünket – csak egy fiókra aktiválhatjuk be.
Amennyiben nem vagy Visual Studio Enterprise előfizető, úgy a Microsoft Azure weboldalára kell ellátogatnod, ahol néhány perc alatt be is aktiválhatod 12 hónapos trial fiókodat!
Gratulálok! Most, hogy már Te is az Azure felhasználói közé tartozol, kezdődhet a móka! 🙂
Az első lépések
Fedezd fel a portált
A menedzsment portál pont nemrégiben ment keresztül egy nagyobb átalakításon. Új ikonokat kaptunk, új elrendezést, egy teljesen átalakított főképernyőt és egyszerűbb navigációt – még szerencse, hogy nem pont az átalakítás előtt írtam meg ezt a cikket 😉
Először mindig a főképernyővel találjuk szembe magunkat. Itt találjuk a nemrégiben használt erőforrásainkat, hivatkozásokat hasznos dokumentumokhoz és oldalakhoz, illetve gyorslinkeket olyanokhoz mint például az előfizetésünk adatai, erőforrásaink, vagy éppen az irányítópult.
A bal oldali oldalsávon a kedvencekként megjelölt erőforrásaid listáját találod. Alapértelmezetten néhány erőforrás típust megjelölnek számodra, de ezeket természetesen bármikor testreszabhatod és rendezgetheted kedved szerint. Új erőforrásokat akár innen az oldalsávról, vagy a főképernyőről a Create a resource gomb megnyomásával hozhatsz létre.
Az erőforrásokkal kapcsolatban azonban van egy dolog amire mindig érdemes emlékezni. Minden egyes erőforrás egy erőforrás csoportnak (resource group) lesz a tagja. Ez nem csak az erőforrások csoportokra bontására jó – például egy virtuális gép egy csoportban legyen az IP-vel, tárolóval, hálózattal, stb -, hanem így lehetőségünk nyílik a teljes csoport egységes jogosultságkezelésére is.
Tipp: Az Azure Portal automatikusan létrehoz számunkra egy új erőforrás csoportot az erőforrások létrehozásakor, de lehetőség van meglévő kiválasztására. Javaslom, hogy minden esetben előbb a csoportot hozd létre, elkerülvén hogy a nap végére 100 csoportod legyen, olyan nevekkel mint vmsampleaz92800132.
Próbálkozzunk meg egy új erőforrás létrehozásával!
Hozd létre első virtuális gépedet (opcionális)
Mivel a számlázás csak és kizárólag a tényleges futási időre vonatkozik, így javaslom hogy csináld velem együtt a lépéseket, próbáld ki a dolgokat , majd a végén töröld az erőforrás csoportot – csak ne felejtsd el 😉
Két lehetőség van erőforrások létrehozására a portálon:
- Az oldalsávról, ahol először mindig ki kell választanunk a létrehozandó erőforrás típusát, vagy
- Az erőforrás típusának oldaláról, ahol rögtön az ahhoz tartozó varázsló indul el a létrehozással.
Mint említettem, én mindig az erőforrás csoport oldaláról indulok, hogy jobban elkülöníthetők legyenek a létrehozott erőforrásaim. Hogy ezt megtegyük, kattintsunk a Resource Groups gombra a főképernyőn és válasszuk az Add opciót a fenti menüben.
A varázslóban mindig az erőforráshoz kapcsolódó beállítások jelennek meg – így erőforrástól függően ez a folyamat lehet rövidebb és lehet hosszabb is.
Erőforrás csoport létrehozásakor a következőket kell kitöltenünk:
- Subscription: Ha a fiókunkhoz több előfizetés is tartozik, akkor itt kell kiválasztanunk, hogy melyik előfizetéshez szeretnénk kapcsolni az adott erőforrást. Az előfizetések között lehetőségünk van erőforrásokat mozgatni, de javaslom inkább gondolkozzunk előre és a végleges helyén hozzuk létre ha lehetőség van rá.
- Resource Group: Az erőforrás csoport megnevezése
- Region: Az erőforrás csoport régiója. Fontos, hogy ez nem azt jelenti, hogy a csoportban lévő erőforrások melyik régióból fognak futni. Ez a beállítás a csoport metaadatainak és egyéb beállításainak a tárolási helyére vonatkozik. Javaslom, hogy egyezzen meg az erőforrások régiójával.
Szuper! 🙂 Most, hogy elkészült első erőforrás csoportunk, ideje hogy tegyünk is bele valamit! Jellemzően mindig egy virtuális géppel szoktam kezdeni. Ehhez navigáljunk vissza a főképernyőre, válasszuk ki a Virtual machines opciót és kattintsunk az Add gombra.
Mint azt láthatjuk, itt már teljesen más opciókkal találjuk szembe magunkat. Ki kell választanunk az erőforrás csoportot – válasszuk az előzőleg létrehozottat -, meg kell adnunk az erőforrás nevét, régióját, majd egy image fájlt ami az operációs rendszert határozza meg. Végezetül pedig kiválaszthatjuk a VM méretét – javaslom ne rögtön egy 640 GB RAM-os és 80 vCPU magos géppel kezdjünk 😉
Bejelentkezési módhoz a legegyszerűbb opció a jelszavas bejelentkezés, azonban választhatunk SSH kulcsos bejelentkezést is, ami jóval biztonságosabb.
Folytathatjuk a konfigurációt és manuálisan beállíthatjuk a hálózatot és egyéb dolgokat, de a gyorsabb indulás érdekében válasszuk a Review + Create opciót és hozzuk létre az erőforrást.
Pár percen belül a VM telepítése el is készül és elérhetővé válik a kezelőfelületen található publikus IP-n keresztül. Linux operációs rendszer esetén SSH-val, Windows esetében pedig a Remote Desktop segítségével fel is csatlakozhatunk és már használhatjuk is az új erőforrást.
A bal oldali menüben minden erőforrás típushoz egy egyedileg kialakított menü tartozik, ahol az erőforrás típushoz releváns beállítások jelennek meg. Egy virtuális gép esetében ilyenek a skálázási opciók, újabb lemezek hozzáadása, hálózati beállítások, tűzfal, stb.
Ha egyszer belejön az ember, akkor egy VM összekattintása már csak egy 5 perces feladattá válik! Most pedig haladjunk tovább és hozzunk létre egy webes alkalmazást is! 🙂
Hozd létre első webes alkalmazásodat (opcionális)
Hasonlóképpen a virtuális gép létrehozásához, ebben az esetben is a főképernyőről indulva kiválasztjuk a Create a resource opciót, majd a Web App típust kikeresve létrehozunk egy új Web App-ot.
Amikor egy webes alkalmazást hozunk létre, szükségünk lesz egy futtatókörnyezetre, mely az App Service Plan. Egy futtatókörnyezet a méretétől függően több alkalmazást is képes működtetni egyszerre, így nem feltétlenül szükséges minden alkalmazáshoz újat létrehozni belőle.
Megjegyzés: Elérhető egy ingyenes, F1 jelölésű csomag, mely ideális kipróbálási célokra, illetve kisebb, esetleg statikus weboldalak futtatására.
Az alkalmazás létrehozását követően navigáljunk az erőforrás webcímére, ahol szembe találjuk magunkat vadonatúj oldalunkkal!
A webes alkalmazás kitelepítéséhez használhatunk FTP-t, vagy direktben a Visual Studio-ból is megtehetjük egy Publish Profile segítségével. Ha pedig Windows alapú App Service-t hozunk létre, akkor még az Azure Portalon keresztül és szerkeszthetjük az alkalmazást az App Service Editoron keresztül – amit a webes alkalmazás oldalsávján érünk el.
Előfizetés és költségek felügyelése
Tartsd a szemed a költéseiden, nehogy a hónap végén meglepetésenek érjenek! Az Azure Portal részletes információt ad az előfizetésed állapotát illetően: melyik erőforrásod, erőforrás csoportod mennyit költött eddig, mi a várható költés a hónap végére, stb.
Előfizetéseid eléréséhez navigálj a főképernyőre, válaszd a Subscriptions opciót, majd kattints valamelyik elérhető előfizetésedre.
Egy virtuális gép, egy App Service és egy backup tárhely a Microsoft SQL szerveremhez, havi ~8 euróból. Egész költséghatékonyan sikerült megoldani a kis hobbi projektemet 🙂
Összegzés
A összes felhőszolgáltató közül amelyikkel eddig dolgom volt, a Microsoft Azure rendelkezik a legegyszerűbben használható és legintuitívabb kezelőfelülettel! Pont! A rengeteg ingyenesen, vagy éppen alacsony költségvonzattal elérhető szolgáltatásnak köszönhetően pedig roppant egyszerűen beindíthatjuk rajta projektjeinket -a hogy én is tettem 😉
Egyszóval, tedd próbára Te is a Microsoft saját felhőszolgáltatását és valósítsd meg rajta projektjeidet! Mivel fogsz indítani? Egy VM? Egy csevegő robot? Esetleg egy WebAPI? Vagy a személyes honlapod? Oszd meg velünk ötleteidet!
És természetesen várom kérdéseidet is, ha úgy érzed valahol nagyon elakadtál és segítségre van szükséged!