11 Commits

Author SHA1 Message Date
5529012e75 kleine toelichting toegevoegd 2022-06-15 23:05:44 +02:00
86d72cd5c7 feedback patrick en jos 2022-06-15 20:24:10 +02:00
02acf3e3f6 misc: grammaticale foute verbeterd 2022-06-14 17:30:21 +02:00
fc185c1035 Patrick feedback 2022-06-14 01:31:44 +02:00
7da27bd070 changelog bijgewerkt 2022-06-13 16:38:17 +02:00
f5a8517479 meerdere wijziginen 2022-06-13 16:34:32 +02:00
8ec89f5e5a adviesrapport toegevoegd als submodule 2022-06-13 16:33:31 +02:00
aa74622618 onderzoeksrapport geupdate 2022-06-10 21:49:33 +02:00
96844423ee eerste versie 2022-06-10 21:48:59 +02:00
b328149ee3 submodules toegevoegd 2022-06-10 21:48:26 +02:00
29288db4f7 format naar 2 column 2022-06-09 14:59:49 +02:00
19 changed files with 441 additions and 109 deletions

12
.gitmodules vendored Normal file
View File

@ -0,0 +1,12 @@
[submodule "onderzoeksrapport"]
path = onderzoeksrapport
url = https://git.remmen.net/Thesis/onderzoeksrapport.git
[submodule "plan-van-aanpak"]
path = plan-van-aanpak
url = https://git.remmen.net/Thesis/plan-van-aanpak.git
[submodule "ontwerp"]
path = ontwerp
url = https://git.remmen.net/Thesis/ontwerp
[submodule "adviesrapport"]
path = adviesrapport
url = https://git.remmen.net/Thesis/adviesrapport

View File

@ -23,3 +23,7 @@ Of met `latexmk`:
1. `git remote add upstream <template git uri>`
2. `git fetch upstream`
3. `git merge upstream/master`
## Commando's
* Aantal woorden per chapter/sectie/etc: `texcount -sum -merge -q -sub=section main.tex`

1
adviesrapport Submodule

Submodule adviesrapport added at 7dcb2eef23

View File

@ -1,38 +0,0 @@
@article{einstein,
author = "Albert Einstein",
title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]",
journal = "Annalen der Physik",
volume = "322",
number = "10",
pages = "891--921",
year = "1905",
DOI = "http://dx.doi.org/10.1002/andp.19053221004",
keywords = "physics"
}
@book{dirac,
title={The Principles of Quantum Mechanics},
author={Paul Adrien Maurice Dirac},
isbn={9780198520115},
series={International series of monographs on physics},
year={1981},
publisher={Clarendon Press},
keywords = {physics}
}
@online{knuthwebsite,
author = "Donald Knuth",
title = "Knuth: Computers and Typesetting",
url = "http://www-cs-faculty.stanford.edu/~uno/abcde.html",
keywords = "latex,knuth"
}
@inbook{knuth-fa,
author = "Donald E. Knuth",
title = "Fundamental Algorithms",
publisher = "Addison-Wesley",
year = "1973",
chapter = "1.2",
keywords = "knuth,programming"
}

View File

@ -1,6 +1,29 @@
\begin{changelog}[author=Martijn Remmen,
sectioncmd=\section*]
\shortversion{v=1.0, date=\textbf{CHANGEME}, changes=Initiële versie}
\shortversion{v=1.0, date=2022-06-10, changes=Initiële versie}
\begin{version}[v=2.0, date=2022-06-13]
\added
\item Abstract
\item Theoretisch Kader
\item Discussie
\changed
\item Dubbele tekst weggehaald in \ref{subsec:continuous_practices}
\item \textit{PK feedback} - Introductie bijgewerkt.
\item \textit{PK feedback} - Gedeelte van de 'data-analyse' methode verplaatst naar de resultaten.
\item Resultaten
\end{version}
\begin{version}[v=3.0, date=2022-06-14]
\changed
\item Toegelicht waarom Ansible automatiseringen lastig te testen zijn
\item Cyclussen van DSR beschreven in de context van de opdracht.
\item \textit{PK feedback} - Introductie bijgewerkt
\end{version}
\end{changelog}

View File

@ -1,18 +1,31 @@
\chapter{Introductie}
\section*{Introductie}
\section{Aanleiding}
Het Expert Team Networking van KEMBIT verleent netwerkdiensten aan haar klanten. De netwerken die worden beheerd zijn zeer divers en kunnen sterk verschillen in complexiteit en schaal. Zo heeft het team netwerken in onder andere de zorgsector en grootschalige campusterreinen in beheer.
\begin{itemize}
\item Wat doet KEMBIT?
\item Wat doet ETN?
\item Stakeholders en opdrachtgever
\item Probleem, behoefte of kans
\end{itemize}
Het uitvoeren van beheerwerkzaamheden op een groot aantal netwerkapparaten kan onnodig veel tijd kosten door het uitvoeren van repetitieve taken. Het uitvoeren van dit soort taken is foutgevoelig en inefficiënt.
\section{Doelstelling}
% Het uitvoeren van beheerwerkzaamheden op een groot aantal netwerkapparaten kan onnodig veel tijd kosten door de beheersoverhead die optreed bij het verbinden en configureren van elk individueel apparaat . Het uitvoeren van dit soort taken is foutgevoelig en inefficiënt.
% Het uitvoeren van beheerwerkzaamheden op een groot aantal netwerkapparaten kan onnodig veel tijd kosten door de beheersoverhead die optreed bij het verbinden met elk individueel apparaat en vervolgens configureren hiervan.
Deze bevindingen zijn de drijfveer van het Expert Team Networking om meer automatisering toe te passen in de dagelijkse werkzaamheden. Dit heeft in het verleden ertoe geleid om te experimenteren met het ontwikkelen en in gebruik nemen van diverse tools die engineers ondersteunen in het (semi-) automatisch uitvoeren van beheerwerkzaamheden.
In de praktijk is echter gebleken dat het gebruiken van deze tools afwisselend succes heeft onder medewerkers. En naarmate gewenste functionaliteiten toenemen en visie voor een selfservice portal is ontstaan, wordt gezocht naar een nieuwe, efficiëntere manier om netwerkautomatisering te realiseren.
%Om deze nieuwe manier van netwerkautomatisering mogelijk te maken wordt naar Ansible gekeken door het Expert Team Networking. Zo zijn diverse Proof of Concepts gerealiseerd die bepaalde functionaliteiten demonstreren. Ondanks de veelbelovende aard van Ansible wordt tot op vandaag nogsteeds geen gebruik gemaakt van Ansible door engineers van het Expert Team Networking.
Om deze nieuwe manier van netwerkbeheer mogelijk te maken wordt door het team verwacht dat het aannemen van nieuwe werkwijzes en technieken de adoptie van netwerkautomatisering kunnen bevorderen.
De doelstelling van dit onderzoek is om KEMBIT te adviseren in de adoptie van tools en werkwijzes die netwerkautomatisering mogelijk maken of verhinderen.
% Wat doet KEMBIT?
% Wat doet ETN?
% Stakeholders en opdrachtgever
% Probleem, behoefte of kans
% Wat wil de opdrachtgever bereiken
% Eventuele randvoorwaarden en/of requirements
% Wat moet het Proof of Concept doen
\begin{itemize}
\item Wat wil de opdrachtgever bereiken
\item Eventuele randvoorwaarden en/of requirements
\item Wat moet het Proof of Concept doen
\end{itemize}

View File

@ -1,8 +1,16 @@
\chapter{Theoretisch kader}
\section*{Theoretisch kader}
\begin{itemize}
\item data types
\item APIs
\item declaratief / imperatief
\item Ansible
\end{itemize}
Het Expert Team Networking beheert honderden netwerkapparaten voor diverse klanten op een handmatige manier. Dit stimuleert het team om te zoeken naar technieken en werkwijzes om een efficiëntere manier van netwerkbeheer mogelijk te maken.
Er bestaan tools om op een (semi-) geautomatiseerde manier netwerkbeheer uit te voeren. Daarnaast bestaan er ook werkwijzes en principes die gebruikmaken van software development technieken om een nieuwe manier van beheer te verrichten. Deze technieken en werkwijzes zijn meer gecentreerd rond het gebruiken van automatisering en het produceren en onderhouden van code. Dit in tegenstelling tot de dagelijkse werkzaamheden van KEMBIT.
De vraag is hoe KEMBIT haar eigen manier van netwerkbeheer kan innoveren door het gebruiken van tools en het aannemen van werkwijzes. Daarnaast welke werkwijzes en tools relevant zijn voor het bereiken van de gewenste innovaties in netwerkbeheer en hoe deze innovaties geïmplementeerd kunnen worden in de huidige werkwijzes van het team.
% Het theoretisch kader beschrijft de resultaten van een (quick) literatuurscan waarmee de uit te
% voeren opdracht wordt geclassificeerd op basis van:
% a) het probleem, de kans of behoefte in het toepassingsdomein,
% b) de (mogelijke) oplossing(en)
% c) het innovatieve karakter
% De resultaten van de literatuurscan tonen enerzijds aan tot welke categorie het probleem behoort en
% anderzijds welke (vanuit bestaand werk, dus breed gedragen) onzekerheden (t.a.v. aanpak en/of
% eindresultaat) binnen de opdracht bestaan.

View File

@ -1,9 +1,69 @@
\chapter{Methode}
\section*{Methode}
Om informatie te verzamelen voor het adviseren van KEMBIT in het adopteren en realiseren van automatie is gebruik gemaakt van diverse methodes. Namelijk, een survey, interview en data-analyse uitgevoerd om inzichten te krijgen in de wensen, ervaring, visie en tijdsverdeling van het team. Deze resultaten worden verwerkt en geanalyseerd middels een root cause analysis. Bevindingen van de root cause analysis leiden tot inzichten in de situatie van het Expert Team Networking en hun eisen en wensen.
\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{figures/onderzoeksopzet.pdf}
\caption{Relatie tussen onderzoeksmethodes}
\label{fig:onderzoeksmethodes}
\end{figure}
Door het uitvoeren van een literatuurstudie worden bestaande praktijken, oplossingen en informatie verzameld waarmee bevindingen van de analyse kunnen worden onderbouwd of inzicht geven in mogelijke oplossingen. In het ontwerp worden deze mogelijkheden afgewogen op basis van de situatie, wensen en eisen van de opdachtgever. Vervolgens wordt een Proof of Concept gerealiseerd die een gedeelte van het ontwerp demonstreerd.
De samenhang van de onderzoeksmethodes is te zien in figuur \ref{fig:onderzoeksmethodes}
\subsection*{Survey}
Om een beeld te krijgen van de mening en ervaring van medewerkers van het Expert Team Networking over het toepassen van automatisering is een survey afgenomen.
In de survey worden open en gesloten vragen gesteld zodat de deelnemers hun volledige mening kunnen uiten aan de hand van het onderwerp.
\subsection*{Data-analyse}
Er is een data-analyse uitvoerd om inzichten te krijgen in de tijdsverdeling van het uitvoeren van de netwerkwerkzaamheden. Dit soort rapportages waren nog niet beschikbaar in het bedrijf. De inzichten die de data-analyse produceert wordt gebruikt om te bepalen waar het toepassen van automatisering het meest effectief is.
De analyses zijn uitgevoerd op changes en incidenten die zijn aangemaakt in een periode van twee jaar. Hierin worden items meegenomen van alle klanten en type werkzaamheden, zolang deze zijn afgehandeld door het Expert Team Networking.
\subsection*{Interview}
De opdrachtgever is geïnterviewd om een beeld te krijgen van reeds bestaande automatisering, bevindingen omtrent reeds bestaande automatisering, visie omtrent automatisering, eisen, wensen en situatie van het Expert Team Networking. Het interview is semigestructureerd uitgevoerd, dit betekent dat er doorgevraagd is op basis van de antwoorden. Hierdoor kan de interviewer naar eigen inzicht verder ingaan op eventuele antwoorden die relevant zijn in het project.
\subsection*{Literatuurstudie}
In de literatuurstudie is gezocht naar bestaande kennis en ervaringen gerelateerd aan automatisering, werkwijzes en technieken. Op deze manier wordt de innovatie van het onderzoek gewaarborgd door het gebruik van bestaande kennis en ervaringen.
Gedurende de literatuurstudie worden verschillende zoekmethodes gehanteerd, namelijk:
\begin{itemize}
\item Survey
\item Daa-analyse
\item Interview
\item Root Cause analysis
\item Proof of Concept
\end{itemize}
\item \textit{Sneeuwbalmethode} - Het doorzoeken op inhoudelijke resultaten van vorige zoekopdrachten.
\item \textit{Parelgroeimethode} - Het doorzoeken op zoekresultaten (niet inhoudelijk, maar het gebruiken van nieuwe zoektermen op basis van zoekresultaten)
\item \textit{Citatiezoeken} - Zoeken naar publicaties welke de gevonden publicatie citeert. Op deze manier kunnen nieuwe publicaties over een vergelijkbaar onderwerp worden gevonden.
\end{itemize}
\subsection*{Root Cause Analyse}
Het doel van een Root Cause Analyses is om het de oorzaak of oorzaken van een bepaald probleem te vinden. Deze methode wordt gebruikt in dit onderzoek om inzicht te krijgen in de oorzaken voor de lage adoptie van automatiseringstools door het Expert Team Networking.
Op de bevindingen van deze methode worden adviezen gegeven voor het adresseren van deze oorzaken en uiteindelijk het probleem (grotendeels) verhelpen.
\subsection*{Hevner Design Science Research}
Design Science research (afgekort \textit{'DSR'}) is een framework waarmee iteratief onderzoek kan worden uitgevoerd met als doel om een nieuwe dienst of product te creëren \cite{hevner2004dsr}. De doelstelling van het gebruiken van deze methode is een basis werkstructuur aan te houden die de combinatie tussen onderzoek en het produceren van producten en/of diensten benadrukt. Hierdoor wordt de uiteindelijke kwaliteit van het artifact verhoogd.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{figures/hevner-dsr-cycle.pdf}
\caption{Design Science Research Cycles \cite{hevner2007three}}
\end{figure}
\textbf{The Relevance Cycle} In deze cyclus worden wensen en eisen van het team en opdrachtgever opgehaald, het doel van deze cyclus is om ervoor te zorgen dat de uiteindelijke oplossing aansluit bij het probleemdomein. Dit wordt gedaan door het uitvoeren van een interview, survey en data-analyse.
\textbf{The Rigor Cycle} In deze cyclus wordt bestaande informatie verzameld om te garanderen dat het project innovatief is. Om dit te doen is een literatuurstudie uitgevoerd. In deze studie worden mogelijkheden onderzocht van automatisering, technieken en werkwijzes die relevant zijn voor het project.
\textbf{The Design Cycle} In deze cyclus wordt op basis van de verzamelde informatie uit de Rigor en Relevance cyclussen een analyse uitgevoerd, een ontwerp gemaakt voor een systeem en adviezen gegeven op basis van deze analyse.

View File

@ -1,8 +1,157 @@
\chapter{Resultaten}
\section*{Resultaten}
Dit hoofdstuk documenteert de resultaten van het onderzoek.
\subsection*{Visie en wensen}
Het Expert Team Networking is een zelfsturend team binnen KEMBIT. En bepaald daarom haar eigen visie. Daarom is een survey afgenomen van de medewerkers van dit team.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{survey_pie_meer_automatisering_mening.pdf}
\caption{Antwoord op de vraag over het meer gebruikmaken van automatisering in de dagelijkse werkzaamheden.}
\label{fig:survey_pie_meer_automatisering_mening}
\end{figure}
In afbeelding \ref{fig:survey_pie_meer_automatisering_mening} is te zien dat het Expert Team Networking gelooft dat automatisering een positief effect heeft op de kwaliteit en tijdigheid van hun dagelijkse werkzaamheden. Daarnaast blijkt uit het antwoord dat medewerkers graag meer gebruik willen maken van automatiseringstools. Als reden wordt voornamelijk voor tijdsbesparing gekozen (afbeelding \ref{fig:survey_waarom_automatiseren}).
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{survey_waarom_automatiseren.pdf}
\caption{Waarom medewerkers meer gebruik willen maken van automatiseringstools}
\label{fig:survey_waarom_automatiseren}
\end{figure}
Uit de surveyvraag in afbeelding \ref{fig:survey_leren_automatiseren} blijkt dat de medewerkers het als moeilijk ervaren om te leren over het toepassen van automatiseringstools.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{survey_leren_automatiseren.pdf}
\caption{Is het gemakkelijk om te leren over automatiseren?}
\label{fig:survey_leren_automatiseren}
\end{figure}
\subsection*{Analyse tijdsbesteding}
Om te evalueren waar het toepassen van automatisering het meest effectief kan zijn is een analyse gemaakt van de tijdsbesteding van het Expert Team Networking. Hier wordt gezocht naar werkzaamheden die veel tijd in beslag nemen en met redelijke regelmaat worden uitgevoerd.
Om dit te doen zijn rapportages gemaakt van verschillende statistieken in het IT-servicemanagement systeem van KEMBIT genaamd TOPdesk. Dit systeem wordt gebruikt voor het bijhouden van tickets, changes en projecten binnen het bedrijf. Rapportages van gegevens in dit systeem kunnen een indicatie geven van de tijdsbesteding van het team.
Uit de gemiddelde bestede tijd aan changes (figuur \ref{fig:changes_tijd_gemiddeld_categorie}) en het aantal changes per categorie (figuur \ref{fig:changes_aantal_categorie}) blijkt dat de meeste tijd wordt besteed aan changes die behoren tot de 'overige' en 'internet' categorieën.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{changes_tijd_gemiddeld_categorie.pdf}
\caption{Gemiddelde bestede tijd aan changes per categorie (percentage)}
\label{fig:changes_tijd_gemiddeld_categorie}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{changes_aantal_categorie.pdf}
\caption{Aantal changes per categorie (percentage)}
\label{fig:changes_aantal_categorie}
\end{figure}
Uit de gemiddelde bestede tijd aan incidenten (figuur \ref{fig:incidenten_tijd_gemiddeld_categorie}) en het aantal incidenten per categorie (figuur \ref{fig:incidenten_aantal_categorie}) valt op dat incidenten gerelateerd tot 'Uninteruptable Power Supplies' (UPS) het hoogste gemiddelde tijd inneemt maar slechts zeer sporadisch uitgevoerd worden.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{incidenten_tijd_gemiddeld_categorie.pdf}
\caption{Gemiddelde bestede tijd aan incidenten per categorie (percentage)}
\label{fig:incidenten_tijd_gemiddeld_categorie}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{incidenten_aantal_categorie.pdf}
\caption{Aantal incidenten per categorie (percentage)}
\label{fig:incidenten_aantal_categorie}
\end{figure}
\subsection*{Analyse huidige tools}
Binnen KEMBIT worden automatietools gebruikt waaronder met name PowerShell en Ansible. Ansible is een tool waarmee op een automatische manier configuraties kunnen worden aangebracht aan diverse soorten systemen waaronder netwerkapparatuur. Terwijl adoptie door het Expert Team Networking laag blijft, heeft de tool voordelen die het zeer geschikt maken voor het gebruik door het team. Dit zijn met name de volgende:
\begin{itemize}
\item Bevindingen huidige situatie
\item Root cause -> integratie (lack thereof)
\item CMDB
\item Uitbreidingsmogelijkheden Ansible
\end{itemize}
\item Een uitgebreid assortiment van modules en plugins specifiek voor het uitvoeren van geautomatiseerd netwerkbeheer \cite{ansible}.
\item Een toegankelijke en minder complexe syntax voor het specificeren van gewenste configuraties \cite{ansible}.
\item Modulair plugin systeem waarmee de functionaliteiten kunnen worden uitgebreid en koppelingen met andere applicaties in het bedrijf kunnen worden gerealiseerd \cite{ansible}.
\item Automatiseringen gemaakt met Ansible kunnen worden gebruikt in CI/CD toepassingen door bijvoorbeeld AWX. Met deze software kan een bepaald playbook worden gestart op een tijdschema of vanuit een koppeling met een andere applicatie.
\end{itemize}
Het succesvol gebruiken van Ansible in de praktijk heeft ook verschillende uitdagingen voor het team:
\begin{itemize}
\item Geen general purpose tool. Ondanks de flexibiliteit die Ansible biedt is de tool niet geoptimaliseerd voor usecases anders dan configuration management. Het gebruiken van Ansible voor andere usecases kan limitaties van de syntax van de tool opzoeken. Dit kan de gemaakte automatisering moeilijk onderhoudbaar maken door de complexiteiten in de implementatie.
\item Het kan lastig zijn om de gemaakte automatisering met Ansible te testen. Dit komt doordat Ansible gemaakt is om acties uit te voeren op productiesystemen en dat de uitgevoerde acties ook afhankelijk zijn van de configuraties van deze systemen.
\end{itemize}
\subsection*{Bevindingen}
Na analyse van de situatie van de opdrachtgever en mogelijkheden met betrekking tot het implementeren van netwerkautomatisering in de praktijk zijn verschillende zaken vastgesteld.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{root_cause.pdf}
\caption{Analyse van de situatie van de opdrachtgever met betrekking tot het implementeren van netwerkautomatisering.}
\label{fig:root_cause}
\end{figure}
\textbf{Lasting om te leren.} Het team ervaart dat het lastig is om te leren over hoe ze Ansible toe kunnen passen in de praktijk. De oorzaak hiervan is met name dat het team nog niet weet hoe de tool impact heeft op hun dagelijkse werkzaamheden. Daarnaast is het nog niet gemakkelijk genoeg om de tool simpelweg uit te proberen in de praktijk. Dit komt omdat binnen het bedrijf uitsluitend met AWX gewerkt wordt in plaats van de CLI tool. Dit maakt het lastiger voor het team om gebruik te maken van Ansible omdat he minder gemakkelijk is om nieuwe een nieuwe automatisering te ontwikkelen met AWX. Dit komt door de volgende redenen:
\begin{itemize}
\item AWX voegt meer nieuwe concepten toe bovenop het gebruiken van Ansible. De gebruikers moeten leren over versiebeheer en moeten daarnaast de taak aanmaken en configureren in AWX. Dit vraagt om een hoge voorafgaande tijdsinvestering.
\item Het is minder gemakkelijk om automatisering te ontwikkelen bij het gebruikmaken van AWX omdat de 'feedback loop' een stuk minder direct is (commit maken > pushen > syncen in AWX > taak aanmaken in AWX > taak starten > output uitlezen) dan wanneer deze wordt ontwikkeld en uitgevoerd op de beheerserver.
\end{itemize}
\textbf{Geen integraties met TOPdesk (Asset Management).} TOPdesk en TOPdesk Asset Management is een belangrijk onderdeel van de manier waarop het Expert Team Networking te werk gaat. De tool wordt gebruikt om informatie in op te slaan over alle netwerkapparaten. Het ontbreken van bestaande integraties met Ansible maakt het minder gemakkelijk om Ansible in de dagelijkse werkzaamheden toe te passen. Met name het ontbreken van een manier waarop een selectie gemaakt kan worden op basis van TOPdesk Asset Management zorgt ervoor dat Ansible niet gemakkelijk gebruikt kan worden in de dagelijkse werkzaamheden.
\textbf{Ansible niet bruikbaar op de beheerserver.} Het Expert Team Networking voert beheer uit vanuit een centrale server. Deze server maakt gebruik van Windows waardoor Ansible niet zomaar geïnstalleerd kan worden. Hierdoor kan geen gebruik gemaakt worden van Ansible op deze server. Dit is nadelig omdat het een stuk minder gemakkelijk is om gebruik te maken van AWX bij het ontwikkelen van automatiseringen.
\subsection*{Ontwerp}
Het ontbreken van een integratie tussen Ansible en Asset Management is een van de grootste problemen bij het eenvoudig gebruikmaken van Ansible.
Dit ontwerp beschrijft een integratie tussen Ansible en TOPdesk Asset Management. De integratie moet het mogelijk maken om automatisch de informatie van Asset Management te verkrijgen en beschikbaar te maken binnen Ansible. Hierdoor hoeft deze informatie niet handmatig te worden ingevoerd. Dit kan namelijk zeer veel tijd in beslag nemen door de grote hoeveelheid aan apparatuur en eigenschappen.
Het systeem moet voldoen aan de volgende criteria:
\begin{itemize}
\item De informatie over de apparatuur is afkomstig uit de centrale bron van alle informatie met betrekking tot hardware binnen KEMBIT.
\item De informatie moet actueel zijn.
\item Configureerbare velden. De werknemer kan opgeven welke velden moeten worden meegenomen.
\item Gebruikers moeten binnen één werkdag kunnen leren werken met het systeem
\item De implementatie van het systeem is zo eenvoudig mogelijk om het team niet te belasten met het onderhouden van een zeer complexe codebase.
\end{itemize}
Deze criteria hebben tot de volgende ontwerpkeuzes geleid:
\begin{itemize}
\item Het systeem wordt ontwikkeld als een Ansible Inventory Plugin. Dit zorgt ervoor dat er geen additionele software nodig is om gebruik te kunnen maken van het systeem.
\item Maakt gebruik van de TOPdesk Asset Management REST API. Met deze API kunnen actuele gegevens worden opgehaald over de hardware.
\end{itemize}
Om te bevestigen dat het ontworpen systeem werkt, is een Proof of Concept ontwikkeld in de vorm van een plugin voor Ansible. De plugin kan eenvoudig geïnstalleerd worden op elk systeem met Ansible door de ansible-galaxy tool. De plugin voegt de beschreven integratie toe met Asset Management en stelt de gebruiker in staat om de gewenste apparatuur te selecteren vanuit Asset management. Vervolgens kan deze apparatuur gebruikt worden in een playbook.
Het uitgevoerde Proof of Concept heeft bevestigt dat het ontwerp werkt en dat de plugin het mogelijk maakt om de lijst van apparaten op te bouwen op een snellere en makkelijkere manier dan wanneer dit handmatig zou moeten gebeuren.
\subsection*{Adviezen}
Op basis van het uitgevoerde onderzoek worden diverse adviezen uitgebracht naar de opdrachtgever met betrekking tot de vervolgstappen om netwerkautomatisering te kunnen bevorderen in de dagelijkse werkzaamheden van het Expert Team Networking.
\textbf{Gebruikmaken van Ansible op de beheerserver.} Doordat de functionaliteiten van Ansible alleen gebruikt kunnen worden met AWX zorgt dit ervoor dat de medewerkers van het team minder snel resultaat kunnen boeken met de tool. Hierdoor maakt het de tool minder aantrekkelijk om te gebruiken. Het advies is om het mogelijk te maken om Ansible te gebruiken op de beheerserver. Op deze manier kan het team direct aan de slag met automatiseren waardoor de adoptie van Ansible een stuk sneller en gemakkelijker gaat voor de medewerkers.
\textbf{Implementeren van integraties en ondersteunende tools.} Om het aantrekkelijker te maken om gebruik te maken van Ansible moet de tool zo gemakkelijk mogelijk zijn om te gebruiken voor het team. De plugin die is ontwikkeld als onderdeel van dit onderzoek is hier een voorbeeld van. Het advies is om deze plugin verder te ontwikkelen en beschikbaar te stellen aan het team. Maar ook om in de toekomst te evalueren welke integraties en/of uitbreidingen van Ansible het gebruik van de tool nog effectiever kunnen maken.
\textbf{Rekening houden met de kwaliteiten van Ansible.} Ansible is zeer geschikt voor het automatiseren van configuration management, maar is geen general purpose tool. Wanneer de tool wordt gebruikt voor usecases buiten configuration management kan beter gebruik worden gemaakt van een andere oplossing. Veel automatie usecases kunnen ook worden gerealiseerd met tools zoals PowerShell en Python. Deze tools zijn general purpose scipttalen die geschikt zijn voor veel overige usecases. Oplossingen gerealiseerd in deze talen zijn beter te testen, onderhouden en te realiseren in vergelijking met een oplossing gerealiseerd met Ansible.
\textbf{Investeren in developmentkennis.} Het ontwikkelen en onderhouden van ondersteunende tools vereist ervaring en kennis van software development praktijken en onderwerpen. Daarnaast kan het adopteren van kennis over CI/CD, API's en werkwijzes het team helpen om haar eigen werkwijzes te innoveren.

View File

@ -1 +1,13 @@
\chapter{Discussie}
\section*{Discussie}
Gedurende het onderzoek is regelmatig van de planning afgeweken. Dit komt met name door het feit dat het zeer lastig is om van tevoren in te schatten hoelang bepaalde activiteiten duren. Daarnaast is het regelmatig voorgekomen dat bij het uitwerken van een activiteit een andere nieuwe activiteit ontstaat door het verkrijgen van nieuwe inzichten of het hanteren van een andere aanpak.
Dit komt ook door de Agile methode waarmee het project is uitgevoerd. De iteratieve aanpak van deze methode is goed bevallen en zorgt voor flexibiliteit en houdt rekening met het feit dat gedurende het project nieuwe activiteiten kunnen ontstaan. Een nadeel aan de methode is dat het lastiger is om te garanderen dat deadlines behaald worden van tevoren. Dit heeft dan ook geleid tot een hogere werkdruk tegen het einde van het project.
Uiteindelijk heeft de afwijkende planning gezorgd voor een vertraging die is ingehaald binnen een korte periode. Dit is ingehaald door langer door te werken per dag en de weekenden. Over het algemeen is de Agile methode goed bevallen gezien de iteratieve en flexibele eigenschappen, maar moet in de toekomst meer rekening gehouden worden met het behalen van deadlines door duidelijkere milestones te zetten.
Bijna alle uitgevoerde methodes hebben een positief effect gehad op de uitvoer van het project en uiteindelijk waardevolle resultaten opgeleverd waarop de adviezen zijn gebaseerd. Met name de survey heeft waardevolle inzichten opgeleverd in de ervaringen van het team.
De data-analyse heeft echter minder relevante resultaten opgeleverd dan van tevoren verwacht. Dit komt doordat de categorieën van de tickets en incidenten niet voldoende inzicht geven in wat gedaan is om het ticket/incident op te lossen.
Dit onderzoek heeft een aantal concrete adviezen gegeven aan de opdrachtgever over de stappen die ondernomen kunnen worden om netwerkautomatisering in de praktijk te implementeren. Daarnaast heeft het Proof of Concept van de Ansible plugin bewezen dat de toegevoegde integratie en functionaliteit waardevol is voor de werknemers en Ansible toegankelijker maakt voor het team.

View File

@ -1 +1,19 @@
\chapter{Conclusie}
\section*{Conclusie}
Het Expert Team Networking en KEMBIT hebben een visie voor een nieuwe manier om (netwerk)beheer uit te voeren die meer gecentreerd is rond automatie. Door deze visie zijn investeringen gemaakt in het realiseren van tooling en een selfservice portal voor klanten.
Op dit moment bevindt KEMBIT zich in een lastige positie waarin de visie om te innoveren bestaat, maar de vervolgstappen om dit te bereiken niet duidelijk zijn. De bestaande tooling en portal functioneren, maar hebben gelimiteerde impact op de werkwijze van het team. Dit komt met name door de relatief lage adoptie van de tools door de werknemers van het team.
Tools zoals Ansible bieden uitgebreide configuration management functionaliteiten voor het beheer van netwerkapparaten. En zijn daarnaast geoptimaliseerd voor gebruikersvriendelijkheid door het bieden van een minder complexe configuratie taal. Hierdoor zijn de tools geschikt voor de engineers van het Expert Team Networking.
Gedurende het onderzoek is vastgesteld dat het team nog geen gebruik maakt van Ansible op de beheerserver. Dit zorgt ervoor dat de tool lastig is om te adopteren door de werknemers in hun dagelijkse werkzaamheden. Daarom wordt geadviseerd om het mogelijk te maken om Ansible te gebruiken op de beheerserver van het team.
Daarnaast is vastgesteld dat de tool niet voldoende is geïntegreerd met andere software die wordt gebruikt door het team. Met name een manier om automatisch informatie over alle apparatuur te verzamelen en te verwerken tot een lijst die ingelezen kan worden door Ansible bestaat nog niet. Dit veroorzaakt dat het gebruik van de tool nog niet toegankelijk is voor het team en lastig toe te passen in de praktijk.
In dit project is een ontwerp gemaakt voor een Ansible Inventory Plugin waarmee op een geautomatiseerde manier de informatie kan worden opgehaald en verwerkt tot een inventory. De plugin geeft het team een gebruiksvriendelijke manier om informatie in TOPdesk Asset Management te gebruiken in Ansible als een inventory.
Bij het adopteren van dit soort tools is de tool zelf niet voldoende. Het komt ook neer op het aannemen van een andere werkwijze, een meer gecentreerd rond devops principes. Devops is een set aan principes waarbij developers en operators samenwerken (of dezelfde personen zijn) om een product of service te realiseren door het gebruik van automatisering.
Development praktijken, tools en mindsets zijn relevant bij het succesvol toepassen van automatisering. Dit onderzoek adviseert de opdrachtgever om hierin te investeren. Bijvoorbeeld door samen te werken en kennis te delen samen met het software development team van KEMBIT.
Het onderzoek is afgerond met concrete adviezen waarop de opdrachtgever kan acteren om de adoptie van automatie te stimuleren. Daarnaast presenteert het Proof of Concept een effectieve manier om de tools toegankelijker te maken voor het Expert Team Networking. Het onderzoek heeft daarmee de doelstelling behaald.

View File

@ -1,3 +1,38 @@
\begin{abstract}
Test
\end{abstract}
\section*{Abstract}
% KEMBIT biedt netwerkdiensten en beheert honderden netwerkapparaten voor diverse klanten op een handmatige manier. Dit leidt tot langdurige repetitieve taken en stimuleert het team om te zoeken naar technieken en werkwijzes om een efficiëntere manier van netwerkbeheer mogelijk te maken.
KEMBIT biedt diverse netwerkdiensten aan haar klanten. Voor het leveren van deze diensten zijn diverse automatiseringstoepassingen in gebruik genomen of inmiddels weer uitgefaseerd. De adoptie van dergelijke toepassingen laat echter nog te wensen over.
Het doel van dit onderzoek is om advies te geven over de beste manier waarmee het team effectief gebruik kan maken van netwerkautomatisering in de praktijk.
% De doelstelling van het onderzoek is de opdrachtgever adviseren in de vervolgstappen om netwerkbeheer efficiënter te maken door het gebruiken van deze technieken en werkwijzes die meer gecentreerd zijn rond automatie.
Om een beeld te krijgen van de wensen en visie van de opdrachtgever is een interview gehouden. Vervolgens is een survey afgenomen binnen het team om de ervaringen met de huidige manier van het uitvoeren van netwerkbeheer en wensen met betrekking tot automatietools in kaart te brengen. Een analyse is uitgevoerd op de tijdsbesteding van het team door gebruik te maken van gegevens uit het ticketsysteem.
Het onderzoek concludeert dat om effectieve netwerkautomatisering toe te passen de tools geïntegreerd moet worden in de werkwijzes van het team zodat het zo gemakkelijk mogelijk is voor het team om hier gebruik van te maken. Om dit te bereiken is een integratie gerealiseerd tussen Ansible en TOPdesk Asset Management in de vorm van een Ansible Plugin. De plugin maakt het mogelijk om automatisch informatie op te halen over de netwerkapparatuur en deze te verwerken tot een lijst van apparatuur die vervolgens in Ansible gebruikt kan worden als inventory.
% Om dit te doen is onderzoek gedaan naar de wensen, visie en ervaringen van de opdrachtgever en engineers van het team door een interview en survey. Hieruit blijkt dat het team positief is over het gebruikmaken van automatietools in de dagelijkse werkzaamheden.
% Dit heeft ervoor gezorgd dat het team met tools zoals Ansible hebben geëxperimenteerd. Terwijl deze tool zeer geschikt is voor het team door de uitgebreide functionaliteit voor het automatiseren van configuration in netwerkbeheer en toegankelijke configuratie taal. Wordt deze nog niet gebruikt in de praktijk
% % Daarnaast blijkt dat team in het verleden tools in gebruik genomen en ontwikkeld met als doelstelling om deze wensen werkelijkheid te maken. Deze tools functioneren maar hebben beperkte impact op de werkwijze van het team en zijn veel werk om te onderhouden.
% Gedurende het onderzoek is een survey uitgevoerd met het team waaruit is gebleken dat
% Er is onderzoek gedaan naar het innoveren van de huidige manier van netwerkbeheer door het gebruiken van Ansible en aannemen van praktijken uit de softwaredevelopment sector.
% aanleiding,
% doelstelling,
% methode,
% resultaten
% conclusie
% etn voert beheer uit op veel apparaten.
% Liedt tot het effectiever willen beheren van apparaten en het elimineren van repetitieve werkzaamheden.
% Liedt tot het stimuleren van maken van veranderingen in de manier van netwerkbeheer
% Heeft geleid tot realiseren van tools.
% De tools zijn lastig te onderhouden en bieden nog niet alle gewenste functionaliteit.
% Hierdoor heeft het team in het verleden getest met Ansible. Hier is vastgesteld dat de tool zeer toepasselijk is voor het uitvoeren van netwerkbeheer.
% Ansible is echter nooit in gebruik genomen door het team. Tewijl het uitgebreide configuration management functionaliteiten biedt voor netwerkbeheer.
% Dit komt door

View File

@ -1,26 +1,14 @@
\begin{titlepage}
\hspace{0pt}
\vfill
\center
{\fontsize{40pt}{42pt}\selectfont\project}\\
\vspace{10pt}
{\huge\titel} {\large\versie}
\vfill
\hspace{0pt}
\rmfamily
\begin{table}[b]
\begin{tabular}{l l}
\makecell[tl]{Titel} & \makecell[tl]{\titel}\\
\makecell[tl]{Versie} & \makecell[tl]{\versie}\\
\makecell[tl]{Project} & \makecell[tl]{\project}\\
\makecell[tl]{Auteur(s)} & \makecell[tl]{\auteur}\\
\makecell[tl]{Datum} & \makecell[tl]{\datum}\\
\makecell[tl]{Opdrachtgever} & \makecell[tl]{\opdrachtgever}
\end{tabular}
\end{table}
\end{titlepage}
\twocolumn[
\begin{@twocolumnfalse}
\begin{center}
{\fontsize{25pt}{40pt}\selectfont\titel}\versie\\
\bigskip
Opdrachtgever KEMBIT Services B.V.\\
Instituut Hogeschool Zuyd\\
\bigskip
\auteur\\
\datum
\bigskip
\end{center}
\end{@twocolumnfalse}
]

Binary file not shown.

View File

@ -0,0 +1,37 @@
digraph G {
node [shape=box]
rankdir="TB"
compound=true
"Developers" -> "Repository" [label="Commit"]
subgraph cluster_0 {
rankdir="LR"
label = "Continuous Integration"
"Build" -> "Test"
}
subgraph cluster_1 {
rankdir="LR"
label = "Continuous Delivery"
cd_at [label="Acceptance Test"]
cd_prod [label="Production"]
cd_at -> cd_prod [label="Manual"]
}
subgraph cluster_2 {
rankdir="LR"
label = "Continuous Deployment"
cde_at [label="Acceptance Test"]
cde_prod [label="Production"]
cde_at -> cde_prod [label="Auto"]
}
"Repository" -> "Build" [lhead=cluster_0]
"Test" -> cde_at [lhead=cluster_2 ltail=cluster_0]
"Test" -> cd_at [lhead=cluster_1 ltail=cluster_0]
}

View File

@ -1,4 +1,4 @@
\documentclass[a4paper, 11pt]{report}
\documentclass[a4paper, 11pt, twocolumn]{article}
\usepackage[a4paper,total={170mm,257mm},left=2cm,top=2cm]{geometry}
@ -10,6 +10,8 @@
\usepackage[hybrid]{markdown}
\usepackage{biblatex}
\addbibresource{onderzoeksrapport/bibliography.bib}
\addbibresource{plan-van-aanpak/bibliography.bib}
\addbibresource{bibliography.bib}
\usepackage{FiraMono}
@ -29,13 +31,18 @@
%% Dit zorgt ervoor dat nieuwe paragraven niet
%% geindenteerd worden maar met een witregel beginnen
\usepackage{parskip}
% \usepackage{parskip}
\usepackage{multicol}
\usepackage{graphicx}
\graphicspath{ {./figures/} }
%% Geef tabellen wat extra padding
\renewcommand{\arraystretch}{1.5}
%% Verander dit {
\newcommand{\titel}{Extended Abstract}
\newcommand{\titel}{Extended Abstract: \project}
\newcommand{\project}{Applied Network Automation}
\newcommand{\auteur}{
Martijn Remmen
@ -77,10 +84,10 @@ Martijn Remmen
\input{coverpage}
\input{changelog.tex}
% \input{changelog.tex}
\input{chapters/abstract.tex}
\pagebreak
% \pagebreak
\input{chapters/1 - introductie.tex}
\input{chapters/2 - theoretisch kader.tex}

1
onderzoeksrapport Submodule

Submodule onderzoeksrapport added at 54bf25221d

1
ontwerp Submodule

Submodule ontwerp added at 1cac8e0b78

1
plan-van-aanpak Submodule

Submodule plan-van-aanpak added at c09f9caf55