Vagrant - eine Liebeserklärung

Vagrant? WTF?

Mein erster Kontakt mit Vagrant war eher eine Kollision. In einem Online-Kurs wurde Vagrant für den Aufbau des Kurs-Environments verwendet. Gleich mehrere Dinge stiessen mir sauer auf: die Abhängigkeit von einem Anbieter-Repository, aber noch viel mehr die Tatsache, dass dieses Tool in Ruby geschrieben wurde … kann doch nichts taugen. Ich war schon so oft mit Ruby Tools auf Sand gelaufen (schon mal versucht, Redmine zu customizen? Versteht mich jemand? ;-) ), ich wollte da einen grossen Bogen drum machen. Dann war da noch die - initiale - Fokussierung auf VirtualBox. Gruselig!

Zweiter Anlauf

Irgendwann war es dann so weit: ich war so oft auf Vagrant gestossen, ich musste mich einfach mal damit befassen. Als ich erstmal einstieg, hatte mich das Tool dann auch sehr schnell gefangen.

Einfach

In einer ordentlichen Distribution ist Vagrant mit wenigen Handgriffen installiert. Selbst unter MacOS kein Problem, dank Homebrew! Genau so leicht ist VirtualBox zu instellationieren. Also braucht das Tool nur einen sehr kurzen Anlauf.

Dann die ersten Schritte: mit zwei Zeilen ein CentOS installieren. Echt jetzt? Wie cool! Was gibt es denn sonst noch?

Dann die Tour durch das Repo von Hashicorp, beeindruckend was ich alles mit 2 Zeilen bekommen kann.

Ich hab dann auf udemy oder Packtpub.com (genau erinnere ich mich nicht) mal für Ansible und Vagrant die Kurse durchlaufen. Das gab mit den Rest. Von nun an ist Vagrant ein ständiger Begleiter. Schneller, effizienter, cooler geht wohl nicht. Ich bin ein Kommandozeilen-Junky und Vagrant gibt mir alles was ich brauche.

Eleganz

Ich kann mir also meine Development-Environments mit ein paar Dateien einfach zusammenscripten … Nach dem “vagrant init …” einfach

vagrant up

Und die Kiste rennt.

vagrant destroy vagrant up

Und die ganze Box wird von Grund auf neu hochgezogen. Dann die ganze Power von Ansible und wenn man das richtig aufzieht, cached man die images einmal lokal und baute für seine images die Repositories lokal auf. Ansible kann die dann konfigurieren und das Notebook wird zur autarken Environment-Schmiede. GIT hält dann alle Änderungen und Arbeiten fest, bis man wieder mal im Internet ist und alles zu seinem git-Hoster pushed.

Jedes Tool für sich ist nett, aber die Kombination strotzt nur so vor Eleganz. Backup? Quatsch! GIT und los! Backup ist für Daten, nicht für System oder Programme.

Versuch’s einfach!

Ich mach hier keinen Kurs, glaub mir oder eben nicht. Wenn ja: mach einen Online-Kurs, filze youtube für Intros oder kauf Die ein Buch je nach Deinem Gusto. Dann wirst Du genau wissen, wie sexy die Lösung ist.

Deployer haben Docker.
Developer haben Vagrant.
… und Docker
… und damit auch den ganzen Rest!

Featured Articles
Featured posts