-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmethodologie.tex
executable file
·31 lines (23 loc) · 6.15 KB
/
methodologie.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
%%=============================================================================
%% Methodologie
%%=============================================================================
\chapter{Methodologie}
\label{ch:methodologie}
%% TODO: Hoe ben je te werk gegaan? Verdeel je onderzoek in grote fasen, en
%% licht in elke fase toe welke stappen je gevolgd hebt. Verantwoord waarom je
%% op deze manier te werk gegaan bent. Je moet kunnen aantonen dat je de best
%% mogelijke manier toegepast hebt om een antwoord te vinden op de
%% onderzoeksvraag.
\section{Voorbereiding}
De voorbereiding bestond uit het verdiepen in het onderwerp, vooral door YouTube video's te kijken, artikels en blogs te lezen. Vooraleer er onderzoek kon gedaan worden naar serverless was het van belang op de hoogte te zijn van de cloud computing principes, deze werden aangeleerd aan de hand van een course op Pluralsight waarin de basisconcepten van cloud computing werden uitgelegd. Omdat dit onderwerp volledig nieuw was, zowel cloud computing als serverless werd er geregeld nieuwe kennis verworven door verschillende bronnen te raadplegen en zelf te experimenteren.
\section{Stand van zaken}
Vervolgens werd de literatuurstudie geschreven. De literatuurstudie vat aan met een uiteenzetting over cloud computing concepten en principes om vervolgens verder te gaan op serverless. Het volledige serverless plaatje wordt behandeld en gecapteerd aan de hand van duidelijke voorbeelden met afbeeldingen die verschillende componenten visueel voorstellen. De literatuurstudie is geschreven op basis van boeken omtrent cloud computing en serverless infrastructuur. Vanuit wetenschappelijke artikels werden juiste feiten gehaald om vervolgens zo nauwkeurig mogelijke artikels, conferenties en documentatie te verzamelen die inzicht geven in het onderwerp.
\section{Uitwerking}
Bij het schrijven van hoofdstuk \ref{ch:uitwerking} wordt de zoektocht naar
serverless frameworks, die in aanmerking komen voor deze bachelorproef, beschreven. Het hoofdstuk vat aan met een inleiding waarin wordt uitgelegd waarnaar er op zoek wordt gegaan. De zoektocht naar mogelijke open source frameworks is vertrokken vanuit een requirements analyse waarin alle requirements opgelegd door Nubera in vermeld staan. Op basis van enkele requirements werden frameworks die in aanmerking komen gekozen. Vervolgens werden de frameworks aan de hand van de requirements ten opzichte van elkaar vergeleken en werd er een lijst opgemaakt waarin de meest veelbelovende frameworks werden gerangschikt van boven naar onder. Op basis van de rangschikking werd het meest veelbelovende framework gekozen samen met Fission, dit werd reeds vastgelegd door Nubera. Het gekozen framework en Fission vormen samen de short list. In de short list wordt verder onderzoek gedaan naar de frameworks, wat ze inhouden en hoe de architectuur ervan eruitziet. Na de zoektocht worden beide frameworks opgezet in een Proof of Concept om deze tegenover elkaar af te wegen.
\section{Proof of Concept}
In de Proof of Concept komen twee veelbelovende open source Kubernetes native serverless frameworks aan bod. De frameworks werden in vorig hoofdstuk reeds besproken. In de Proof of Concept wordt een lokale Kubernetes cluster opgezet aan de hand van Minikube. De cluster is de fundering voor de frameworks, deze voorziet als het ware de onderliggende infrastructuur inclusief het container orkestratieplatform (Kubernetes). Vervolgens wordt er een demofunctie geschreven in Python lokaal uitgewerkt die de werking van de frameworks zal demonstreren. De demofunctie zal later voor beide frameworks worden aangepast conform aan de template die de serverless platformen verwachten. De werkwijze die doorlopen wordt voor beide frameworks is dezelfde. Er wordt gestart met de installatie van het framework, dit is geautomatiseerd aan de hand van een Bash shell script dat alle uit te voeren taken bevat voor het opzetten van het framework. Vervolgens wordt elk framework in detail besproken, de demofunctie die eerder werd opgesteld wordt gedeployed conform aan de eisen die het framework stelt. Nadien wordt besproken hoe functies uitgevoerd kunnen worden. Het gebruik van het framework wordt eveneens behandeld, de CLI tools, de UI en de ingebouwde Prometheus monitoring komen aan bod. Beide frameworks voorzien schaalbaarheid van functies, dit wordt uitvoerig besproken. Als laatste worden er gegevens verzameld die inzicht geven in de snelheid van de frameworks. De executietijd van de demofunctie wordt gemeten voor elk framework, daarnaast wordt er ook een extra functie toegevoegd om meer inzicht te krijgen in de snelheid van de frameworks. In de PoC worden alle gevolgde werkwijzen gedetailleerd beschreven en ondersteund door bijhorende broncode en resultaten. De Proof of Concept is het uitgangspunt om een concrete vergelijking tussen de serverless platformen te maken in overeenstemming met de eerder gecapteerde requirements.
\section{Vergelijking}
Hoofdstuk ~\ref{ch:vergelijking-frameworks} vergelijkt de behandelde frameworks op basis van de uitgevoerde experimenten uit de Proof of Concept. De resultaten en inzichten bekomen uit de Proof of Concept worden meegenomen in dit hoofdstuk om beide frameworks tegenover elkaar af te wegen. Op basis van gecapteerde resultaten wordt er dataverwerking uitgevoerd met R. De dataverwerking geeft inzicht in de uitvoeringstijd van functies op beide frameworks. De uitkomst en ervaring, die werd opgedaan tijdens het opzetten van de experimenten, worden vergeleken voor beide frameworks. Het hoofdstuk vormt een synthese die aanzet geeft tot het vormen van een conclusie en antwoord op de onderzoeksvragen. In deze vergelijking komen geen nieuwe aspecten voor, maar enkel aspecten die werden waargenomen doorheen het onderzoek.
\section{Conclusie}
In het laatste hoofdstuk werd er op basis van de waarnemingen een conclusie gevormd. De onderzoeksvragen werden beantwoord gebaseerd op de resultaten uit hoofdstuk~\ref{ch:proof-of-concept} en hoofdstuk~\ref{ch:vergelijking-frameworks}. Om de conclusie te vormen werden alle geobserveerde aspecten nog eens met elkaar vergeleken op basis van de vooropgestelde requirements die Nubera heeft opgelegd. Als laatst werd er ook aanzet gegeven voor verder onderzoek in de toekomst.