diverse changes

This commit is contained in:
2022-06-11 23:26:37 +02:00
parent 0e30a781e6
commit 54bf25221d
3 changed files with 158 additions and 130 deletions

View File

@ -135,7 +135,7 @@ Er zijn vele tools welke automatisering bevorderen of volledig zijn geoptimalise
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}.
Ansible is door KEMBIT als automatiseringstool naar keuze verkozen dankzij de flexibiliteit, uitbreidbaar, gebruiksvriendelijkheid en inzetbaarheid in haar huidige productieomgevingen. De tool is initïeel in gebruik genomen door het Expert Team Infrastructure, een ander team binnen KEMBIT gespecialiseerd in het beheren van servers.
Ansible is door KEMBIT als automatiseringstool naar keuze verkozen dankzij de flexibiliteit, uitbreidbaar, gebruiksvriendelijkheid en inzetbaarheid in haar huidige productieomgevingen. De tool is initieel in gebruik genomen door het Expert Team Infrastructure, een ander team binnen KEMBIT gespecialiseerd in het beheren van servers.
Na evaluatie door het networking team wordt de tool als zeer potentieel beschouwd dankzij het uitgebreide assortiment aan netwerkmodules en officiële ondersteuning voor het automatiseren van netwerk gerelateerde taken waaronder configureren.
@ -182,7 +182,7 @@ Om netwerkapparaten aan te sturen zijn verschillende andere mogelijkheden. Ansib
\subsubsection*{Uitbreidbaarheid}
Ansible is zeer uitbreidbaar door het creëren van in Python geschreven modules waarmee bijna alle gewenste additionele koppelingen en/of functionaliteiten kunnen worden toegevoegd aan de automatiseringstools. Ansible kent vele vormen van uitbreiding. Hiermee kunnen verschillende aspecten van de tool worden uitgebreid. Met name modules en inventory plugins
Ansible is zeer uitbreidbaar door het creëren van in Python geschreven modules waarmee bijna alle gewenste additionele koppelingen en/of functionaliteiten kunnen worden toegevoegd aan de automatiseringstools. Ansible kent vele vormen van uitbreiding. Hiermee kunnen verschillende aspecten van de tool worden uitgebreid. Met name modules en inventory plugins.
\subsection{DevOps}
@ -257,13 +257,6 @@ Zo zijn verschillende PowerShell tools gemaakt om bepaalde functionaliteiten te
Gezien het belang van data is voor het mogelijk maken van automatiseren wordt ten eerste inzichtelijk gemaakt welke data er al opgeslagen wordt, in welk systeem en welke koppelingen deze systemen beschikbaar stellen.
\begin{itemize}
\item TOPDesk
\item TOPDesk Asset Management
\item PRTG \cite{prtg}
\end{itemize}
\subsubsection{Topdesk}
@ -357,49 +350,53 @@ Om inzicht te krijgen in de huidige verdeling van tijd per werkzaamheden is een
Incidenten en Changes in TOPDesk kennen een hoofd- en subcategorie. Deze categorieën kunnen zelf worden aangemaakt door de beheerder aan de hand van de context waarin het systeem wordt gebruikt. Vervolgens kan per incident en/of wijziging een categorie worden geselecteerd. De analyses zijn gemaakt op basis van de ingevulde categorie en gespendeerde tijd per incident en wijziging. Houd rekening met het discussiepunt omtrent het gebruik van de TOPdesk categorieën toegelicht in hoofdstuk \ref{discussie_topdesk_categorie}.
Binnen KEMBIT zijn de categorieën aangemaakt zoals te zien in de volgende tabel:
Binnen KEMBIT zijn de categorieën aangemaakt zoals te zien in tabel \ref{tbl:categorieen_topdesk}.
\begin{tabular}{p{0.2\linewidth} p{0.6\linewidth}}
\toprule
\textbf{Categorie} & \textbf{Omschrijving}\\
\midrule
\begin{table}[h]
\caption{Categorieën die gebruikt worden door KEMBIT in TOPdesk}
\label{tbl:categorieen_topdesk}
\begin{tabular}{p{0.2\linewidth} p{0.6\linewidth}}
\toprule
\textbf{Categorie} & \textbf{Omschrijving}\\
\midrule
Internet&
Het ticket of wijziging heeft betrekking tot internet biedende functionaliteiten.\\
Internet&
Het ticket of wijziging heeft betrekking tot internet biedende functionaliteiten.\\
Router / Modem&
Het incident of wijziging heeft betrekking tot router(s) en/of modem(s).\\
Router / Modem&
Het incident of wijziging heeft betrekking tot router(s) en/of modem(s).\\
Firewall&
Het incident of wijziging heeft betrekking tot firewall(s).\\
Firewall&
Het incident of wijziging heeft betrekking tot firewall(s).\\
Wifi&
Het incident of wijziging heeft betrekking tot de werking of apparatuur gerelateerd aan het WiFi.\\
Wifi&
Het incident of wijziging heeft betrekking tot de werking of apparatuur gerelateerd aan het WiFi.\\
Switch&
Het incident of wijziging heeft betrekking tot het apparaat type switch.\\
Switch&
Het incident of wijziging heeft betrekking tot het apparaat type switch.\\
VPN&
Het incident of wijziging heeft betrekking tot bepaalde netwerktunnels.\\
VPN&
Het incident of wijziging heeft betrekking tot bepaalde netwerktunnels.\\
Bekabeling&
Het incident of wijziging heeft betrekking tot netwerkbekabeling.\\
Bekabeling&
Het incident of wijziging heeft betrekking tot netwerkbekabeling.\\
SAN / NAS&
Het incident of wijziging heeft betrekking tot opslagapparatuur op een netwerk.\\
SAN / NAS&
Het incident of wijziging heeft betrekking tot opslagapparatuur op een netwerk.\\
Appliance&
Het incident of wijziging heeft betrekking tot een appliance (meestal een virtuele machine)\\
Appliance&
Het incident of wijziging heeft betrekking tot een appliance (meestal een virtuele machine)\\
UPS&
Het incident of wijziging heeft betrekking tot Uninteruptable Power Supply. Een apparaat welke andere netwerkapparatuur voorziet van energie in het geval van een stroomstoring.\\
UPS&
Het incident of wijziging heeft betrekking tot Uninteruptable Power Supply. Een apparaat welke andere netwerkapparatuur voorziet van energie in het geval van een stroomstoring.\\
Overig&
Alle overige incident(en) en/of wijziging(en).\\
Overig&
Alle overige incident(en) en/of wijziging(en).\\
\bottomrule
\end{tabular}
\bottomrule
\end{tabular}
\end{table}
In de context van dit project is het met name relevant om het type changes/incidenten te analyseren waar potentieel automatisering bij kan worden toegepast om een beeld te krijgen van de hoeveelheid tijd die kan worden bespaard. Automatisering is met name interessant om toe te passen bij werkzaamheden wanneer een groter aantal apparaten moet worden geconfigureerd of bepaalde informatie van moet worden verkregen.

View File

@ -1,5 +1,11 @@
\chapter{Conclusie}
Het is duidelijk dat de medewerkers van het Expert Team Networking meer gebruik willen maken van automatisering en dat automatisering verschillende voordelen heeft. Deze voordelen zijn tijdsbesparing, foutpreventie en innovatie mogelijkheden zoals het bieden van een Self Service Portal waarmee klanten snel eenvoudige wijzigingen zelf aan kunnen brengen en het toepassen van CI/CD waarbij fouten in een configuratie kunnen worden vastgesteld nog voordat deze in een productieomgeving in gebruik worden genomen.
Het Expert Team Networking kijkt naar Ansible voor het benutten en realiseren van deze mogelijkheden gebaseerd op ervaringen van andere teams binnen het bedrijf en uitgevoerde tests met de automatiseringstool. In dit onderzoek is vastgesteld dat Ansible zeer geschikt is voor het automatiseren van configuration management in netwerkbeheer. Dit is dankzij het uitgebreide assortiment van netwerkmodules en de Domain Specific Language (DSL) voor het toepassen van deze modules. Dit maakt geavanceerde functionaliteiten toegankelijk zonder te hoeven beschikken over uitgebreide kennis van het ontwikkelen van software.
Gedurende dit onderzoek zijn verschillende zaken vastgesteld waardoor de visie voor innovatie en het toepassen van automatisering in netwerkbeheer kan worden bevorderd.
\section{Bevindingen}
@ -7,9 +13,29 @@
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{Suboptimale inrichting van TOPdesk Asset Management}
\subsection{Ansible is AWX}
Asset Management lijkt nog niet volledig optimaal te worden ingezet aan de hand van de 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.
KEMBIT heeft een server gemaakt met AWX 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}
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)}
@ -21,6 +47,8 @@ Met name het ontbreken van een manier waarop een Ansible inventory kan worden ge
\subsection{Gebruikersvriendelijkheid TOPdesk Asset Management}\label{knelpunt:am_useability}
Een relatief complexe API van Asset Management (voornamelijk veroorzaakt door de meta-modeleer functionaliteit). Dit verhoogd de vereiste tijdsinvestering en minimale complexiteit om tools te maken die integreren met deze API.
@ -28,90 +56,5 @@ Een relatief complexe API van Asset Management (voornamelijk veroorzaakt door de
De reeds bestaande kennis over PowerShell in het netwerking team is niet of minder relevant bij het in gebruik nemen van Ansible. Dit presenteert een drempel voor het in gebruik nemen van Ansible omdat het meer tijd kost om even effectief te zijn met de bestaande PowerShell tools en/of kennis.
Reeds gerealiseerde en op Powershell gebaseerde automatiseringen die niet volledig overdragen naar het implementeren van Ansible in de praktijk. Dit maakt investeringen in het realiseren van Ansible op de kortere termijn minder waardevol omdat deze functionaliteiten al mogelijk waren met de oude tools. Hiernaast zijn deze investeringen hoger omdat het nu in een nog relatief onbekende manier moet worden geimplementeerd.
Reeds gerealiseerde en op Powershell gebaseerde automatiseringen die niet volledig overdragen naar het implementeren van Ansible in de praktijk. Dit maakt investeringen in het realiseren van Ansible op de kortere termijn minder waardevol omdat deze functionaliteiten al mogelijk waren met de oude tools. Hiernaast zijn deze investeringen hoger omdat het nu in een nog relatief onbekende manier moet worden geïmplementeerd.
\section{Wensen en eisen}
Dit hoofdstuk documenteert de wensen en eisen die volgen uit het onderzoek en worden direct of indirect gesteld door de opdrachtgever aan het implementeren van automatisering. Die eisen zijn opgedeeld in functionele- (tabel \ref{tbl:requirements_functioneel}) en niet functionele eisen (tabel \ref{tbl:requirements_nietfunctioneel}).
\newcounter{magicrownumbers}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}
\begin{table}[ht]
\caption{Functionele eisen}
\label{tbl:requirements_functioneel}
\centering
\begin{tabular}{l p{0.2\linewidth} p{0.5\linewidth} l }
\toprule
& \textbf{Naam}& \textbf{Omschrijving}& \textbf{Prioriteit}\\
\midrule
\rownumber&
Asset Management koppeling&
De automatiseringstool moet de apparaten kunnen verkrijgen uit het TOPdesk Asset Management systeem.&
Must\\
\rownumber&
Toepassing beheer&
De automatiseringstool kan worden gebruikt in beheerwerkzaamheden.&
Must\\
\rownumber&
TOPdesk incidenten koppeling&
Het is mogelijk om via TOPdesk incidenten aan te maken en/of te wijzingen.&
Could\\
\rownumber&
TOPdesk changes koppeling&
Het is mogelijk om via TOPdesk changes aan te maken en/of te wijzigen.&
Could\\
\bottomrule
\end{tabular}
\end{table}
\begin{table}[ht]
\caption{Niet-functionele eisen}
\label{tbl:requirements_nietfunctioneel}
\centering
\begin{tabular}{l l p{0.5\linewidth} l }
\toprule
& \textbf{Naam}& \textbf{Omschrijving}& \textbf{Prioriteit}\\
\midrule
\rownumber&
Compatability&
De automatiseringstool kan worden ingezet in de huidige beheeromgeving en kan werken met de apparatuur die wordt beheerd door het Expert Team Networking.&
Must\\
\rownumber&
Extensibility&
De automatiseringstools kunnen worden uitgebreid met additionele functionaliteit.&
Must\\
\rownumber&
Usability&
De automatiseringstools kunnen met minimale training en/of kennis gebruikt worden zodanig dat de doelstelling bereikt kan worden zoals gesteld door de eindgebruiker.&
Must\\
\rownumber&
Scalability&
Het automatiseringssysteem kan worden ingezet op een grote hoeveelheid netwerkapparaten&
Should\\
\rownumber&
Maintainability&
De automatiseringstools kunnen worden onderhouden door het Networking Team.&
Could\\
\bottomrule
\end{tabular}
\end{table}

File diff suppressed because one or more lines are too long