Mindig nagy örömmel osztom meg tudásom és tapasztalataim azokkal, akik érdeklődnek a felhő technológia iránt. 2023-ban meghívást kaptam a Gerilla Karrier Podcast egyik felvételére, hogy osszam meg tapasztalataimat az alábbi témákban:
Mi a felhő technológia?
Mi köze az Amazonnak a felhőkhöz?
Hogyan hozza el a Cloud a jövőt? – aki kimarad, lemarad?
Mit és hogyan tanulj, ha érdekel a felhő?
5 tipikus felhő munkakör
Miért éri meg ebbe az irányba képezni magad?
Mennyit keres egy felhő szakember?
Hogy kapcsolódik a Mesterséges Intelligencia a Cloud-hoz?
Örömmel és lelkesen fogadtam el a meghívást, ahol Andrással egy nagyon jó kedélyű és kellemes beszélgetést folytattunk.
Barát Andárssal, már évek óta ápolunk nagyon jó kapcsolatot mind a magánéletben, mind a szakmai életben. Ez nem csak annak köszönhető, hogy én vagyok a Mentor Klub egyik mentora, hanem annak is, hogy hasonló a személyiségünk és az érdeklődési körünk.
A Mentor Klub egy olyan közösség, ahol a tagok soft- és hard skilleket egyaránt tanulhatnak, ráadásul otthonról vagy akár külföldről is. Rengeteg oktatóanyag érhető el itt, amelyek mind azon céllal készültek, hogy bárki sikeresen kezdjen új karrierbe, vagy erősítse meg pozícióját az álláspiacon. Személyes tapasztalatom szerint, aki itt tag, már egy lépéssel közelebb jár a sikeres és felfelé ívelő karrierhez.
A podcast epizódot itt tekinthetitek meg:
Aki szeretne még hasonló érdekes, naprakész és aktuális témákat. hallgatni, annak javaslom, hogy kövesse a Gerilla Mentor Klub YouTube csatornáját, ahol megtalálja az összes Podcast epizódot. Higgyétek el, nem fogtok unatkozni, és már ezekből a kötetlen, mégis tematikus beszélgetésekből is rengeteget lehet tanulni.
És figyeljetek, mert lehet, hogy hamarosan újra találkozhattok velem egy hasonló beszélgetésben. 🙂
Manapság egyre többet hallhatunk az infrastruktúra automatizálásáról és a DevOps megközelítés fontosságáról az informatikai projektekben. Ebben a világban az egyik legnépszerűbb eszköz a Terraform, amely segít a felhőinfrastruktúra kezelésében és üzemeltetésében.A mai cikkben arra vállalkozok, hogy megismertessem az érdeklődőkkel a Terraform alapjait, és bemutassam, miért lehet hasznos az IT szakemberek és a vállalkozások számára.
Mi az a Terraform?
A Terraform egy nyílt forráskódú eszköz, amelyet a HashiCorp fejlesztett. Lehetővé teszi az infrastruktúra deklaratív módon történő leírását és kezelését kódként, vagyis az úgynevezett Infrastructure as Code (IaC) megközelítést alkalmazza. Ez azt jelenti, hogy a felhőszolgáltatások, mint például az AWS, Azure, Google Cloud vagy akár saját adatközpontok erőforrásait egyetlen kódbázis segítségével lehet létrehozni, frissíteni vagy törölni.
Hogyan működik a Terraform?
A Terraform az infrastruktúra komponenseit ún. konfigurációs fájlokban írja le, amelyeket a .tf kiterjesztésű fájlokban tárol. Ezekben a fájlokban megadhatjuk, hogy milyen erőforrásokat szeretnénk létrehozni (pl. virtuális gépeket, tárolókat, adatbázisokat stb.). A legnagyobb előnye, hogy a folyamat deklaratív: nem az utasítások végrehajtási sorrendjét kell megadni, hanem hogy milyen állapotot szeretnénk elérni. A Terraform ezt követően elvégzi a szükséges lépéseket az infrastruktúra kialakításához vagy módosításához.
Miben segíthet nekünk az IaC és aTerraform?
A Terraform és az Infrastructure as Code (IaC) alkalmazásának számos előnye van, különösen a felhőinfrastruktúra kezelésében. Ezek közül a legfontosabbakat össze is foglaltam:
Automatizálás és hatékonyság: A Terraform és az IaC lehetővé teszi az infrastruktúra teljes automatizálását, így elkerülhető a kézi beavatkozás, ami gyorsabbá és megbízhatóbbá teszi az infrastruktúra létrehozását, módosítását vagy törlését. Ez csökkenti az hibák esélyét, és jelentősen növeli a hatékonyságot.
Következetesség: Az infrastruktúra kódban van megadva, ami biztosítja, hogy az infrastruktúra újratelepítése vagy bővítése mindig ugyanazokat a lépéseket és beállításokat kövesse. Ez garantálja a következetességet a fejlesztői, tesztelési és éles környezetek között, és minimalizálja az eltérések lehetőségét.
Verziókövetés: Mivel a Terraform konfigurációs fájlok szöveges formátumban vannak, ugyanúgy verziókövető rendszerekben (pl. Git) tárolhatók, mint a szoftverek kódjai. Ez lehetővé teszi, hogy visszatérjünk egy korábbi infrastruktúra állapothoz, ha szükséges, vagy megnézzük, milyen változások történtek az idők során.
Skálázhatóság: Az IaC megkönnyíti az infrastruktúra skálázását, mivel egyszerűen módosíthatjuk a konfigurációs fájlokat, és a Terraform automatikusan végrehajtja a szükséges változtatásokat. Például, ha több szervert szeretnénk hozzáadni egy alkalmazás kiszolgálásához, csak a konfigurációban kell megadni a kívánt erőforrásszámot.
Multicloud (több felhős) támogatás: A Terraform különösen előnyös, mivel több különböző felhőszolgáltatót támogat (AWS, Azure, Google Cloud stb.), valamint helyi adatközpontokat is kezelhet. Ez lehetővé teszi, hogy egyszerre több felhőplatformon futtatunk erőforrásokat, anélkül hogy mindegyikhez külön eszközöket vagy manuális beállításokat kellene használnunk.
Deklaratív megközelítés: Mint már korábban említettem, a Terraform deklaratív módon működik, ami azt jelenti, hogy a felhasználó csak azt mondja meg, milyen állapotot szeretne elérni az infrastruktúrában (pl.: hány darab szerver, milyen tűzfal beállítások, stb.). A Terraform gondoskodik a szükséges lépésekről, így nem kell aggódnunk a végrehajtás konkrét részletei miatt.
Költséghatékonyság: Az automatizálásnak és az optimalizált erőforrás-kezelésnek köszönhetően a Terraform és az IaC használata csökkentheti az infrastruktúra kezeléséhez szükséges időt és erőforrásokat, így hosszú távon költséghatékonyabbá válik.
Gyors visszaállítás: Ha valami rosszul sül el (pl. hibás konfiguráció vagy nem kívánt infrastruktúra-változás), a Terraform segítségével gyorsan vissza lehet állítani az infrastruktúrát egy korábbi verzióra (állapotra), így minimalizálva a leállások vagy hibák okozta károkat/kieséseket.
Modularitás és újrafelhasználhatóság: A Terraform lehetővé teszi modulok létrehozását, amelyek sablonként szolgálhatnak különböző projektekhez. Ez azt jelenti, hogy egyszer létrehozott konfigurációkat könnyen újra lehet használni más projektekben, ami jelentős időmegtakarítást jelent.
Miért érdemes használni a Terraform-ot?
Multicloud támogatás: A Terraform lehetővé teszi több felhőszolgáltató egyidejű kezelését, ami nagy előny, ha különböző felhőkön futtatunk szolgáltatásokat.
Átláthatóság és verziókezelés: Mivel az infrastruktúra kódként van leírva, egyszerűbb követni a változtatásokat és verziókat használni, hasonlóan a szoftverfejlesztésben használt verziókezelő rendszerekhez.
Automatizálás: Az infrastruktúra kézi kezelése helyett a Terraformmal automatizálhatjuk a folyamatokat, ami gyorsabbá és megbízhatóbbá teszi az üzemeltetést.
Közösség és bővítmények: A Terraformhoz számos modul és bővítmény érhető el, amelyeket a közösség fejlesztett, így könnyedén bővíthetjük a képességeit.
A Terraform alapfogalmai
1. Konfigurációk
A Terraform konfigurációk írásával határozzuk meg, hogy milyen erőforrásokat szeretnénk létrehozni. Ezek a konfigurációk egyszerű szöveges fájlokban tárolódnak.
2. Erőforrások (Resources)
Az erőforrások a felhő vagy adatközpont komponenseit jelentik, például virtuális gépeket, hálózatokat, tárhelyeket.
3. Állapot (State)
A Terraform minden egyes futás után tárolja az infrastruktúra aktuális állapotát egy állapotfájlban. Ez segít abban, hogy mindig naprakész információnk legyen arról, hogy milyen erőforrások léteznek.
4. Plan és Apply
Amikor módosítjuk a konfigurációkat, először a plan parancsot futtatjuk, amely megmutatja, hogy milyen változtatásokat fog végrehajtani a Terraform. Ha minden rendben van, az apply parancs végrehajtja a konfigurált változtatásokat.
Példa konfiguráció
Lássunk egy egyszerű példát arra, hogyan lehet egy virtuális gépet létrehozni az AWS-ben a Terraform segítségével:
provider "aws" {
region = "eu-central-1"
}
resource "aws_instance" "elsogepem" {
ami = "ami-0592c673f0b1e7665"
instance_type = "t2.micro"
tags = {
Name = "Első AWS gépem"
}
}
Ebben a példában egy t2.micro típusú virtuális gépet hozunk létre az AWS egy adott régiójában. Ez a konfiguráció egyszerű, de a lehetőségek szinte végtelenek, hiszen a Terraform segítségével bármilyen felhőalapú erőforrást kezelhetünk.
Természetesen a fenti kód önmagában nem működik, hiszen biztosítanunk kell a kód futtatásához szükséges hozzáférést az AWS fiókunkhoz is. Ezt majd egy következő cikkben mutatom meg részletesen.
Összegzés
A Terraform egy rendkívül erőteljes eszköz, amely lehetővé teszi az infrastruktúra könnyű kezelését és skálázását. Nem csak kis rendszerek építésében és kezelésében hatékony, hanem a hatalmas, akár ezer erőforrást tartalmazó ökoszisztémák esetén is kifogástalanul teljesít.
Ha érdekel ez a terület, akkor az első lépés lehet a konfigurációk megismerése és néhány egyszerű projekt kipróbálása. Ahogy elmélyedsz a Terraform világában, gyorsan rájössz majd, hogy mennyire megkönnyíti a felhőalapú rendszerek kezelését és karbantartását. Természetesen a következő cikkekben én is azon leszek, hogy számodra hasznos és használható tudást adjak át.
Reméljük, hogy ez a rövid bevezető segít az elindulásban! 🙂
Elsőre a felhőszolgáltatások bonyolultnak tűnnek és sokan megrémülnek tőle. Ez részben igaz is, de mint minden területén az életnek vannak olyan lehetőségek, amelyek segítenek nekünk a könnyed elindulásban. Így van ez az AWS esetén is. Az Amazon már régen felismerte, hogy szükség van olyam megoldásokra, amelyekhez nem szükséges felhő- vagy informatikai előképzettség.
Ez az Amazon Lightsail, amely könnyedén vezet be minket a felhő világába úgy, hogy közben igazi felhő rajongókká válhatunk.
Mi az a Lightsail?
Az Amazon Lightsail egy egyszerűsített felhőszolgáltatás, amelyet az Amazon Web Services (AWS) kínál kezdőknek vagy kisebb projekteket futtatóknak. A LightSail célja, hogy könnyen használható megoldásokat (szerverek, alkalmazások, adatbázisok, stb.) biztosítson, minimalizálva a komplexitást, amely a nagyobb AWS szolgáltatásokkal jár.
A szolgáltatás lehetővé teszi, hogy néhány kattintással indíts szolgáltatásokat előre konfigurált beállításokkal, mint például a WordPress weboldalak, adatbázisok, vagy fejlesztői környezetek. Minden Lightsail csomag tartalmazza a szükséges erőforrásokat: CPU-t, memóriát, tárhelyet és adatforgalmat, így egyszerűbbé teszi a használatot.
Főbb előnyei:
Egyszerű indítás: Nem szükséges mély technikai tudás a szerverek elindításához.
Fix havidíjas csomagok: Könnyen kalkulálható költségek, nincs rejtett költség.
Integráció AWS-szolgáltatásokkal: Ha később nagyobb rugalmasságra lenne szükséged, át lehet térni az AWS komplexebb megoldásaira.
Az Amazon Lightsail ideális választás lehet kisebb weboldalak, fejlesztési projektek vagy egyszerű alkalmazások futtatásához, miközben biztosítja a felhő előnyeit anélkül, hogy túlzottan bonyolult beállításokat igényelne.
Ugye milyen érdekesen hangzik?
WordPress
Most pedig megmutatom, hogyan tudsz WordPress weboldalt létrehozni néhány perc alatt. (biztonsági mentéssel együtt)
Hogyan is jutunk el a Lightsail felületére AWS-en?
Ráadásul a weboldal fejlesztésében ChatGPT is a segítségünkre lesz.
Hogyan készítsd el a weboldaladat (index.html és error.html fájlokkal) ChatGPT segítségével
Hozz létre egy felhasználói fiókot ChatGPT-ben, majd nyiss egy új beszélgetést és add meg neki a következő prompt-ot. (Kedved szerint módosítsd a számodra fontos adatokat. Pl.: Milyen legyen a kinézet és a stílus, mi legyen a domain név, mi legyen a cég neve és profilja)
Szia,
Segíts nekem. Te egy webfejlesztő vagy.
AWS S3 static website-ot szeretnék létrehozni. Ehhez kérlek készíts egy index.html fájlt és egy error.html fájlt. Emellett hozd létre a szükséges bucket policy-t is. A bucket neve a domain neve legyen.
Az index.htm egy komplex, modern, letisztult, színes (fekete, ezüst, mélyzöld), egylapos weboldal legyen ami egy magyar startup cég weboldala lesz.
Cég neve: LignumArt
Iparág: Faipar, luxus bútorok egyedi megrendelésre
Domain név: lignumart.mentorcloud.hu
Előre is köszönöm.
Ez alapján legenerálásra kerül 3 fájl tartalma (index.html, error.html, bucket-policy.json) A számítógépeken hozd létre ezeket a fájlokat és másold bele a megfelelő tartalmakat.
S3 bucket konfiguráció és bucket policy beállítása
Jelentkezz be az AWS fiókodba.
Keresőben keresd meg az S3-at
Hozz létre egy bucketet az S3 felületén a Create bucket gombra kattintva
A bucket adatai:
Név: a te domain-ed neve. Mi esetünkben lignumart.mentorcloud.hu
Block all public access részből vedd ki az összes jelölőt
Nyugtázd, hogy elfogadod a nyilvános fájlokkal kapcsolatos kockázatokat
Kattints a lapalján a Create bucket gombra
Megnyitjuk a bucket-et
Properties fülre megyünk és legörgetünk a lap aljára
Static website hosting részt szerkesszük és engedélyezzük
Adjuk meg a megfelelő helyen az index.html és error.html fájlok nevét
Mentsük el a változásokat
Permission fülre menjünk át
Keressük meg a Bucket policy részt
Edit gomb megnyomásával szerkeszthetjük is
Az itt szereplő mezőbe másoljuk be a bucket-policy.json fájl tartalmát, majd mentsük el
Görgessünk a lap aljára és mentsük el a változásokat
Fájlok feltöltése S3 bucket-be
Menjünk a Objects fülre
Upload gombra kattintva kezdjük el a fá ljok feltöltését (Add files)
Amikor a fájlok feltöltésre kerültek navigáljunk át a Properties fülre és görgessünk a lap aljára
És ott találjuk a weboldalunk linkjét. (formátum: http://<bucket neve>.s3-website.<aws régió neve>.amazonaws.com)
Ha ezt megnyitjuk, akkor láthatjuk a weboldalunkat
Ezzel gyakorlatilag készen vagyunk 🙂
Saját domain használata a weboldalhoz
Itt a Route 53 szolgáltatást fogjuk használni egyéni domain rendeléssel. A példánkban feltételezzük, hogy AWS.ben már beállítottuk a domain zónánkat (Route 53 hosted zone).
Az alábbi lépéseket kell követned:
Jelentkezz be az AWS fiókodba.
Keresőben keresd meg az Route 53-at
Lépjünk be a domain zónába, ami a domain nevünkhöz tartozik
Create record gombra kattintva elkezem a dns bejezés létrehozását
Átváltunk a varázsló nézetre, a Switch to wizard linkre kattintva
Válasszuk a Simple routing lehetőséget, majd Next gomb
Define simple record gombra kattintva folytatjuk a beálltást
Itt az alábbiakat állítjuk be
Record name: az általunk választott aldomain neve (mi esetünkben: lignumart), ha a fő domain nevünket akarjuk itt beállítani, akkor ezt hagyjuk üresen
Record type: A
Value/Route traffic to: Amazon S3 website endpoint
Régió: az a régió ahová a bucket-ünket létrehoztuk
Végpont neve: a legördülő menüben megjelenik a mi S3 bucket-ünk
Define simple record gombra kattintva elmentjük a változásokat
A teljes véglegesítéshez kattintsunk a Create record gombra
Ezzel létrejött a domainhez tartozó DNS bejegyzés, és használatba is vehetjük azt.
Nyissuk meg böngészőnkben a megfelelő linket: http://<én domain nevem amit használtam> (mi példánkban: http://lignumart.mentorcloud.hu)
Ezzel elérhetővé vált mindenki számára a weboldalunk, az általunk beállított saját domain nevén.
AWS költségkeret beállítása könnyen és gyorsan az AWS Management Console-on. Ez a funkció segít elkerülni a költségtúllépéseket, mielőtt a pénztárcád bánná.
Az alábbi helyen találod: AWS Management Console > Billing and Cost Management > Budgets and Planning > Budgets
Létrehozás:
Create a Budget gombra kattintasz.
Budget setup: Use a template (simplified).
Templates: Monthly cost budget.
Budget name: Havi keretem (vagy amilyen nevet gondolsz).
Enter your budgeted amount: Add meg azt a a számot amely a kereted (Pl.: 50 USD).
Email recipients: Itt add meg azon email címeket, amelyekre a riasztást szeretnéd kiküldeni. Ezeket vesszővel válasszuk el. Legyenek létező email címek.
Mentéshez kattints a Create budget gombra.
Használd minden fiókon, és tartsd kézben a kiadásokat!
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.