Unikernelek használata a Function as a Service futtatási modellben

OData támogatás
Konzulens:
Dr. Maliosz Markosz
Távközlési és Médiainformatikai Tanszék

Az FaaS felhő technológia gazdaságos mind a felhasználónak, mind az

üzemeltetőnek, mivel a felhasználó csak az általa létrehozott függvények hívásai után

köteles fizetni, a szolgáltatónak pedig nem kell állandóan futtatnia ezeket a

függvényeket, mint egy olyan esetben amikor a felhasználó virtuális gépeket bérel

(Infrastructure as a Service).

Az unikernelek már régóta jelen lévő techológiát képviselnek, újra érdekessé a

solo5 támogatása tette őket, aminek segítségével lényegesen gyorsabb indulási idők

érhetőek el, mint korábban a kevésbé specializált hypervisorokkal.

A feladatom az volt, hogy kombináljak egy Function as a Service (FaaS)

rendszert és egy unikernel implementációt. Az FaaS rendszerrel szemben

követelményként foglamazódott meg bennem, hogy ne használja a Kubernetes-t, mivel

így sokkal nehezebb let volna a számomra megfelelő módon módosítani. A kitűzött

feladat megvalósításához két alternatívát vizsgáltam, ezek az OpenWhisk és az Fn

voltak. Először az OpenWhisk-kel próbálkoztam az érettsége és a jó dokumentációja

miatt, de több hétnyi próbálkozás után úgy döntöttem átváltok az Fn-re, ami ugyan

kevésbé jól dokumentált, de lényegesen egyszerűbb.

A unikernel megvalósítással szemben az elvárásom az volt, hogy támogassa az

IBM solo5 nevű projektjét, ami gyakorlatilag egy hypervisor. A unikernelek között két

implementáció volt, ami támogatta a solo5-öt, a MirageOS és az IncludeOS, ezek közül

az IncludeOS volt az egyértelmű választásom, mivel az a C és C++ nyelveket

támogatja, míg a MirageOS az OCaml nylevet, amivel nincs tapasztalatom.

A feladatomat sikerült elvégeznem az IncludeOS és az Fn segítségével.

Lehetővé tettem az unikernelek futtatását és építését az Fn parancssori felületén. Ezek

után méréseket végeztem indulási időre, illetve processzor teljseítményre irányulóan.

Jelentős rész szól még a szakdolgozatban a solo5 projektről és annak modularitásáról,

illetve a mind az OpenWhisk, mind az Fn módosítások nélküli verziójáról, azok belső

működéséről és teljseítményükről.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.