EDU::GAMF::Felhőalapú-szolgáltatások
A tantárgy leírása - nem hivatalos
A tantárgy során alkalmazások felhőben történő üzemeltetéséről tanulhatnak a hallgatók. A piacon elérhető összes szolgáltatót nincs lehetőségünk tanulmányozni, de az Amazon Web Services (AWS) világában mélyebben elmerülünk és egy alkalmazást telepítünk bele. A tárgy során a hallgatónak el kell sajátítania azt a készséget, hogy egy jól dokumentált alkalmazást (a csomag szükségletek közel teljes egészében meg vannak adva a fejlesztők által) elhelyezzenek amazonos környezetben, ismernie kell az elérhető eszközöket és a biztonsági funkciókat.
A félév második felében a Docker kapja a főszerepet, mivel manapság a legtöbb alkalmazás ebben készül. Ennek oka, hogy a fejlesztői környezet és a végleges környezet egyezősége garantálható. A hallgatók a tárgy teljesítése után képesek lesznek egy jól dokumentált alkalmazás telepítésére Docker környezetben, ami magában foglalja a képfájlok létrehozását és a futási környezetének kialakítását is.
A tantárgy előfeltételei - nem hivatalos
A tantárgy épít a következő tantárgyakon tanultakra:
- Hálózati alapismeretek
- IP címek típusai (publikus, privát)
- Alhálózatok kialakítása
- Kis mértékben packet flow ismeretek
- Operációs rendszerek
- Linux CLI ismeretek
- BASH parancsok
- man készségszintű használata
- Konfigurációs állományok szerkesztésére alkalmas eszközök ismerete (vi, nano, mcedit stb.)
- LOG fájlok olvasása, tartalmuk szűrése
- Webes alkalmazásfejlesztés
- Webes applikációk forráskódjának értelmezése
- Infrastruktúra függő értékek felismerése és aktualizálása
- Haladó programozás
- python szintaktika
- Forráskód értelmezése
A tantárgy követelményei - nem hivatalos
A tantárgy rendszerint 1db 100 pontos ZH-t foglal magában, amelyet vagy a 11. vagy a 12. héten írnak meg a hallgatók (ez annak a függvénye, hogy melyik héten van kevesebb ZH-juk az előzetes egyeztetések alapján). A dolgozat során a hallgatók kapnak egyedi IP tartományt, amelyben egy VPC-t kell működtetniük AWS környezetben. Megkapják az alkalmazás kódját, az alkalmazás leírását - milyen komponensekből kell állnia - és az alhálózatok sorrendjét, amennyiben az értelmezhető a kiadott feladatban. A feladat megoldására a teljes óra rendelkezésre áll, segítségként a lentebb megjelölt források használhatók, minden más tiltott. A hallgatók a dolgozat során word-ben dokumentálják a lépéseket, a végén csak ezt kell beadni.
A tantárgy értékelése szigorú, a mérnöki gondolkozást megköveteli (ha az alkalmazás nem működik, akkor a hallgató nem teljesítette az elvárásokat), ezért a működő alkalmazás is pontot ér (20-25p), amit a működő alkalmazás képével tud bizonyítani. Kivételt képez ez alól, amikor az AWS valamilyen hibája miatt (általában LoadBalancernél tud ez a hiba jelentkezni) nem működik. Ekkor a megelőző lépések alapján járhat a pont.
A tárgy során használt dokumentumok
| Elérési útvonal | Fájlnév | cél alkalmazás | Cél fájlnév |
|---|---|---|---|
| Fájl:Weboldal.zip | ui.php | Felhasználói felület (UI) | index.php |
| ui_newproduct.php | Felhasználói felület (UI) | newproduct.php | |
| api.py | API | api.py | |
| networks.sql | MySQL import | - |
Ajánlott irodalom lista
Ajánlott online források, hivatkozások
A vastagon szedettek a ZH alatt is használhatók
- PHP dokumentáció: php.net [1]
- MySQL dokumentáció: dev.mysql.com [2]
- Python dokumentáció: python.org [3]
- AWS dokumentáció: docs.aws.amazon.com [4]
- Ubuntu Segédlet: help.ubuntu.com [5]
- Ubuntu Tutorial: ubuntu.com/tutorials [6]
A tantárgy menete
- Regisztráció az AWS rendszerében [7]
- EC2 létrehozása, szolgáltatások áttekintése, Linux alapismeretek ismétlése
- EC2 létrehozása, alkalmazások telepítése és konfigurálása, apache2 kiszolgáló, PHP környezet
- UI felület élesztése: AMI létrehozás, Auto Scaling Group, Load Balancer
- Teljes alkalmazás élesztése: MySQL adatbázis (RDS), Python környezet telepítés
- Teljes alkalmazás élesztése: VPC-be szervezés, eszközök kommunikációjának szabályozása
- Docker telepítés, első konténerek elindítása, Dockerfile felépítése, docker.io regisztráció, image feltöltés
- Dockerfile felépítése, alkalmazások létrehozása, indítása
- Docker Compose felépítés, networking, debuggolás
- Teljes alkalmazás élesztése Docker Compose segítségével
- Készülés ZH-ra, kérdések megbeszélése
- ZH
- PótZH