\chapter{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, hiermee kunnen zij middels een grafische interface en zonder tussenkomen van KEMBIT wijzigingen aanbrengen aan de netwerken van de klant.

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 wordt met name veroorzaakt door de lage adoptie van automatisering door 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.



\section{Bevindingen}

In dit hoofdstuk worden een aantal bevindingen beschreven die zijn getrokken uit het onderzoek. De bevindingen hebben te maken met het (succesvol) toepassen van netwerkautomatisering in de dagelijkse werkzaamheden van het Expert Team Network en probeert inzicht te geven in de huidige situatie.


\subsection{AWX in plaats van Ansible}

KEMBIT heeft een AWX-server ingericht met als primaire doelstelling om Ansible toegankelijker te maken voor de teams. Wanneer de teams iets met Ansible willen doen, bedoelt men AWX. Helaas is het ontwikkelen van nieuwe playbooks niet gemakkelijk door uitsluitend gebruik te maken van AWX. Dit komt met name door de volgende redenen:

\begin{itemize}
    \item Om AWX te gebruiken moet de gebruiker bekend zijn met git, een versiebeheer systeem. De meeste network engineers hebben hier geen ervaring mee en maakt het lastiger om met AWX te werken.
    \item AWX is niet gebruikersvriendelijk voor het ontwikkelen van een nieuw playbook. Dit komt omdat de gebruiker aanpassingen aan het playbook moet doen, vervolgens deze aanpassing moet pushen naar git, refreshen in AWX en het aangepaste playbook opnieuw moet uitvoeren. Dit maakt het een stuk lastiger om een nieuw playbook te maken.
    \item AWX biedt geen debugging mogelijkheden zoals het inzien van bepaalde variabelen. Dit zorgt ervoor dat de engineer niet duidelijk weet wat er fout is gegaan indien het playbook faalt.
\end{itemize}

Dit resulteert erin dat de engineers van het team niet snel een playbook kunnen maken of een eenvoudige kleine taak automatiseren met Ansible.


\subsection{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.

Doordat Ansible niet geïnstalleerd is het niet toegankelijk voor het team om gebruik te maken van Ansible in de dagelijkse werkzaamheden en hierdoor effectieve netwerkautomatisering toe te kunnen passen. 


\subsection{Suboptimale inrichting van TOPdesk Asset Management}\label{bevinding:suboptimale_inrichting_van_topdesk_asset_management}

De tools TOPdesk Asset Management wordt door het Expert Team Networking gebruikt om informatie over fysieke netwerkapparaten in te bewaren. Met de tool kunnen zelf apparaat types (ook wel 'templates') worden gemaakt met hun eigen velden.

Tijdens het onderzoek is vastgesteld dat de tool zeer veel identieke templates bevat. In de namen van de templates zit informatie die ook als veld opgenomen had kunnen worden. Bijvoorbeeld "Switch 8 Poorten" en "Switch 24 Poorten". Daarnaast zijn ook meerdere templates

Asset Management wordt niet optimaal ingezet door een suboptimale inrichting van de tool. Dit blijkt door de vele templates die grotendeels hetzelfde zijn. Hierdoor is er een grote kans dat eventuele tooling die gebruik maakt van de Asset Management API moet worden aangepast wanneer de configuratie van de templates van Asset Management veranderd worden.


\subsection{Geen bestaande 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.


\subsection{Gebruikersvriendelijkheid TOPdesk Asset Management}\label{knelpunt:am_useability}

De API van TOPdesk Asset Management is niet gemakkelijk te gebruiken. Dit komt doordat in de tool zelf velden kunnen worden gemaakt. Het is niet eenvoudig om de waardes van deze velden uit de response van de API te halen. In de meeste gevallen zijn hier meerdere verzoeken voor nodig.

Dit zorgt ervoor dat het niet gemakkelijk is om integraties te realiseren met de tool en verhoogt de complexiteit van de code waarmee de integratie wordt gerealiseerd. Dit zorgt ervoor dat medewerkers niet snel tools zullen bouwen die de API gebruiken doordat dit zoveel tijd kost.


\subsection{Bestaande tooling en kennis omtrent PowerShell}

Het team heeft in het verleden bestaande automatisering gerealiseerd met name gebaseerd op PowerShell. Deze tools worden nog steeds ontwikkeld en gebruikt door het team. Hoewel deze PowerShell kennis niet volledig overdraagt naar het gebruik van Ansible betekent het dat het team wel de voordelen ziet van het gebruik van een dergelijke tool. Daarnaast betekent het dat het team in staat is om code te produceren.

