Veel bedrijven hebben zich er al aan gewaagd of hebben er in ieder geval over nagedacht: Network Automation. Steeds hetzelfde trucje uitvoeren is tijdrovend, kost geld én vergroot de kans op fouten. Moet het streven zijn om zo veel mogelijk te automatiseren? Klinkt efficiënt, maar het brengt natuurlijk ook een aantal vragen met zich mee. Wat is het doel nou eigenlijk van automatisering, wanneer is efficiënt ook efficiënt genoeg en welke keuzes dienen er m.b.t. tooling gemaakt te worden? Peter Manuel, een van onze Netwerk Engineers, geeft in deze blog o.a. antwoord op deze vragen en deelt zijn visie op Network Automation.
De technieken
Op dit moment kunnen de verschillende technieken grofweg ingedeeld worden in twee categorieën: scripting en tooling. Bij tooling hebben we het eigenlijk over tools die ons werk vergemakkelijken. Zoals een software pakket dat de processen van scripts structureert en visueel weergeeft. Scripts daarentegen bestaan uit tekstbestanden met daarin instructies voor devices, die vanaf de command line uitgevoerd kunnen worden. Je zou dus kunnen zeggen dat veel tooling ‘onder water’ bestaat uit de functionaliteiten van scripts, maar bij het gebruik van tooling is er een beter overzicht van de mogelijkheden en de omgeving als geheel door middel van een mooie interface.
Als we kijken naar platforms als Windows en applicaties, dan zijn er al grote stappen gemaakt:
- Zo werd Windows voorheen vanaf een cd geïnstalleerd;
- Worden er answer files gebruikt om zo het handmatig doorklikken te verminderen;
- Wordt Norton Ghost toegepast als imaging programma voor machines;
- Het gebruik van Windows Deployment Services voor het uitrollen van images over het netwerk;
- Het gebruik van System Center Configuration Manager;
- Tot aan machines in de cloud en het gebruik van containers met tools als Docker en Kubernetes.
Ook het gebruik van resources wordt steeds efficiënter. In het verleden was er veel overhead op een applicatie aanwezig door het OS en bijvoorbeeld een virusscanner. Dit nam af door zaken als een virtual machine en zo wordt het nog verder geminimaliseerd met containers. Daarnaast is er steeds meer beschikking over scripting talen, die steeds eleganter worden: van Batch en Bash naar Powershell en Python.
Command line ‘warrior’
Op het gebied van Networking liep het automatiseren een tijdje achter. Hoewel er veel apparaten waren die over de tijd heen web interfaces kregen, was de command line voor de meeste Engineers nog altijd the right way to go. Binnen veel teams was/is het gebruik van de command line iets om trots op te zijn, zo laat je zien dat je weet waar je mee bezig bent. Toch lagen de mogelijkheden er al wel een tijd, zoals het gebruik van SNMP. Op de meeste plekken werd dat vooral gebruikt voor het monitoren van de systemen, de schrijffunctie werd vaak uitgezet door de gebrekkige veiligheid binnen verouderde versies.
De ontwikkelingen zijn hard gegaan de afgelopen jaren. Tools als Puppet en Salt worden steeds vaker ingezet binnen de infrastructuur en ook Networking blijft niet achter. Steeds meer vendoren zetten in op automatisering door het aanbieden van tooling en het toevoegen van API’s. Zo breidt Cisco zijn portfolio uit met ACI, SD-Acces en SD-WAN, waarmee zij diverse tools bieden aan datacenters, Campus Netwerken en het Wide Area Network van organisaties. Juniper is gekomen met Junos Space en voor Engineers is er de mogelijkheid processen naar eigen inzicht te automatiseren met Ansible en Python.
Op weg naar een strategie
Met zoveel mogelijkheden is het soms lastig om een koers te bepalen. Hierbij zijn er een aantal overwegingen te maken op weg naar een strategie:
Hoeveel herhalend beheerwerk bestaat er op de omgeving?
Als organisatie zijnde kun je je afvragen in hoeverre het nodig is bepaalde netwerktaken en processen te automatiseren. Op een kleine omgeving waar het dagelijks beheer snel gedaan is zal het minder noodzakelijk zijn, dan op een grote netwerkomgeving waar dagelijks handelingen handmatig uitgevoerd moeten worden.
Welke kennis hebben we in huis?
De ambitie om te automatiseren is één, maar welke kennis heb je als organisatie al in huis? Het gebruik van de command line is voor de meeste Engineers niets nieuws, maar bij diverse tooling is weer andere specialistische kennis vereist. Dit geldt ook voor scripting, dat bijvoorbeeld meer kennis in programmeren en Linux vraagt. Als organisatie zijnde kun je je dan afvragen welke kennis je al in huis hebt en welke kennis er in de markt aanwezig is. Hoeveel inspanning moet er geleverd worden om de juiste mensen in de toekomst aan te trekken? Een belangrijke overweging hierbij is: hoe meer maatwerk, des te complexer de omgeving voor een ‘buitenstaander’. Dit betekent overigens niet dat maatwerk verkeerd is. Door goed te documenteren of door tooling te gebruiken bij het structureren en managen van scripts (bijv. Ansible Tower), zal de complexiteit gedempt worden.
Hoe ziet de strategie eruit op de lange termijn?
Als organisatie heb je een keuze te maken in je strategie op de lange termijn. Kies je voor een samenwerking met vaste vendoren óf wil je op de korte termijn onafhankelijk blijven? Vaak werken tools van specifieke vendoren ook pas echt goed met devices van deze vendoren, soms zelfs uitsluitend. Bij afspraken met een leverancier die op de langere termijn geldig zijn, zou je sneller kunnen overwegen om voor de tooling van deze vendor te kiezen, omdat dit goed aansluitbij de devices. Kanttekening hierbij is wel dat je hierdoor meer afhankelijk bent. Zo is bijvoorbeeld een losse switch makkelijker te vervangen dan een systeem dat alle switches in het datacenter beheert.
Welke kosten brengt het met zich mee?
Het handmatig aanbrengen van dagelijkse handelingen kost veel tijd en inspanning. Daarnaast vereist het ook veel interactie tussen de verschillende teams binnen een organisatie. Dit kan vertragingen in het proces met zich meebrengen, waardoor de kosten oplopen. Door te automatiseren zijn er minder manuren nodig voor de dagelijkse netwerktaken en processen. Het gevolg hiervan is dat er uiteindelijk minder personeel nodig is, waardoor geprofiteerd kan worden van deze besparingen. Wel dient er bij het automatiseringsproces rekening gehouden te worden met de kosten die bij specifieke tooling komt kijken. Zo kan dit voor grote omgevingen flinke bedragen met zich meebrengen. Daarnaast is het realiseren van maatwerk scripts iets dat tijd kost.
Moeten we anders gaan werken?
Als de koers naar een geautomatiseerd landschap wordt ingezet zal ook het werkproces binnen de beheers afdelingen onder de loep genomen moeten worden. Veel Engineers zullen gewend zijn aan werkprocessen die vanuit de ITIL-methodiek zijn ingestoken, voor het afhandelen van incidenten en changes. Een DevOps manier van werken past mogelijk beter bij automatiserings werkzaamheden. Binnen deze methode wordt het automatiseren meer benaderd vanuit development, dan vanuit beheer. Afgeraden wordt om de doorontwikkeling van een omgeving én de dagelijkse zaken door dezelfde personen te laten doen. Binnen een Lean werkvorm wordt het vaak wisselen van een taak als een vorm van ‘waste’ gezien. Binnen een DevOps manier van werken zul je al snel uitkomen bij een Agile werkvorm, als Scrum of Lean.
Wat levert Automation op?
Automation heeft ons veel te bieden, maar moet niet gezien worden als doel opzich. De keuze om te automatiseren is niet alleen een technische. Zo kan er vanuit de verschillende disciplines een goede afweging gemaakt worden tussen de voor- en nadelen die van toepassing zijn op een specifieke situatie binnen de organisatie. Van buitenaf lijkt dit misschien vooral een technische zaak, maar juist de samenwerking tussen de verschillende disciplines is de sleutel tot succes. Zo kan een Engineer bijdragen in het verkrijgen van inzichten in de mogelijkheden op het gebied van Automation en kan de technische afdeling een blik werpen op de nabije toekomst van de infrastructuur. Zo is het technische deel van de vraagstelling duidelijk. Voeg dit samen met de onderdelen vanuit de business en HR, en je kunt een goed onderbouwde koers uitzetten. Een organisatie met een visie vanuit deze verschillende invalshoeken zal optimaal kunnen profiteren van al het moois dat Automation ons te bieden heeft.
De consultants van I-share zijn altijd bezig met de nieuwste technieken en ontwikkelingen in de markt. Door samen te werken tillen zij elkaar naar een hoger niveau. Hulp nodig bij de reis richting automation? Onze consultants helpen jou graag verder. Met hun specialisme in verschillende scripting en automation-tools kunnen zij jouw organisatie optimale ondersteuning bieden. Zij zorgen ervoor dat het netwerk past bij jouw organisatie en de ontwikkelingen die daarin plaatsvinden!