Suche
Der König ist tot – lang lebe der König!

Vagrant destroyed? Vorhang auf für Thronfolger Otto!

Tom Wießeckel

©HashiCorp

Vagrant gilt zweifelsohne als eine der wichtigsten Virtualisierungslösungen auf dem Markt. Dennoch scheint sie nicht einmal den Machern selbst genug zu können … deswegen wurde jetzt Otto vorgestellt, der das Erbe Vagrants antreten soll. Der König ist tot – lang lebe der König!

vagrant up ist einer der Befehle, der vielen von uns im Daily Business wahrscheinlich im Schlaf über die Tastatur huscht; praktisch, mächtig, beinahe jede beliebige Konfiguration ist mit ein wenig Handarbeit ist denkbar. Jetzt bekommt die Virtualisierungslösung aus dem Hause HashiCorp jedoch Konkurrenz – aus dem eigenen Lager: Otto soll gegenüber Vagrant, das sich hin und wieder als zickig erwies und bisweilen zahlreiche Workarounds benötigte, alles besser machen.

Otto

Mit Otto wurde nun der „Successor to Vagrant“ vorgestellt, eine Single Solution vom Development bis hin zum Deployment einer Anwendung. Die Besonderheiten liegen dabei unter der Haube: So soll Otte in der Lage sein, ohne Konfiguration das richtige Development Environment zu schaffen. Außerdem dreht sich alles um Microservices.

Otto setzt dabei auf den anderen Open-Source-Tools des Unternehmens auf: Vagrant, Serf, Consul, Packer, Terraform, Vault und Nomad.

Das erklärte Ziel von Otto ist es, Entwicklern so viel Arbeit wie nur irgend möglich abzunehmen. Dazu folgt es drei Grundsätzen: Es will das Development Environment abstrahieren, das Deployment vereinfachen und den Umgang mit Microservices vereinfachen.

Lasset die Spiele beginnen

Im Unterschied zu Vagrant, bei dem für jede Entwicklungsumgebung eine eigene Vagrantfile, in der alle Vorgaben definiert sind, geschrieben werden musste, genügt Otto eine simple Appfile – sofern man überhaupt eine anlegen möchte.

The Appfile is the simplest configuration format we’ve ever made. Actually, everything in the Appfile (including the existence of the Appfile itself) is completely optional. You can run Otto in any directory and it will attempt to discover the application type automatically.

Wer dennoch gerne mehr Kontrolle über seine Entwicklungsumgebung hätte, findet in der Appfile zahlreiche Konfigurationsmöglichkeiten. Als Default orientiert sich Otto jedoch an Best Practices und entscheidet selbständig, welches Betriebssystem, wie viel Arbeitsspeicher und welche Art von Deployment gewählt werden soll.

Darüber hinaus verspricht HashiCorp, dass Otto über die Zeit noch intelligenter werden und neue Standards übernehmen soll.

First-class-Support für Microservices

Microservices sind ein Trend, dem man sich momentan kaum entziehen kann – ob das nun sinnvoll ist oder nicht, sei einmal dahingestellt. Mit Otto hat man sich bei HashiCorp jedenfalls ganz diesem Thema verschrieben.

Abhängigkeiten zu verschiedenen Services werden im dependency-Block der bereits erwähnten Appfile spezifiziert. Dabei spielt es keine Rolle, ob die angegebene URL zu Git, Mercurial, einem Dateipfad oder anderen Quellen führt – Otto genügt die Information, dass eine Abhängigkeit existiert.

Während des Build-Prozesses zieht sich Otto die Appfiles der angegebenen Abhängigkeiten; darin sind die Informationen über die Installation und die Konfiguration enthalten. Und, unter Umständen, auch Informationen über weitere Abhängigkeiten – darum kümmert sich Otto ebenfalls.

In der Entwicklungsumgebung erledigt Otto die Konfiguration und den Start der Services in der selben VM; beim Deployment wird die Konfiguration der Applikation übernommen, sodass sie in der Lage ist, mit den Services zu kommunizieren.

Das Deployment

Wie bereits erwähnt, orientiert sich Otto an den Best Practices der jeweiligen Sprachen; und das gilt auch für das Deployment. Es kümmert sich dabei um die Infrastruktur, den Build und letzten Endes das Deployment der Applikation.

Hierbei wurde ein besonderer Wert auf die Cloud gelegt. So soll Otto in der Lage sein, jede beliebige Applikation in jede beliebige Cloud-Umgebung zu deployen – ohne großartigen Konfigurationsaufwand.

In der aktuell vorliegenden Version 0.1 wird zwar nur AWS unterstützt, HashiCorp verspricht aber für die nahe Zukunft, dass schnell neue Anbieter folgen sollen.

Die Zukunft beginnt jetzt

Was bisher über Otto bekannt ist, klingt zugegebenermaßen sehr verlockend. Und Otto soll dabei keinesfalls Vagrant ablösen – viel mehr soll es parallel dazu weiterentwickelt und veröffentlicht werden.

Vagrant is a mature, healthy project that is continuing to grow every day. We are committed to supporting Vagrant for the foreseeable future and will continue to release new versions. Otto is our vision for the next generation and will be developed alongside Vagrant.

Wer sich näher mit dem Tool beschäftigen möchte, dem sei zunächst die offizielle Ankündigung ans Herz gelegt. Die Intro-Sektion erklärt en Detail die Use Cases sowie die Funktionsweise, und wer sich den Code selbst ansehen möchte, der sollte einen Blick ins GitHub-Repository werfen.

DevOpsCon Whitepaper 2018

Free: BRAND NEW DevOps Whitepaper 2018

Learn about Containers,Continuous Delivery, DevOps Culture, Cloud Platforms & Security with articles by experts like Michiel Rook, Christoph Engelbert, Scott Sanders and many more.

Verwandte Themen:

Geschrieben von
Tom Wießeckel
Tom Wießeckel
Thomas Wießeckel war von 2009 bis 2017 Redakteur bei Software & Support Media. Seine Themengebiete umfassen Webtechnologien und -Entwicklung sowie die Bereiche Mobile Development und Open Source. Er arbeitete an regelmäßig erscheinenden Magazinen wie dem PHP Magazin mit und hat das Magazin Mobile Technology ins Leben gerufen. Vor seiner Zeit als Redakteur hat er als freier PHP- und Frontend-Entwickler gearbeitet.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: