HashiCorp: Treffen Sie Otto, den neuen Vagrant

In der Welt der Devops-Tools wird Vagrant häufig verwendet, um reproduzierbare VM-Umgebungen für Entwicklung und Test zu erstellen. Da sich die Entwicklung von VMs zu Containern hin und her bewegt, haben Vagrant-Entwickler Mitchell Hashimoto und sein Unternehmen HashiCorp entschieden, dass ein Nachfolger in Ordnung ist.

Otto, wie das neue Projekt genannt wird, automatisiert die Erstellung von Anwendungsumgebungen sowohl für die Entwicklung als auch für die Produktion. Es ist eher eine Ergänzung zu Vagrant als ein Nachfolger, und es stellen sich immer noch Fragen zu seiner Rolle in einer Welt, in der Vagrant möglicherweise schwer zu verdrängen ist.

Vagrant und noch mehr

Otto wurde für drei Zwecke entwickelt:

  1. Erstellen Sie Anwendungsentwicklungsumgebungen, ohne diese explizit in einer Vagrant-Datei ab Maschinenebene formulieren zu müssen
  2. Stellen Sie Apps direkt aus einer Entwicklungsumgebung für die Produktion bereit und berücksichtigen Sie dabei die Unterschiede zwischen diesen Umgebungen
  3. Tun Sie dies alles auf eine Weise, bei der containergestützte Mikrodienste anstelle von VMs als Produktionseinheit verwendet werden

Otto verwendet Appfiles, ähnlich wie Vagrant's Vagrantfiles, um zu sagen, was eine bestimmte Anwendung benötigt. Es beschreibt die verwendete Sprache, Abhängigkeiten und Softwareversionierung, enthält jedoch nicht automatisch die mit dem Hostcomputer verbundenen Anforderungen (Betriebssystem, Speicher usw.).

In einem eWeek-Artikel über Otto wurde Armon Dadgar, Mitbegründer und CTO von HashiCorp, mit den Worten zitiert, Vagrant sei ein Nachfolger "im spirituellen Sinne und nicht im technologischen Sinne". Da Otto Vagrant und andere HashiCorp-Tools (nämlich Packer und Terraform) nutzt, kann es als Abstraktionsschicht für alle diese Anwendungen gleichzeitig betrachtet werden.

Auf einer anderen Seite auf der Website des Otto-Projekts heißt es: "Vagrant ist eine großartige Möglichkeit, Konfigurationsmanagement, undurchsichtige Betriebssysteme usw. zu testen. Diese Anwendungsfälle werden nicht verschwinden. Aus den oben genannten Gründen sind wir bestrebt, Vagrant weiter zu verbessern und freizugeben." neue Versionen von Vagrant für die kommenden Jahre. Aber für den alltäglichen Entwickler sollte Otto Vagrant im Laufe der Zeit ersetzen. "

Magisch, aber auch eigensinnig

Otto liefert Standardannahmen zum Einrichten einer Umgebung - ein potenziell spaltender Ansatz. "Wenn Sie Otto mitteilen, welche Art von Anwendung Sie entwickeln", sagt der obige Link, "weiß Otto, wie diese Anwendung unter Verwendung von Best Practices der Branche entwickelt und bereitgestellt wird. Mit der Zeit wird Otto intelligenter und übernimmt neue Best Practices." um Ihre Umgebung zu verbessern. "

Ottos meinungsgebundene Standardannahmen (von Hashimoto euphemistisch als "Magie" bezeichnet) können außer Kraft gesetzt werden, aber es ist ein philosophischer Bruch mit Vagrants Haltung, das System-Setup so explizit wie möglich zu gestalten.

Ein Thread bei Hacker News, in dem Otto vorgestellt wurde, mit einem einleitenden Kommentar von Hashimoto selbst, löste gemischte Reaktionen aus, viele davon in Bezug auf die Philosophie des Systems oder wie Vagrant für viele von ihnen Lösung genug ist. "Es ist ziemlich deprimierend zu sehen, wie HashiCorp einem System, das bereits viel zu viel zufällige Komplexität aufweist, mehr Ebenen hinzufügt", schrieb ein Kommentator.

Einem anderen Kommentator gefiel jedoch die Idee, Best Practices durchzusetzen: "Ich glaube nicht, dass ich unterschätzen kann, wie sehr ich nicht über die verschiedenen Best Practices für Bereitstellungen auf dem Laufenden bleiben möchte. Ich habe kein Interesse daran und es ist derzeit für einige ein ziemlich teures Problem, es zu beheben. "

Otto befindet sich in einem sehr frühen Stadium. Die Plug-In-Architektur, die Hauptmöglichkeit zur Erweiterung der Funktionalität, ist noch nicht einmal für die Verwendung verfügbar. Sollte Vagrant langfristig in Otto subsumiert werden, könnte der Plan nach hinten losgehen, wenn der Anwendungsfall für Vagrant den von Otto übertrifft.