„EDU::GAMF::Felhőalapú-szolgáltatások” változatai közötti eltérés
(A 2. órai diasor belinkelve a felsorolás 2. pontjához) |
|||
| (9 közbenső módosítás ugyanattól a szerkesztőtől nincs mutatva) | |||
| 44. sor: | 44. sor: | ||
A projektfeladatra járó pont: '''70p''' | A projektfeladatra járó pont: '''70p''' | ||
'''A kiselőadásból és a | '''A kiselőadásból és a projektfeladatból 50-50% el kell érni a félév sikeres teljesítéséhez.''' | ||
== A tárgy során használt dokumentumok == | == A tárgy során használt dokumentumok == | ||
| 95. sor: | 91. sor: | ||
== Az előadás menete == | == Az előadás menete == | ||
# összetett: | # összetett: ([[Fájl:Felhoalapu-szolgaltatasok-1-ora-diak.pdf|diasor]]) | ||
#* Regisztráció AWS felületen | #* Regisztráció AWS felületen | ||
#* követelmények ismertetése | #* követelmények ismertetése | ||
#* bérelt szervertől (VPS) a felhő megoldásokig | #* bérelt szervertől (VPS) a felhő megoldásokig | ||
# Felhő ökoszisztéma | # Felhő ökoszisztéma ([[Fájl:Felhoalapu-szolgaltatasok-2-ora-diak.pdf|diasor]]) | ||
# Adatközpontok belső hálózata | # Adatközpontok belső hálózata | ||
# Erőforrás virtualizálás | # Erőforrás virtualizálás | ||
| 113. sor: | 109. sor: | ||
== A gyakorlat menete == | == A gyakorlat menete == | ||
# Regisztráció az AWS rendszerében [https://portal.aws.amazon.com/billing/signup#/start/email] | # Regisztráció az AWS rendszerében [https://portal.aws.amazon.com/billing/signup#/start/email] és alap szolgáltatások átbeszélése | ||
# EC2 | # EC2 telepítés, nginx + apache2 bevezetés, alap parancsok ismétlése (ls, nano, mcedit stb.) | ||
# Alkalmazás telepítése előre elkészített script segítségével + AMI, ASG, LB | |||
# | # RDS telepítés és alkalmazás integráció ellenőrzése | ||
# | # Docker alapok | ||
# | # Docker compose alapok | ||
# Docker | # Alkalmazás indítása Docker környezetben | ||
# | # IaC eszközök áttekintése | ||
# | # IaC eszközök áttekintése | ||
# | # MessageQueue eszközök használata | ||
# | # Projekt bemutató (6db) | ||
# | # Projekt bemutató (6db) | ||
# Projekt bemutató (6db) | |||
== Docker beadandó leírása == | == Docker beadandó leírása == | ||
| 153. sor: | 150. sor: | ||
<?php | <?php | ||
if (version_compare(phpversion(), '5.6.40', '>')) { | if (version_compare(phpversion(), '5.6.40', '>')) { | ||
printf("Az általad használt PHP verzió túl magas! Használj | printf("Az általad használt PHP verzió túl magas! Használj maximum 5-ös verziót!"); | ||
} else { | } else { | ||
printf("OK"); | printf("OK"); | ||
| 177. sor: | 174. sor: | ||
** [[EDU::GAMF::Felhőalapú-szolgáltatások::AWS|AWS]] | ** [[EDU::GAMF::Felhőalapú-szolgáltatások::AWS|AWS]] | ||
** [[EDU::GAMF::Felhőalapú-szolgáltatások::Docker|Docker]] | ** [[EDU::GAMF::Felhőalapú-szolgáltatások::Docker|Docker]] | ||
** [[EDU::GAMF::Felhőalapú-szolgáltatások::IaC|IaC]] | |||
* [[EDU::GAMF::Felhőalapú-szolgáltatások::Rövidítések|Rövidítések]] | * [[EDU::GAMF::Felhőalapú-szolgáltatások::Rövidítések|Rövidítések]] | ||
A lap jelenlegi, 2026. szeptember 20., 11:35-kori változata
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
Az Előadás második felében a hallgatók előadják korábban elkészített munkájukat egy a felhővel kapcsolatban saját maguk által kiválasztott témában. A kiselőadás nem lehet csupán bemutató jellegű, technikai információkat is tartalmaznia kell.
A kiselőadásra járó pont: 30p,
A gyakorlati részhez kapcsolódóan a hallgatók csoportos munkában készítenek el egy projektfeladatot, amelyben a következő pontok közül legalább 5-nek teljesülnie kell:
- legyen benne ASG és LB
- Legyen benne tárolás S3-ra
- Legyen legalább 2 EC2 szolgáltatás (pl. api, ui)
- Használjon RDS-t
- Használjon VPC
- Docker környezetben fusson az alkalmazás (akár az AWS ECS-ben is)
- Serverless megoldás
- Valamilyen orchestrator használata (kubernetes, swarm stb., akár beépített verziót is)
A projektfeladat végrehajtása során a generatív mesterséges intelligencia használata engedélyezett és javasolt.
A projektfeladatra járó pont: 70p
A kiselőadásból és a projektfeladatból 50-50% el kell érni a félév sikeres teljesítéséhez.
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 | - | |
| Fájl:Zhminta.pdf | - | - | - |
| Fájl:Gamf-aws-docker-buil.zip | - | - | - |
Ajánlott irodalom lista
- Tanenbaum - Operációs rendszerek
- Tanenbaum - Számítógépes hálózatok
- Emett Dulaney - Linux All in One
- Kónya László - Számítógépes hálózatok
- Petrényi József
- TCP/IP 1 óra alatt
- TCP/IP alapok I. kötet
- TCP/IP alapok II. kötet
- Dr. Guta Gábor - Szoftverfejlesztés okosan Pythonnal
- Brad Dayley - Python zsebkönyv
- Kozmayer Viktor - PHP és MySQL az alapoktól
- Richard Blum - PHP, MySQL & Javascript 7 könyv az 1-ben
- Bódy Bence - Az SQL példákon keresztül (MSSQL)
- Dan C. Marinescu - Cloud Computing (Theory and Practice)
Ajánlott online források, hivatkozások
- PHP dokumentáció: php.net
- MySQL dokumentáció: dev.mysql.com
- Python dokumentáció: python.org
- AWS dokumentáció: docs.aws.amazon.com
- Ubuntu Segédlet: help.ubuntu.com
- Ubuntu Tutorial: ubuntu.com/tutorials
Az előadás menete
- összetett: (Fájl:Felhoalapu-szolgaltatasok-1-ora-diak.pdf)
- Regisztráció AWS felületen
- követelmények ismertetése
- bérelt szervertől (VPS) a felhő megoldásokig
- Felhő ökoszisztéma (Fájl:Felhoalapu-szolgaltatasok-2-ora-diak.pdf)
- Adatközpontok belső hálózata
- Erőforrás virtualizálás
- Adattárolás a felhőben
- Felhőbiztonság
- Docker
- Kiselőadások
- Kiselőadások
- Kiselőadások
- Kiselőadások
Az előadás menete a Dan C. Marinescu - Cloud Computing (Theory and Practice) című könyv alapján került kidolgozásra, mely a könyvtárban megtekinthető / kölcsönözhető. Az általunk érintett témakörök nagyjából 150 oldalnyi terjedelemben jelennek meg a könyvben. Az oldalszámok az előadásjegyzetek oldalon találhatók.
A gyakorlat menete
- Regisztráció az AWS rendszerében [1] és alap szolgáltatások átbeszélése
- EC2 telepítés, nginx + apache2 bevezetés, alap parancsok ismétlése (ls, nano, mcedit stb.)
- Alkalmazás telepítése előre elkészített script segítségével + AMI, ASG, LB
- RDS telepítés és alkalmazás integráció ellenőrzése
- Docker alapok
- Docker compose alapok
- Alkalmazás indítása Docker környezetben
- IaC eszközök áttekintése
- IaC eszközök áttekintése
- MessageQueue eszközök használata
- Projekt bemutató (6db)
- Projekt bemutató (6db)
- Projekt bemutató (6db)
Docker beadandó leírása
A feladat célja, hogy a hallgatók találkozzanak azokkal a pozitívumokkal, amelyeket a Docker környezet nyújt számunkra. Ezt olyan két - igen egyszerű - alkalmazáson keresztül szeretném szemléltetni, amelyek nem azonos PHP verzióval működnek, de azokat egy szerveren szeretnénk telepíteni.
Bár a PHP nyelv a nagy hangok szerint kihaló félben van, a régi alkalmazások üzemeltetése ma is elvárható feladat, ráadásul a hangokkal ellentétben ma is készülnek új alkalmazások a környezetben.
Figyelem!! A példában egy egyszerű kód szerepel, de a feladat hétköznapi problémát dolgoz fel!
Feladatpontok docker nélküli megoldáshoz
- Apache2 / Nginx kiszolgáló telepítése
- Különböző PHP verziók integrálása a kiszolgálóba
- Kód telepítése a kiszolgálónak megfelelő helyre
- Mindkét alkalmazásnak „OK” üzenetet kell mutatnia
Feladatpontok dockerrel történő megoldáshoz
- Apache2 / Nginx kiszolgáló telepítése
- Különböző PHP verziójú Docker image keresése / telepítése
- Kód injektálása a megfelelő könyvtárba a konténeren belül
- Reverse Proxy konfigurálása kiszolgálón
- Mindkét alkalmazásnak „OK” üzenetet kel mutatnia
A forráskódban egyszerűen elérhető, hogy mindkét kód „OK” üzenetet mutasson, de annak módosításával történő megoldás azonos a bonyoultabb (több 1000, akár több 10.000-1.000.000) soros kódok migrálásával az új PHP verziónak megfelelően, így amikor ezt a lépést választjuk, akkor gondoljuk át, hogy ez mennyire lehet egyszerű feladat!
Forrás
PHP5
<?php
if (version_compare(phpversion(), '5.6.40', '>')) {
printf("Az általad használt PHP verzió túl magas! Használj maximum 5-ös verziót!");
} else {
printf("OK");
}
?>
PHP7
<?php
if (version_compare(phpversion(), '7.0.0', '<')) {
printf("Az általad használt PHP verzió túl alacsony! Használj minimum 7-es verziót!");
} else {
printf("OK");
}
?>
Jegyzetek
- Előadás
- Gyakorlat
- Rövidítések