4 Commits
v2.0 ... master

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
11 changed files with 78 additions and 134 deletions

View File

@ -1,27 +0,0 @@
@article{remmen_pva,
title = {Plan van Aanpak},
language = {nl},
author = {Remmen, Martijn},
year = 2022,
}
@article{remmen_onderzoeksrapport,
title = {Onderzoeksrapport},
language = {nl},
author = {Remmen, Martijn},
year = 2022,
}
@article{remmen_advies,
title = {Adviesrapport},
language = {nl},
author = {Remmen, Martijn},
year = 2022,
}
@article{remmen_ontwerp,
title = {Ontwerp: Ansible TOPdesk Asset Management integratie},
language = {nl},
author = {Remmen, Martijn},
year = 2022,
}

View File

@ -16,9 +16,14 @@
\item \textit{PK feedback} - Gedeelte van de 'data-analyse' methode verplaatst naar de resultaten.
\item Resultaten
\removed
\item Hevner DSR verwijderd uit methode.
\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,6 +1,6 @@
\section*{Introductie}
Het Expert Team Networking van KEMBIT Services 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.
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.
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.
@ -10,20 +10,14 @@ Het uitvoeren van beheerwerkzaamheden op een groot aantal netwerkapparaten kan o
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.
Het is veel werk om deze ontwikkelde tools te onderhouden. En naarmate gewenste functionaliteiten toenemen en visie voor een selfservice portal ontstaat, wordt gezocht naar een nieuwe, efficiëntere manier om netwerkautomatisering te realiseren.
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 ervoor zorgen dat zij effectiever beheer uit kunnen voeren.
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 beste manier om netwerkautomatisering effectief toe te passen in de dagelijkse werkzaamheden.
De doelstelling van dit onderzoek is om KEMBIT te adviseren in de adoptie van tools en werkwijzes die netwerkautomatisering mogelijk maken of verhinderen.
\begin{enumerate}
\item Onderzoeken van mogelijkheden met betrekking tot netwerkautomatisering die relevant zijn voor het Expert Team Networking.
\item Adviezen uitbrengen over de vervolgstappen voor het effectief in gebruik nemen van netwerkautomatisering in de dagelijkse werkzaamheden.
\item Bevindingen met betrekking tot zaken die het effectief toepassen van tools verhinderen in de huidige situatie.
\item Adviezen uitbrengen over het stimuleren van adoptie van automatiseringstools in het Expert Team Networking.
\end{enumerate}
% Wat doet KEMBIT?

View File

@ -2,7 +2,7 @@
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.
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.

View File

@ -1,6 +1,6 @@
\section*{Methode}
In dit onderzoek is een survey, interview en data-analyse uitgevoerd om inzichten te krijgen in de wensen, visie en tijdsverdeling van het team \cite{remmen_onderzoeksrapport}. 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.
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
@ -9,14 +9,16 @@ In dit onderzoek is een survey, interview en data-analyse uitgevoerd om inzichte
\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 \cite{remmen_ontwerp}. Vervolgens wordt een Proof of Concept gerealiseerd die een gedeelte van het ontwerp demonstreerd \cite{remmen_ontwerp}.
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}
De survey is afgenomen op de medewerkers van het Expert Team Networking met als doelstelling om een beeld te krijgen van de mening, ervaring, wensen en eisen over het toepassen van automatisering in hun dagelijkse werkzaamheden.
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}
@ -28,7 +30,7 @@ De analyses zijn uitgevoerd op changes en incidenten die zijn aangemaakt in een
\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 semi-gestructureerd uitgevoerd, dit betekent dat er doorgevraagd is op basis van de antwoorden.
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}
@ -52,16 +54,16 @@ Op de bevindingen van deze methode worden adviezen gegeven voor het adresseren v
\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} \cite{remmen_pva}. 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.
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} \cite{remmen_pva}}
\caption{Design Science Research Cycles \cite{hevner2007three}}
\end{figure}
\textbf{The Relevance Cycle} De Relevance Cycle zet design research in gang met de omgeving van het probleem en/of vraagstelling. Deze omgeving geeft niet alleen requirements als input aan het project, maar ook acceptatie criteria voor de uiteindelijke resultaten. Onder deze methode vallen de uitgevoerde survey, interview en data-analyse.
\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 de Rigor Cycle wordt informatie van een uitgebreid kennisnetwerk verzameld om te garanderen dat het project innovatief is (in tegenstelling tot routine). De literatuurstudie valt binnen deze cyclus
\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} De interne design cyclus is het hart van elk design science research project. Deze cyclus van onderzoeksactiviteiten itereert snel tussen het realiseren en evalueren van oplossingen voor de vastgestelde problemen en/of vraagstelling. In de context van dit project wordt in deze cyclus met name geanalyseerd, ontworpen en geadviseerd.
\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

@ -5,12 +5,12 @@ Dit hoofdstuk documenteert de resultaten van het onderzoek.
\subsection*{Visie en wensen}
KEMBIT en het Expert Team Networking willen meer werkzaamheden uitvoeren met automatiseringstools, dit blijkt uit de survey afgenomen van het Expert Team Networking en het interview met opdrachtgever.
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 \cite{remmen_onderzoeksrapport}.}
\caption{Antwoord op de vraag over het meer gebruikmaken van automatisering in de dagelijkse werkzaamheden.}
\label{fig:survey_pie_meer_automatisering_mening}
\end{figure}
@ -19,16 +19,16 @@ In afbeelding \ref{fig:survey_pie_meer_automatisering_mening} is te zien dat het
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{survey_waarom_automatiseren.pdf}
\caption{Waarom medewerkers meer gebruik willen maken van automatiseringstools \cite{remmen_onderzoeksrapport}}
\caption{Waarom medewerkers meer gebruik willen maken van automatiseringstools}
\label{fig:survey_waarom_automatiseren}
\end{figure}
In de surveyvraag in afbeelding \ref{fig:survey_leren_automatiseren} is gevraagd of werknemers van het Expert Team Networking het gemakkelijk vinden om te leren over hoe ze automatisering toe kunnen passen. Hier geeft ruim de helft van de werknemers aan dat dit niet gemakkelijk is.
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? \cite{remmen_onderzoeksrapport}}
\caption{Is het gemakkelijk om te leren over automatiseren?}
\label{fig:survey_leren_automatiseren}
\end{figure}
@ -37,99 +37,64 @@ In de surveyvraag in afbeelding \ref{fig:survey_leren_automatiseren} is gevraagd
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.
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.
Dit systeem wordt gebruikt voor het bijhouden van tickets, changes en projecten binnen het bedrijf. Hierdoor kunnen rapportages van gegevens in het systeem een indicatie geven van de tijdsverdeling tussen type incidenten en changes van het Expert Team Networking.
In afbeelding \ref{fig:changes_tijd_gemiddeld_categorie} is de totale verdeling van gemiddelde gespendeerde tijd te zien per categorie. Uit deze grafiek blijkt dat de meeste tijd wordt besteed aan changes die behoren tot de 'overige' en 'internet' categorieën.
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) \cite{remmen_onderzoeksrapport}}
\caption{Gemiddelde bestede tijd aan changes per categorie (percentage)}
\label{fig:changes_tijd_gemiddeld_categorie}
\end{figure}
Afbeelding \ref{fig:changes_aantal_categorie} geeft het aantal changes weer per categorie. De volgende zaken kunnen worden geconcludeerd omtrent de tijdsverdeling van changes:
\begin{itemize}
\item Werkzaamheden met betrekking tot routers en/of modems
\end{itemize}
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{changes_aantal_categorie.pdf}
\caption{Aantal changes per categorie (percentage) \cite{remmen_onderzoeksrapport}}
\caption{Aantal changes per categorie (percentage)}
\label{fig:changes_aantal_categorie}
\end{figure}
In figuur \ref{fig:incidenten_tijd_gemiddeld_categorie} is de gemiddelde bestede tijd aan incidenten per categorie weergegeven.
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) \cite{remmen_onderzoeksrapport}}
\caption{Gemiddelde bestede tijd aan incidenten per categorie (percentage)}
\label{fig:incidenten_tijd_gemiddeld_categorie}
\end{figure}
Hier valt op dat incidenten gerelateerd tot Uninteruptable Power Supplies ('UPS') gemiddeld de meeste tijd in beslag nemen. Wanneer men achter kijkt naar de hoeveelheid incidenten die zijn afgehandeld onder deze categorie wordt duidelijk dat deze slechts sporadisch moeten worden uitgevoerd.
\begin{figure}[h]
\centering
\includegraphics[width=\linewidth]{incidenten_aantal_categorie.pdf}
\caption{Aantal incidenten per categorie (percentage) \cite{remmen_onderzoeksrapport}}
\caption{Aantal incidenten per categorie (percentage)}
\label{fig:incidenten_aantal_categorie}
\end{figure}
\subsection*{Ansible}
\subsection*{Analyse huidige tools}
Ansible is een op Python gebaseerde tool waarmee zeer diverse soorten automatiseringen kunnen worden gerealiseerd dankzij een uitgebreid assortiment aan eenvoudig te gebruiken modules en een YAML gebaseerde "Domain Specific Language" \cite{ansible} \cite{remmen_onderzoeksrapport}.
Ansible heeft de volgende voordelen voor het Expert Team Networking:
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 Een uitgebreid assortiment van modules en plugins specifiek voor het uitvoeren van geautomatiseerd netwerkbeheer.
\item Een toegankelijke en minder complexe syntax voor het specificeren van gewenste configuraties.
\item Modulair plugin systeem waarmee de functionaliteiten kunnen worden uitgebreid en koppelingen met andere applicaties in het bedrijf kunnen worden gerealiseerd.
\item Automatiseringen gemaakt met Ansible kan 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.
\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.
\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*{DevOps}
% DevOps is een term in de ICT waarmee verwezen wordt naar het hanteren van bepaalde werkwijzes bij het ontwikkelen en beheren van infrastructuur \cite{remmen_onderzoeksrapport}.
% Een van de belangrijkste principes van DevOps is de samenwerking en communicatie tussen software development en operationele teams \cite{jabbari_what_2016}. Het doel van deze samenwerking is een beroep te doen op elkaars ervaring en kennis over hun domein. Hiermee kunnen de teams elkaar helpen met het bereiken van hun doelen.
% \subsection*{Continuous Practices}\label{subsec:continuous_practices}
% Continuous practices zoals continuous integration, delivery en deployment zijn praktijken in de software development sector die ervoor zorgen dat met hoge kwaliteit, regelmaat en betrouwbaarheid nieuwe features en producten kunnen worden uitgebracht \cite{shahin_continuous_2017} \cite{remmen_onderzoeksrapport}. Deze praktijken kunnen ook door de opdrachtgever gebruikt worden. Hierdoor kan de gemaakte automatisering getest en automatisch ingezet worden. Dit maakt het gemakkelijk voor het team om wijzigingen aan te brengen en toe te passen in productie.
% \begin{figure}[h]
% \centering
% \includegraphics[width=\linewidth]{continuous_practices.pdf}
% \caption{Relatie tussen continuous integration, delivery en deployment \cite{shahin_continuous_2017}}
% \end{figure}
% \textbf{Continuous Integration (CI)} betekent het geautomatiseerd uitvoeren van tests op een codebase nadat hier een wijziging heeft plaatsgevonden. Dit motiveert om regelmatig aanpassingen te maken en publiceren \cite{shahin_continuous_2017}.
% \textbf{Continuous DElivery (CDE)} betekent om op een geautomatiseerde manier nadat de continuous integration tests volledig zijn doorstaan de nieuwe release naar een testomgeving wordt gepubliceerd en vervolgens handmatig naar een productieomgeving. \cite{shahin_continuous_2017}
% \textbf{Continuous Deployment (CD)} gaat een stap verder en publiceert changes structureel en geautomatiseerd naar een productieomgeving. Het gebruik van CD impliceert ook het gebruik van CDE. Alleen is de finale stap van het publiceren naar een productieomgeving niet meer handmatig maar automatisch. \cite{shahin_continuous_2017}
\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 \cite{remmen_onderzoeksrapport}.
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
@ -138,25 +103,24 @@ Na analyse van de situatie van de opdrachtgever en mogelijkheden met betrekking
\label{fig:root_cause}
\end{figure}
\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. Dit zorgt ervoor dat het team Ansible niet kan gebruiken in productieomgevingen.
\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. 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 Ansible inventory kan worden gemaakt op basis van TOPdesk Asset Management zorgt ervoor dat Ansible niet gemakkelijk gebruikt kan worden in de dagelijkse werkzaamheden.
\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.
\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}
Gedurende het onderzoek is vastgesteld dat het niet gemakkelijk is voor het Expert Team Networking om Ansible te kunnen gebruiken in de dagelijkse werkzaamheden. Een van de redenen hiervoor is het ontbreken van integraties tussen Ansible en andere applicaties die worden gebruikt door het team.
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 \cite{remmen_ontwerp}. Asset Management wordt door het team gebruikt om informatie over de hardware in op te slaan.
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.
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:
@ -175,19 +139,19 @@ Deze criteria hebben tot de volgende ontwerpkeuzes geleid:
\item Maakt gebruik van de TOPdesk Asset Management REST API. Met deze API kunnen actuele gegevens worden opgehaald over de hardware.
\end{itemize}
Het systeem is uitgewerkt tot een Proof of Concept om te testen of het ontwerp functioneel is. Deze moet voldoen aan de ontwerpcriteria die eerder zijn toegelicht. Uiteindelijk heeft het Proof of Concept vastgesteld dat het ontwerp mogelijk is en aan de ontwerpcriteria wordt voldaan.
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 \cite{remmen_advies}.
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{Installeren van WSL op de beheerserver.} Dit maakt het mogelijk voor het team om Ansible in de dagelijkse werkzaamheden te gebruiken.
\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{Ontwikkelen van nieuwe playbooks met Ansible CLI.} Dit maakt het gemakkelijk voor het team om gebruik te maken van Ansible ten opzichte van AWX door de directere manier van het uitvoeren van playbooks.
\textbf{Investeren in developmentkennis.} Dit stelt het team in staat om nieuwe werkwijzes en technieken te ontwikkelen en gebruiken die automatisering stimuleren en de huidige werkwijze innoveren.
\textbf{Rekening houden met de kwaliteiten van Ansible.} Ansible is niet geschikt als general purpose scripttaal maar specifiek voor het automatiseren van configuration management. Bij het overwegen van het gebruik van Ansible moet worden nagedacht of het de juiste tool is voor de gewenste usecase.
\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,11 +1,13 @@
\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 nieuwe activiteit ontstaat door het verkrijgen van nieuwe inzichten of het hanteren van een andere aanpak.
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.
Uiteindelijk heeft de afwijkende planning gezorgd voor een redelijke vertraging die is ingehaald binnen een korte periode.
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.
Het was de bedoeling om het project volgens agile principes uit te voeren. De bedoeling hiermee was het snel opleveren van (tussen)resultaten waarmee samen met de opdrachtgever hierop gereflecteerd kan worden. Over het algemeen zijn deze (tussen)resultaten een stuk minder vaak opgeleverd kunnen worden dan gewild. Dit kan ervoor hebben gezorgd dat de opdrachtgever zich niet betrokken heeft gevoeld bij 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.
Alle uitgevoerde methodes hebben een positief effect gehad op de uitvoer van het project en uiteindelijk waardevolle resultaten opgeleverd waarop de adviezen zijn gebaseerd.
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.
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.
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

@ -2,16 +2,18 @@
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 bevind 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.
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 nog niet mogelijk is om Ansible te gebruiken in de huidige beheeromgeving. Hierop wordt aan de opdrachtgever geadviseerd om WSL te installeren op de beheerserver. Hierdoor wordt het mogelijk om Ansible te installeren en hier gebruik van te maken door het team.
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 gebruiker in Ansible als een inventory.
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.
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,6 +1,8 @@
\section*{Abstract}
Het Expert Team Networking biedt netwerkdiensten en beheerd 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 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.
@ -8,7 +10,7 @@ Het doel van dit onderzoek is om advies te geven over de beste manier waarmee he
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 effectief gebruik te maken van Ansible de tool 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 wordt geadviseerd om integraties te realiseren tussen Ansible en TOPdesk Asset Management voor het automatisch ophalen van informatie over de netwerkapparatuur en deze te verwerken tot een lijst van apparatuur die vervolgens in Ansible gebruikt kan worden als inventory.
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.

Binary file not shown.