Konténeralapú felhőplatformok

A tantárgy angol neve: Container Based Cloud Platform

Adatlap utolsó módosítása: 2023. április 18.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
BSc, Mérnökinformatikus szak, Specializáció kötelezően választható tárgy
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMAC14 5 2/2/0/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Simon Csaba,
4. A tantárgy előadója Dr. Simon Csaba, egyetemi docens, TMIT
Dr. Maliosz Markosz, egyetemi docens, TMIT
5. A tantárgy az alábbi témakörök ismeretére épít Programozás, Kommunikációs hálózatok
6. Előtanulmányi rend
Ajánlott:
Kötelező: A programozás alapjai 1-3, Kommunikációs hálózatok
Ajánlott: Szoftvertechnikák
7. A tantárgy célkitűzése A tárgy célja a modern, konténer alapú felhő rendszerek felépítésének bemutatása. A hallgató képes lesz áttekinteni egy felhő rendszer struktúráját, megérti a hálózati és virtualizációs megoldásait, a segítségével a fizikai eszközöket (hardverelemeket) egy, felhasználói igényeket rugalmasan támogató infrastruktúrát képes konfigurálni.
A tárgy első részében a felhők megvalósításának építőelemeit, a Linux alapú platformokat, különösen azok hálózati részleteit tekintjük át. Bemutatjuk a virtualizációs megoldásokat, valamint a konténereket orkesztráló Kubernetes rendszert. Végül gyakorlati példák segítségével ismertetjük, hogy milyen módon képes a rendszer az erőforrásokat a változó igények szolgálatába állítani.

A tantárgyat sikeresen teljesítő hallgató:
• (K2) megérti és átlátja különböző méretű és típusú IT hálózatok és a hozzájuk közvetlenül kapcsolódó szolgáltatások működését és az egyes komponensek szerepét.
• (K2) megismeri és megérti a különböző hálózati eszközök belső felépítését, működését és az ebből adódó lehetőségeket és kényszereket.
• (K3) képes önállóan megtervezni és kialakítani kis- és közepes méretű IT hálózatokat, képes beüzemelni az összes alapvető hálózati szolgáltatást.
• (K3) megismeri és használni tudja azokat a „szoftver szerszámokat", melyek segítségével lokalizálhatók az IT hálózatokban fellépő hibák, képes gyorsan elhárítani a hibás konfigurációkból adódó problémákat.
• (K2) megismeri és megérti az olyan új hálózati technológiákat, mint az SDN és NFV.
• (K1) ismertetni a virtualizációs technikákat, a hálózati virtualizációs megoldásokat, jellemző alkalmazási területeket és a különböző szolgáltatási modelleket
• (K2) elmagyarázni a hálózati funkció virtualizálás (NFV) koncepciót, motivációit és annak előnyeit, hátrányait
• (K3) tipikus (számítási, tárolási és analitikai) alkalmazások virtualizációja után az alkalmazás futtatásához szükséges virtualizációs környezet rendszerelemeinek meghatározására, a környezet konfigurálására

 

8. A tantárgy részletes tematikája Az előadások részletes tematikája:

1. Linux alapú platformok. Hálózatkezelés, egy csomag útja a rendszerben.
2. Hálózati eszközök belső felépítése, működése, operációs rendszere (pl. OpenWRT)
3. Alapvető segédeszközök, „szoftver szerszámok" (tcpdump, wireshark, iproute2, ifconfig, route, iptables, ...). Python script nyelv és gyakorlati alkalmazása.
4. Hálózati funkciók a gyakorlatban: lokális hálózatok manuális konfigurálása; NAT működése és konfigurálása (iptables); firewall működése és konfigurálása (iptables); DHCP (isc-dhcp-server); DNS (bind9); (zero-konfiguráció és protokolljai).
5. Erőforrás-virtualizáció alapjainak bemutatása, az erőforrás virtualizáció szintjei, alapvető koncepciók. Virtuális gépek és konténerek. KVM, QEMU, Docker
6. Hálózati eszközökben elérhető hardver és szoftver erőforrások virtualizációja és felhasználása.
7. Adatközpontokban elérhető erőforrások virtualizációja és megosztása, processzor virtualizáció, háttértár és memória virtualizáció, virtuális gépek, adatközpontok felépítése és működése, legfontosabb funkciók, API-k.
8. Konténerek orkesztrációja, OpenStack és Kubernetes.
9. Hálózatkezelés Dockerben, Kubernetesben, CNI.
10. Komplex szolgáltatás kezelés Kubernetesben: Service Mesh (istio, envoy).
11. Alkalmazások rugalmas erőforrásigényének kiszolgálása virtualizációs környezetben, skálázódás.
12. Mesterséges intelligencia (MI) szerepe a rendszer működésében. Skálázási döntések, erőforrás felhasználás előrejelzése. MI alapú vezérlés, optimalizálás. Intelligens felhők.
13. Felhő alapú szolgáltatások és analitika szolgáltatás minőségének (QoS) monitorozása és skálázódási kérdései (load balancing, high availability).
14. Virtualizáció szerepe a modern (5. és 6. generációs) mobil hálózati architektúrákban, hálózati funkciók virtualizálása (Network Funcion Virtualization - NFV).

A gyakorlatok/laborok részletes tematikája:


1. Hálózatok kialakítása, eszközök összekapcsolása (NAT, tűzfal, DHCP, DNS).
2. Hálózati topológia elemzése a „szoftver szerszámok"-kal (tcpdump, wireshark, iproute2, ifconfig, route, iptables, ...).
3. A Python script nyelv gyakorlati alkalmazása hálózati környezet kialakítása és üzemeltetése során
4. Software-Defined Networking (SDN) kontroller beállítása, Mininet emulációs környezetben.
5. Virtualizációs technológiák: virtuális gépek kezelése OpenStack rendszerben (flavor, instance, networks), OpenStack fő komponensek
6. Virtualizációs technológiák: konténerek kezelése Dockerben (kötetek, hálózatok kezelése)
7. Virtualizációs technológiák: konténerek kezelése Kubernetes klaszterben (pod, deployment, service)
8. Virtualizált elemek orkesztrációja: Heat orkesztráció OpenStack-ben
9. Virtualizált elemek orkesztrációja: podok skálázása Kubernetesben
10. Virtualizált elemek orkesztrációja: horizontális és vertikális skálázás Kubernetesben (HPA, VPA)
11. Konténerek kezelése publikus felhő rendszerekben. Például erőforrás foglalás, konténerek kezelése Amazon Web Services-ben
12. Szolgáltatások biztosítása Kubernetes rendszerben (pédlául istio).
13. Felhő rendszerek adaptációja a dinamikus hálózati és forgalmi viszonyokra, terheléselosztás (load balancing).
14. Szolgáltatások biztosítása 5G hálózatból - konténerek és VNF-ek (virtualized network function).

 

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A tárgy anyaga előadásokon és gyakorlatokon kerül ismertetésre heti 2 óra előadás és 2 óra gyakorlat ütemezésével.

Az előadások során az elméleti részek bemutatása és a gyakorlatokhoz szükséges anyagok magas szintű áttekintése történik.

A gyakorlatokon gyakorlatvezető segítségével történik vezetett feladatmegoldás, a tudás önálló elmélyítéséhez gyakorló feladatok kerülnek kiadásra, melyek a biztosított munkakörnyezetekben megoldhatók. A gyakorlatokon kiadott opcionális házi feladatokra a vizsgába beszámítandó bónusz pontok kaphatók maximum a vizsga pontszám 10 százalékáig.

A gyakorlatok másik része nyílt forráskódú platformokon (pl. Kubernetes) történik saját virtuális munkakörnyezetben.
Bizonyos gyakorlatok jelenléti, mások online formában kerülnek megtartásra.

10. Követelmények Szorgalmi időszakban: A szorgalmi időszakban az aláírás megszerzésének és a vizsgára bocsátásnak a feltétele a zárthelyi legalább elégségesre történő megírása. A ZH online platformon (pl. Google Quiz) de fizikai jelenlét mellett történik.
Vizsgaidőszakban: A vizsgaidőszakban az írásbeli vizsga online platformon (pl. Google Quiz) de fizikai jelenlét mellett történik. Elméleti tesztkérdések és mindenkinek testreszabott gyakorlati feladatok kerülnek kiadásra, melyek a biztosított munkakörnyezetekben oldhatók meg.
11. Pótlási lehetőségek Egy sikertelen zárthelyi a szorgalmi időszakban a pótzárthelyin pótolható. A sikertelen (pót) zárthelyi a pótlási héten különeljárási díj ellenében egy további alkalommal pótolható.
12. Konzultációs lehetőségek Az oktatóval történő egyéni egyeztetés alapján.
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra24
Felkészülés zárthelyire16
Házi feladat elkészítése 
Kijelölt írásos tananyag elsajátítása 
Vizsgafelkészülés54
Összesen150
15. A tantárgy tematikáját kidolgozta Dr. Simon Csaba, egyetemi docens, TMIT
IMSc tematika és módszer • IMSc hallgatóknak külön gyakorlati kurzust biztosítunk, ezek során emelt szintű feladatokat és problémákat tekintünk át. Külön házi feladatok is kiadásra kerülnek, melyek sikeres teljesítése esetén IMSc pontok kaphatóak.
• A zárthelyin, azok pótlásain és a vizsgákon emelt szintű többletfeladatok teljesíthetőek IMSc pontokért.
• Egyeztetett időpontban egy további, önkéntesen választható, emelt szintű foglalkozást biztosítunk, ahol a tárgy tematikájához szorosan kötődő, időszerű kutatási és fejlesztési problémákat és azok megoldásait ismertetjük. A cél az érdeklődő (elsősorban, de nem kizárólag IMSc-s) hallgatók motivációja a képzésük folytatására az MSc-n túl a PhD képzés keretei között.
IMSc pontozás Legfeljebb 25 IMSc pont szerezhető hallgatónkként az alábbiak szerint:

• Sikeresen megoldott opcionális házi feladatok: max. 15 IMSc pont.
• Sikeresen megoldott többletfeladat ZH-n (vagy a pótlásán): max. 5 IMSc pont. A többletfeladatokat csak akkor értékeljük, ha az összes többi feladat alapján jelest szerzett a hallgató az adott számonkérésen.
• Sikeresen megoldott többletfeladat vizsgán: max. 5 IMSc pont. A többletfeladatokat csak akkor értékeljük, ha az összes többi feladat alapján jelest szerzett a hallgató az adott számonkérésen.

Az IMSc pontokat az IMSc programban részt nem vevő hallgatók is elnyerhetik a fentiek szerint.