Shell Scripting en Ansible: de basis van IT Automation

Er is een oud gezegde in de IT: als je iets twee keer handmatig doet, automatiseer het dan de derde keer. In de praktijk wachten de meeste mensen tot de twintigste keer. En dan is het eigenlijk al te laat. IT Automation is geen fancy buzzword. Het is de kern van hoe moderne IT-teams hun werk gedaan krijgen zonder gek te worden. Van Linux-beheer en serverconfiguratie tot DevOps automation en software-uitrol: automation helpt organisaties efficiënter te werken, fouten te voorkomen en meer uit hun IT-omgeving te halen.

Servers configureren, software uitrollen, logbestanden opschonen, gebruikers aanmaken: het zijn allemaal taken die je kunt automatiseren. En als je het niet doet, ben je tijd aan het verspillen die je beter kunt besteden. Maar hoe pak je automation slim aan? Marcel Kornegoor, open source guru bij ons zusterbedrijf AT Computing, legt uit hoe shell scripting en Ansible helpen om IT-beheer efficiënter en betrouwbaarder te maken.

De nadelen van handmatig werk

Mensen maken fouten. Dat is geen belediging, dat is statistiek. Bij de eerste keer dat je een server configureert, gaat het waarschijnlijk helemaal goed. Bij de tiende keer vergeet je echter onvermijdelijk ergens een stap. En bij de twintigste keer doe je het in de verkeerde volgorde. En bij de honderdste keer heb je allang ontslag genomen uit verveling of omdat je gek geworden bent van het geestdodende en repeterende handwerk.

Daar komt bij: handmatig werk schaalt niet. Niet in snelheid, niet in betrouwbaarheid en niet in motivatie. Automation lost alle drie die problemen op. Een script doet het elke keer hetzelfde, wordt niet moe en klaagt niet (tenzij je dat zelf in je script hebt gezet).

Waarom is automation juist nu zo belangrijk? Omdat IT-omgevingen steeds complexer worden. Waar een systeembeheerder vroeger een paar servers beheerde, gaat het tegenwoordig vaak om tientallen of zelfs honderden systemen, verspreid over datacenters en cloudomgevingen. Tegelijkertijd verwachten organisaties snellere deployments, hogere beschikbaarheid en meer aandacht voor security. Zonder automation wordt het steeds moeilijker om die verwachtingen waar te maken.

Automatiseren met Shell Scripts

De simpelste vorm van automation is een shell script. Een shell script wordt in Linux-omgevingen vaak geschreven in Bash, waardoor de termen shell scripting en Bash scripting regelmatig door elkaar worden gebruikt. Een paar regels Bash en je hebt een taak geautomatiseerd die je anders vijf minuten kost. Vijf minuten klinkt niet veel, maar als je het elke dag doet, is dat meer dan een volle werkweek per jaar.

Shell scripting is geen glamoureus werk waarover je bij de koffiemachine opschept tegen je collega’s. Het is het soort vakmanschap dat niemand ziet tot het er niet is. Maar het is ongelooflijk krachtig. Met `sed` kun je bestanden bewerken, met `awk` kun je data verwerken, en met een simpele for-loop en `ssh` kun je dezelfde actie op honderd servers uitvoeren.

Het mooie van shell scripting is dat je het overal kunt gebruiken. Voor veel beheerders vormt het de basis van Linux automation en efficiënt Linux-beheer. (Nagenoeg) elk Linux-systeem heeft standaard Bash aan boord. Geen installatie, geen configuratie, geen afhankelijkheden. Gewoon schrijven en uitvoeren. Oh, en wel even `chmod +x` natuurlijk, anders doet ‘ie het niet!

Een praktisch voorbeeld: stel dat je op tientallen Linux-servers dezelfde gebruiker wilt aanmaken of een configuratiebestand wilt aanpassen. Handmatig kost dat al snel een uur werk en de kans op fouten neemt toe. Met een shell script voer je dezelfde taak binnen enkele seconden uit en weet je zeker dat iedere server op dezelfde manier wordt behandeld.

Ansible: automation op schaal

Shell scripts werken prima voor individuele taken op een handvol servers. Maar wat als je vijftig servers identiek wilt configureren? Of als je ervoor wilt zorgen dat een configuratie altijd in de gewenste staat is, ook als iemand er handmatig iets aan verandert?

Dan komt Ansible in beeld. Ansible is een tool voor configuratiemanagement die werkt zonder dat je een software-client op de doelservers hoeft te installeren. Het enige wat je nodig hebt is SSH-toegang en Python. Je schrijft een playbook, een soort recept dat beschrijft hoe je servers eruit moeten zien, en Ansible voert het uit.

Het handige aan Ansible is dat het idempotent is. Een woord dat indrukwekkender klinkt dan het is: het betekent simpelweg dat je een playbook meerdere keren kunt uitvoeren zonder dat het schade aanricht. Als een pakket al geïnstalleerd is, slaat Ansible het simpelweg over. Als een configuratiebestand al correct is, raakt Ansible het niet aan. Het brengt alleen maar dingen in de gewenste staat, zonder bijeffecten.

Waarom Shell Scripting en Ansible elkaar versterken

In de praktijk gebruik je shell scripting en Ansible naast elkaar. Shell scripts voor snelle, lokale taken. Ansible voor het beheren van groepen servers en het afdwingen van configuratie. Ze vullen elkaar aan als hamer en schroevendraaier: verschillende gereedschappen voor verschillende klussen, maar allebei onmisbaar in je gereedschapskist. Het is zelfs heel gebruikelijk om vanuit een Ansible playbook een shell script uit te voeren.

Automation is een mentaliteit

Het lastigste aan automation is niet de techniek. Het is de gewoonte. Het is verleidelijk om “even snel” iets handmatig te doen in plaats van er een script voor te schrijven. Maar elke keer dat je dat doet, kies je voor de korte termijn ten koste van de lange.

De beste DevOps-engineers die we kennen hebben een simpele vuistregel: als ik dit morgen weer moet doen, automatiseer ik het vandaag. Niet volgende week. Niet als het rustiger wordt. Vandaag. Die mentaliteit vormt de basis van succesvolle DevOps automation.

Aan de slag met Shell Scripting en Ansible

Automation hoeft niet ingewikkeld te zijn. Vaak begint het met een eenvoudig shell script dat een vervelende taak uit handen neemt. Van daaruit kun je verder bouwen met tools als Ansible. Het belangrijkste is dat je begint: de tijd die je vandaag investeert in automation, verdien je morgen dubbel en dwars terug.

Onze cursussen zijn ontwikkeld door de open source experts van AT Computing en zit vol praktische voorbeelden.
Allemaal gegeven door zeer ervaren trainers die dagelijks met deze technologie werken.
Shell Scripting Fundamentals
Ansible Fundamentals

Onderwerpen
Actieve filters: Wis alle filters
Pageloader
PRIVACY VOORWAARDEN

Jouw persoonsgegevens worden opgenomen in onze beschermde database en worden niet aan derden verstrekt. Je stemt hiermee in dat wij jou van onze aanbiedingen op de hoogte houden. In al onze correspondentie zit een afmeldmogelijkheid