Cloud Native Technologies and Applications szakmai műhely

Cloud native, Kubernetes, microservice, service mesh, OpenFlow: olyan technológiák, amik alapvetően változtatják meg a jövő alkalmazásait, azok fejlesztését és üzemeltetését. A legnagyobb tech óriások, mint a Google, Microsoft vagy az Amazon, mellett számos kis cég és startup is részt vesz az új ökoszisztéma kialakításában, mivel az open source alapokon való építkezés bárki számára lehetővé teszi az új ötletek kontributálását. Ebben az új világban a konténerekből felépített alkalmazásainkat egy felhő platform menedzseli, ami képes az aktuális igényekhez igazodóan indítani/leállítani/átmozgatni konténerek százait, míg a konténerek közötti folyamatos kommunikációt szoftver-alapú hálózatok oldják meg. Szeretnéd megérteni és kipróbálni ezeket az új technológiákat? Esetleg hatékonyabbá tenni a működésüket? Vagy megnézni, mit nyer velük pl. egy AR/VR alkalmazás? Szeretnél csatlakozni az Ericsson kutatási központjának egyetemi műhelyéhez, ahol ezeket kutatjuk? Akkor csatlakozz csapatunkhoz!

Egy kis technikai háttér

A cloud native megközelítés számos technológiát foglal magában, melyek azt célozzák, hogy úgy fejlesszük, állítsuk össze és üzemeltessük alkalmazásainkat, hogy azok ki tudják használni a modern felhő számítási modellben és felhő platformokban rejlő lehetőségeket. Ide tartoznak a Platform as a Service, microservice, software containers, DevOps, CI/CD, stb. technológiák és koncepciók. Egy másik fontos eleme az új ökoszisztémának, hogy open source szoftver komponensekből építkezik, ami lehetővé teszi bárki számára a kontributálást, esetleg egy új ötlet mentén egy startup indítását. A kutatócsoportban három különböző síkon zajlanak a tevékenységek: (i) új alkalmazásokat fejlesztünk vagy illesztünk cloud native platformokhoz, (ii) különböző felhő platformok képességeit és szolgáltatásait vizsgáljuk (privát és publikus megoldásokat), (iii) a felhő platformok alatt működő hálózatok (és virtuális hálózatok) által biztosított új szolgáltatásokat elemezzük és teszünk javaslatokat azok fejlesztésére. A kutatócsoport az Ericsson kutatási központjával szoros kooperációban működik, és széleskörű nemzetközi együttműködésben (University of California, Berkeley, USC, KTH, University of Vienna, Amazon, Google, EU H2020 projektek) kutatja az új technológiák jövőjét.

Ebben az új világban számos olyan alkalmazás valósítható meg, ami korábban elképzelhetetlen volt. Ezeket a szoftvereket már eleve úgy fejlesztjük, hogy képesek legyenek kihasználni az alattuk működő felhő platformok által biztosított előnyöket és képességeket. A kutatócsoportban jelenleg több ilyen alkalmazást is fejlesztünk és vizsgálunk. Például AR/VR alkalmazásokat jövőbeli gyárakhoz és csapatsportok támogatásához, drónvezérlő alkalmazásokat különféle célokra.

A szoftver konténerekből összeállított microservice alapú alkalmazásokat az alattuk üzemelő felhő platformok menedzselik. Ez azt jelenti, hogy pl. a Kubernetes rendszer dönti el, hogy egy adott konténerből éppen hány példányra van szükség ahhoz, hogy ki tudjuk szolgálni az aktuális felhasználókat. A különböző platformok eltérő képességekkel és szolgáltatásokkal rendelkeznek, ezért az új alkalmazásokat különböző publikus és privát felhő platformokon üzemeljük be és értékeljük a működésüket. A kutatócsoport a közelmúltban nyert el egy 25,000 dolláros támogatást az Amazontól, ami gyakorlatilag korlátlan lehetőséget biztosít az új ötletek és elérhető szolgáltatások kipróbálására.

Az útvonalválasztók és a többi hálózati eszközök hagyományosan egy monolitikus zárt egységet alkottak, amelyeket megvásárlásuk után ugyan fel lehetett konfigurálni, de működésüket alapvető módon nem lehetett megváltoztatni. Ezzel a megközelítéssel szakított a Software Defined Networking (SDN) paradigma, amely a számítógép-hálózat működését szoftveres alapokra helyezi. Jó példa erre az OpenFlow protokoll. Az OpenFlow protokollt támogató útvonalválasztók csomagtovábbítási szabályait egy távoli kontroller-alkalmazás határozza meg, de a tényleges csomagtovábbítást már a speciális hardveres megoldásokkal felgyorsított router végzi. Így az útvonalválasztó egyszerűbb és olcsóbb lehet, a szoftveres kontroller-alkalmazás miatt pedig az új ötletek gyorsabban kerülhetnek át a gyakorlatba. Ez a szoftver-alapú működés teszi lehetővé, hogy a hálózat képes legyen "lekövetni" a dinamikusan változó (induló, leálló és átmozgatott) konténereket és biztosítani közöttük a kommunikációt.

A CPU-k fejlődés lehetővé tette, hogy számos hálózati funkciót (tűzfalakat, cache-eket, titkosítókat, ...) is kizárólag szoftveresen valósítsanak meg. Itt a mérnökökre és a kutatókra váró kihívás egy olyan rendszert építeni, amiben a hálózati funkciók (VNF) könnyedén elindíthatóak, menedzselhetőek; ami például automatikusan skálázódik a forgalmi igényeknek megfelelően. Ezek az új technológiák fontos részét fogják képezni pl. a jövő 5G (és utána következő) rendszereinek.

Lehetséges feladatok a műhelyben

  • AR/VR alkalmazások vagy drónvezérlő szoftverek fejlesztése, illesztése cloud native platformokhoz
  • Cloud native alkalmazások tesztelése, vizsgálata különböző platformokon; platformok összehasonlítása
  • Function as a Service, serverless megoldások vizsgálata és kiértékelése különböző publikus és privát platformokon
  • Virtulális hálózati technológiák, virtulizált hálózati funkciók, privát és publikus felhő-architektúrák megismerése, konfigurálása, mérése, teszthálózatban való kiértékelése, demonstrációk készítése.
  • Hálózati vezérlők programozása, pár soros Python szkriptektől a komplex orkesztrációig.
  • A programozható adatsíkok konfigurálása, mérése, programozása, és összehasonlító vizsgálata.
  • A csomagosztályozók elmélete és gyakorlata.
  • Saját ötletek kidolgozása, akár startup-ok inditása.

Kapcsolat

Műhelyvezető: Sonkoly Balázs (IE.349, sonkoly@tmit.bme.hu)