Vagrant
Vagrant biedt een gebruiksvriendelijk platform voor het maken en beheren van eenvoudige lokale ontwikkelomgevingen, waardoor het installatieproces wordt gestroomlijnd.
Vagrant is een tool ontwikkeld door HashiCorp voor het opbouwen en beheren van
virtuele machine-omgevingen in één workflow. Het biedt een eenvoudige workflow
en richt zich op automatisering, waardoor de installatietijd voor
ontwikkelomgevingen lager wordt en de overeenstemming met productieomgevingen
toeneemt.
Hier is hoe Vagrant meestal wordt gebruikt:
- Configuratiebeheer: Vagrant stelt je in staat om lichte, reproduceerbare
en draagbare ontwikkelomgevingen te maken en te configureren. Het gebruikt
een eenvoudig configuratiebestand (genaamd Vagrantfile) om het type machine
dat je wilt, de software die moet worden geïnstalleerd en hoe ze moeten
worden geconfigureerd, te beschrijven.
- Voorziening: Vagrant kan automatisch software installeren op de virtuele
machine zodra deze is aangemaakt, met gebruik van provisietools zoals
shell-scripts, Ansible, Chef of Puppet. Dit is vooral nuttig voor het
opzetten van complete ontwikkelomgevingen.
- Provider Onafhankelijk: Hoewel Vagrant voornamelijk werkt met VirtualBox,
ondersteunt het andere providers zoals VMware, AWS en anderen. Deze
flexibiliteit stelt je in staat om je virtuele machines bij verschillende
providers te draaien met dezelfde configuratie.
- Netwerken: Vagrant omvat eenvoudig te configureren, ingebouwde
ondersteuning om netwerkinterfaces op te zetten waarmee je gemakkelijker
toegang krijgt tot je virtuele machine vanaf je host machine of vanaf andere
machines in hetzelfde netwerk.
- Gesynchroniseerde Mappen: Vagrant synchroniseert je projectbestanden met
de virtuele machine, waardoor je door kunt gaan met werken aan je
projectbestanden op je host machine, maar de resources in de virtuele machine
kunt gebruiken om je project te compileren of uit te voeren.
- Draagbare Werkomgevingen: Vagrant boxes zijn volledig wegwerpbaar. Als er
iets misgaat, kun je de omgeving binnen enkele minuten vernietigen en opnieuw
creëren zonder zorgen.
Vagrant is bijzonder populair onder softwareontwikkelaars, systeembeheerders en
DevOps-engineers omdat het helpt bij het creëren van een consistente omgeving
die gedeeld kan worden binnen teams, en zo helpt om het “het werkt op mijn
machine”-syndroom te verminderen.
Dit boek, Ansible voor DevOps, vormt de technische basis voor de aanpak binnen het C2 Platform.
C2 Platform-afbeeldingen voor LXD, VirtualBox met Ubuntu, RedHat Enterprise Linux en Windows 2022 Server.