TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Otto, the successor to Vagrant

772 pointsby agonzalezroover 9 years ago

46 comments

mitchellhover 9 years ago
Hello everyone! I just wanted to note that I&#x27;m running around at HashiConf and likely won&#x27;t be around to answer as many questions or comments as I&#x27;d like. But thank you for all the activity around this and we&#x27;re excited to show this to you today.<p>I want to just give a few key notes, though many other folks around here are right.<p>* For Otto 0.1, we focused on developer experience. We don&#x27;t recommend deploying for anything more than demos. Future versions of Otto _are_ going to make this production-ready though, and we already have plans in place to do so.<p>* As others have discovered, Otto is built on top of our other tools and executes them under the hood. We didn&#x27;t reinvent the wheel, and this has huge benefits. We&#x27;re dedicated to making all our tools better, and as we do, Otto naturally improves as well.<p>* Otto is a lot of magic, we&#x27;re not trying to hide that. It is a magical tool. But we also give you access to the details (OS, memory, etc.) using &quot;customizations.&quot; We&#x27;ll improve customizations and increase the number of knobs over time.<p>* Vagrant development will continue, we have some major Vagrant releases planned. Please see this page for more info: <a href="https:&#x2F;&#x2F;ottoproject.io&#x2F;intro&#x2F;vagrant-successor.html" rel="nofollow">https:&#x2F;&#x2F;ottoproject.io&#x2F;intro&#x2F;vagrant-successor.html</a><p>* Remember that Otto is 0.1 today and Vagrant is 6 years old. We have a long way to go to reach the maturity and toughness of Vagrant. We&#x27;re committed to make that happen, but it will take time.<p>Thanks everyone, sorry for not being able to be more active in here. Have a great day!
评论 #10292545 未加载
评论 #10293469 未加载
评论 #10293149 未加载
krickover 9 years ago
I&#x27;m not sure if I find it astonishing or expected that somebody finds all that magic good enough to both build that tool and to be thrilled about somebody did. I, for one, find it absolutely unacceptable. The whole point of virtual containers is to have development environment closely resembling production one (not entirely possible, but better than nothing). Your promise that your tool gives me &quot;best possible environment for Python web-app&quot; isn&#x27;t enough for me, not even close. In fact, I don&#x27;t really care what you consider &quot;best possible environment&quot;, because I already know that there isn&#x27;t one and I have experienced multiple times these unpleasant moments when you find out that for your app it actually matters if you use Amazon S3 or GlusterFS on real hardware, how many nodes there are, what are exact settings in php.ini or something else you&#x27;d be glad not to care for, but you suddenly do care. I don&#x27;t need magic software, I don&#x27;t want magic software, I don&#x27;t like magic software, I&#x27;m afraid of it. I really struggle to imagine somebody who isn&#x27;t a total newcomer and feels otherwise, but apparently there are such people.<p>What I ideally want is virtual machine based (like vagrant), immutable configuration (like NixOS) approach, with reasonably simple configuration (like docker+fig) and file-based settings (as opposed to docker, where your image is pretty much separate from Dockerfile) with 1 common repo for your &quot;best possible environment&quot; config examples, where every somewhat important decision is explicitly listed and can be changed by user. So something similar (in some sense) to vim-pathogen: git clone, maybe run some other magic command and your env is up and running in several minutes. If contents of config get changed, so does virtual machine.<p>I understand that what I&#x27;d like to have is a bit utopical in today&#x27;s reality. But nevertheless, Otto is pretty much opposite of what I consider perfect — I cannot imagine anything farther from desirable than that.
评论 #10293871 未加载
评论 #10293605 未加载
评论 #10295121 未加载
throwaway9851over 9 years ago
Key takeaways for me:<p>- __Right now__, Otto appears to be Vagrant++. I wouldn&#x27;t use this for prod, at least not for a while.<p>- Otto is written in Go. Source is here: <a href="https:&#x2F;&#x2F;github.com&#x2F;hashicorp&#x2F;otto" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;hashicorp&#x2F;otto</a><p>- Otto uses a plugin model for different applications. Plugins aren&#x27;t supported yet. <a href="https:&#x2F;&#x2F;ottoproject.io&#x2F;docs&#x2F;plugins&#x2F;app.html" rel="nofollow">https:&#x2F;&#x2F;ottoproject.io&#x2F;docs&#x2F;plugins&#x2F;app.html</a><p>- Built in plugins don&#x27;t appear to be consuming a sane plugin interface. How the built-in plugins work is non-obvious.<p>- Under the hood, Otto appears to be using Packer, Terraform, and Vagrant.<p>- I would consider Otto, Nomad, and Terraform to all be &quot;provisioner tools&quot;. They seem to be all directly related to tools such as Ansible provisioning, Chef provisioning, Fog, or other direct management tooling, like the AWS CLI or Powershell CLI for VMWare.<p>- Otto, Nomad, and Terraform all promise to solve the same problem in prod in different ways:<p>-- Otto is a one-off push to set up infrastructure and deploy to prod.<p>-- Nomad is for pushing jobs to help maintain long standing infrastructure in prod.<p>-- Terraform is for periodic pushes to prod to create idemopotent infrastructure.<p>In other words, from least to most robust IMO:<p>Least Robust -------&gt; Most Robust<p>Otto --&gt; Terraform --&gt; Nomad
评论 #10293278 未加载
alrsover 9 years ago
&quot;Notice that the Appfile makes no mention of OS, memory, disk space, etc. Otto has built-in knowledge of best practices and picks smart defaults for you.&quot;<p>Sounds like a big bag of &quot;nope.&quot;
评论 #10292401 未加载
评论 #10293104 未加载
评论 #10292448 未加载
评论 #10292721 未加载
dlandisover 9 years ago
I use Vagrant regularly for development work and it is a good tool, however, it does still have a <i>lot</i> of issues. I have also gotten the sense over the years that HashiCorp developers could have been more responsive to users and addressed more of the issues that mattered most to the user base.<p>And now, with a new, complex, and broad product introduced...I just don&#x27;t have a lot of confidence that the quality is going to be there or that it will ever fulfill the very large goals that are outlined.<p>I would prefer they focused on Vagrant and made it a really outstanding, polished tool.
评论 #10293819 未加载
评论 #10293838 未加载
geerlingguyover 9 years ago
Seeing that it uses Vagrant behind the scenes, and other HashiCorp tools as well (meaning it does things beyond just local development environment configuration... which is what 99% of people use Vagrant for), how is Otto &quot;the successor to Vagrant&quot;?<p>To me, it seems like it&#x27;s just a bit of word play to try to get more interest in a product that is less interesting to some people. Vagrant is generic enough and helpful enough that it has become one of the two or three preferred tools for building local environments for developers.<p>AFAIK (anecdotal evidence here, to be sure), other HashiCorp tools are nowhere near as dominant. So is the tagline just to try to get more people interested in the tool?<p>It wouldn&#x27;t sound as interesting to _me_ if it were &quot;Otto, something like Heroku but a Go app that uses a bunch of HashiCorp products to deploy apps locally and in the cloud&quot;.
评论 #10293747 未加载
mpdehaan2over 9 years ago
I&#x27;m kind of glad to see this, as I wrote <a href="https:&#x2F;&#x2F;github.com&#x2F;mpdehaan&#x2F;strider" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mpdehaan&#x2F;strider</a> for the reason that Packer and Vagrant used different config files.<p>This appears to address that.<p>OTOH, it says it&#x27;s executing Vagrant and Packer under the covers, so I really need some of the Packer limitations I have (like <a href="https:&#x2F;&#x2F;github.com&#x2F;mitchellh&#x2F;packer&#x2F;issues&#x2F;409" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mitchellh&#x2F;packer&#x2F;issues&#x2F;409</a> ) addressed more than I want glue on top.<p>Anyway, if people want to hack on Strider, pull requests are welcome.<p>I&#x27;m not using it actively (yet), but it&#x27;s a very very tiny amount of code to supply both. All the work gets done by boto.<p>Back to otto - I am curious what otto means when it says it&#x27;s going to start to talk to infrastructure and means that it&#x27;s going ot be more of a workflow engine that can also invoke terraform or what.<p>The DSL changes appear to maybe be a step in that direction?<p>Would probably benefit from more than one liners on the homepage, to show what is really involved more quickly.
评论 #10292836 未加载
wesleytoddover 9 years ago
So I feel like the reason I like Vagrant is because it does it&#x27;s one job well, then gets out of my way. Doesn&#x27;t sound like this shares that philosophy.
评论 #10293718 未加载
评论 #10292746 未加载
评论 #10292887 未加载
评论 #10292926 未加载
LukeB_UKover 9 years ago
<i>All Ruby development environments look alike, all PHP development environments look alike, etc.</i><p>Did they do any user research? Doesn&#x27;t feel like it based on the above statement.
评论 #10292387 未加载
评论 #10292106 未加载
评论 #10292137 未加载
评论 #10292016 未加载
sanderson1over 9 years ago
I think HashiCorp did themselves somewhat of a disservice by presenting Otto as a &quot;successor&quot; to Vagrant. Vagrant is a great technology that solves complex problems. Otto <i>uses</i> Vagrant to solve a different set of problems.<p>Otto is designed to automate the provisioning of local dev environments and production environments. While some use Vagrant to solve this problem, it&#x27;s typically an un-standardized, home-grown solution. Otto is an attempt to standardize and automate the process.<p>FULL DISCLOSURE: I&#x27;ve been working on a project for the last year-ish that solves the exact same problems: Easily provisioning and configuring local dev environments and finding consistent parity between dev and production environments. I&#x27;m interested to really dig in and see the differences between Otto and the project I&#x27;ve been working on, Nanobox. Would love some outside feedback so feel free to take a look: <a href="https:&#x2F;&#x2F;nanobox.io" rel="nofollow">https:&#x2F;&#x2F;nanobox.io</a><p>But I digress. I think Otto is less a &quot;successor&quot; to Vagrant, and more of a natural offshoot that solves a different problem. I don&#x27;t ever see it replacing Vagrant, especially since it uses Vagrant behind the scenes.
robblesover 9 years ago
Looks really cool, excited to see some more detail on how it actually works!<p>Why the new custom config file format? I&#x27;ve mostly found that these homegrown formats (logstash? nginx?) suffer from inconsistency and lack of flexibility, and don&#x27;t have any obvious benefits. Why not use one of the following like other Hashicorp tools?<p>- JSON&#x2F;YAML, possibly with support for templating like Ansible<p>- A Ruby DSL<p>- A limited, but well-tested and understood format like .ini files
评论 #10292381 未加载
评论 #10292306 未加载
评论 #10292227 未加载
评论 #10292307 未加载
RomanPushkinover 9 years ago
Fails on Windows:<p><pre><code> the following errors and try again: vm: * The host path of the shared folder is missing: C:Projectsotto-playground * The host path of the shared folder is missing: C:Projectsotto-playground.ottompiledppoundation-consulpp-dev Error building dev environment: Error executing Vagrant: exit status 1 The error messages from Vagrant are usually very informative. Please read it carefully and fix any issues it mentions. If the message isn&#x27;t clear, please report this to the Otto project.</code></pre>
评论 #10293162 未加载
评论 #10293493 未加载
akurtzhsover 9 years ago
So the supported environments are available at <a href="https:&#x2F;&#x2F;www.ottoproject.io&#x2F;docs&#x2F;apps&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;www.ottoproject.io&#x2F;docs&#x2F;apps&#x2F;index.html</a>, and they&#x27;re Go, PHP, Node.JS, Ruby, and Docker.<p>I hope Python gets added to that list as a first class environment in the future.
评论 #10293850 未加载
Walkmanover 9 years ago
I don&#x27;t understand why so many people are so scared&#x2F;not interested&#x2F;afraid of system administration. It&#x27;s not that hard. Why does it have to be abstracted? Bringing more and more layers makes everything slower, more complex for sure. The only thing is really hard is configuring and managing an email server.
评论 #10293298 未加载
评论 #10294315 未加载
评论 #10295177 未加载
thejerzover 9 years ago
I love Vagrant. At this point, every repo I contribute to has a Vagrantfile. I&#x27;ve turned dozens of coworkers onto Vagrant. That said, I am not a fan of the full Hashicorp ecosystem. Reading through the Otto site, and comments on HN, my first reaction is that my favorite tool has been selected for planned obsolescence.
评论 #10293526 未加载
评论 #10293556 未加载
bovermyerover 9 years ago
There&#x27;s a lot of magic here. I&#x27;d love to know what&#x27;s going on beneath the hood.
评论 #10291990 未加载
discordianfishover 9 years ago
I love the idea in general and especially using git urls as dependencies and use the Appfile from their repos to bring those services (and their dependencies). That keeps ownership to the people best know about it (the developers of a given service) instead of have that centralized. But all this sounds very ambious.<p>I&#x27;m especially curious how to configure dependencies. You might need to creating tables in a database which is setup as a dependencies, but also need to support restoring from backups or setting up replication. Beside that, some of this configuration should belong to the owner of the service using the db (db names etc), other to the owner of the db (global server settings, limits etc). To add to that, some configuration needs to happen at runtime, so you can&#x27;t just update the Appfile.<p>Anyway, this sounds like an awesome &quot;UX&quot; - let&#x27;s see how it plays out in reality.
bryanlarsenover 9 years ago
Does this use Heroku buildpacks or do they reinvent the wheel?<p>Edit: Otto appears to do a lot of things. But the part that everybody&#x27;s complaining about is the &quot;magic&quot; part, the part that sets up a system automatically based on the language of the app. Heroku buildpacks also perform this magic, and have been open sourced and have a large community that helps maintain them. They&#x27;re useful outside of Heroku -- for instance you can use them with docker via <a href="https:&#x2F;&#x2F;github.com&#x2F;progrium&#x2F;buildstep" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;progrium&#x2F;buildstep</a><p>It seems crazy to me that Hashicorp would try and reinvent this wheel. It&#x27;s a problem that&#x27;s fairly easy to do as a proof of concept, but it&#x27;s the niggling details and number of combinations that can really explode.
评论 #10294236 未加载
评论 #10292041 未加载
mikehcover 9 years ago
Why not choose a name that is not already used by other project?<p>There is already a pretty popular library for android named Otto <a href="http:&#x2F;&#x2F;square.github.io&#x2F;otto&#x2F;" rel="nofollow">http:&#x2F;&#x2F;square.github.io&#x2F;otto&#x2F;</a>
评论 #10292665 未加载
nacho2sweetover 9 years ago
&quot;If your application depends on other services (such as a database), it&#x27;ll automatically configure and start those services in your development environment for you.&quot; -- Can you guys setup some tutorials that show this? Like you have a set of instructions for a Rails AWS deploy, but it would be nice to see like how to setup postgres etc with the dependencies.
Borborygymusover 9 years ago
For the love of all that is holy, why do their sample code fragments have `smart&#x27; quotes in them?
vezzy-fnordover 9 years ago
If I understand correctly, this is actually a bridge between several existing Hashicorp tools like Vagrant, Terraform and Consul (as hinted in &quot;What is Otto?&quot;) integrated into a one-stop solution.
评论 #10293088 未加载
drinchevover 9 years ago
&gt; 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.<p>Yeah I agree. That&#x27;s why there will be a time gap between 5 years, until Otto becomes mainstream. The eco-system of vagrant is so good that I even got it supported in my IDE ( WebStorm ). I don&#x27;t plan to use Otto, before I can enjoy all the benefits of Vagrant that exist today.
happywolfover 9 years ago
Real world has taught me &#x27;magic&#x27; only works in some specific cases and mine usually isn&#x27;t one of those. That is why anything that claims to be smart gets to my nerve. Instead, I prefer tools that are clearly scoped, do their own scope extremely well, and designed to complement each and work well together, AND with good documentations. Yes, Unix command line tools are good examples (except not all have good docs though)<p>There, I will vote for this option against any other tool that claims ability to do things automagically.
vinceguidryover 9 years ago
Wow, there goes my business idea. Kudos.
评论 #10292186 未加载
mhoadover 9 years ago
I almost feel like I am in the majority here but I am insanely excited for this.<p>It is precisely what I have wanted for a long time and the ability to customize and override defaults where wanted seems to handle most of the complaints that people in this thread are mentioning.<p>I don&#x27;t think I can underestimate just how much I don&#x27;t want to have to stay up to date with all the various best practices for deployments. I have zero interest in that and it is currently a fairly expensive problem to fix for many.
bgentryover 9 years ago
Otto looks great, and is probably a substantial improvement over Vagrant.<p>My biggest concern is that it still relies on VirtualBox for local dev. VirtualBox is unreliable and slow, especially its file mounting driver.<p>I&#x27;d love to see this evolve to use a different virtualization solution, maybe something based on the OS X Hypervisor Framework (ala <a href="https:&#x2F;&#x2F;github.com&#x2F;mist64&#x2F;xhyve" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mist64&#x2F;xhyve</a>)
评论 #10294274 未加载
ajsharmaover 9 years ago
If Otto&#x27;s Appfile mimics Heroku&#x27;s app.json file (<a href="https:&#x2F;&#x2F;devcenter.heroku.com&#x2F;articles&#x2F;heroku-button#creating-the-app-json-file" rel="nofollow">https:&#x2F;&#x2F;devcenter.heroku.com&#x2F;articles&#x2F;heroku-button#creating...</a>), that&#x27;d be a huge win to me in having more sustainable Rails open source projects.
Revellover 9 years ago
Seems like a good start to a useful project! I&#x27;m a bit turned off by the lack of customisation options for the servers though. I would like a bit more options in terms of what gets installed and what not (I don&#x27;t need Bazaar, Mercurial _AND_ git installed f.e. and I&#x27;d like nginx i.o. Apache).<p>I&#x27;ll definitely be keeping an eye on the project!
ldpgover 9 years ago
Heads up blank page for docs on custom types: <a href="https:&#x2F;&#x2F;ottoproject.io&#x2F;docs&#x2F;apps&#x2F;custom-plugin" rel="nofollow">https:&#x2F;&#x2F;ottoproject.io&#x2F;docs&#x2F;apps&#x2F;custom-plugin</a><p>Eagerly waiting to see what goes there eventually - very exciting!<p>Also, will there be a way to create custom Infra Types?
temuzeover 9 years ago
Never used Vagrant that much. How does Vagrant&#x2F;Otto compare to Docker&#x2F;Docker Compose&#x2F;Docker Swarm?
humbertomnover 9 years ago
Really nice to see it. Me and my co-worker had this feeling of needing something like OTTO when first using vagrant... I remember saying that it should definitely be a product. We ended up writing a python script for our user case that makes life really easy for new developers joining us.
allanmacgregorover 9 years ago
Does this mean that development focus will shift from Vagrant to Otto?<p>Is Otto mean to replace vagrant?
评论 #10293867 未加载
atriixover 9 years ago
Maybe Vagrant with Docker as backend will get some love now? That is native Docker (ie on a linux host) not just a separate vm to host Docker. The fact that one can&#x27;t set static ip-address using the Vagrantfile is annoying.
gueloover 9 years ago
Unfortunate name, there&#x27;s a popular Java open source library called Otto.
评论 #10292094 未加载
jamesfisherover 9 years ago
One thing Vagrant does right is to use a DSL. I have no idea why this has been abandoned in favor of the common error of inventing Yet Another XML&#x2F;JSON&#x2F;YAML&#x2F;TOML&#x2F;INI.
solusipseover 9 years ago
there is already go project named otto: <a href="https:&#x2F;&#x2F;github.com&#x2F;robertkrimen&#x2F;otto" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;robertkrimen&#x2F;otto</a>
评论 #10292497 未加载
评论 #10292442 未加载
digitalzombieover 9 years ago
I think I&#x27;ll stick with Vagrant and Ansible.<p>I&#x27;m not going to trade it for magic to be honest. Unless there is a compelling reason to do so that I&#x27;m not seeing&#x2F;reading.
buffoonover 9 years ago
Wonder if this attempt will work properly with windows unlike packer and vagrant. Path issues, unreliable builds, ugh. This isn&#x27;t the portability promise I expected.
评论 #10292131 未加载
guessmynameover 9 years ago
It seems that my ISP is poisoning my Internet connection once again :(<p><pre><code> Error building dev environment: Get https:&#x2F;&#x2F;checkpoint-api.hashicorp .com&#x2F;v1&#x2F;check&#x2F;vagrant?arch=amd64&amp;os=linux&amp;signature=&amp;version=: x509: certificate is valid for www.example.com, not checkpoint-api.hashicorp.com https:&#x2F;&#x2F;checkpoint-api.hashicorp.com&#x2F;v1&#x2F;check&#x2F;packer ?arch=amd64&amp;os=linux&amp;signature=&amp;version=</code></pre>
rmanalanover 9 years ago
How does this compare to azk <a href="http:&#x2F;&#x2F;www.azk.io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.azk.io&#x2F;</a> ?
brentoover 9 years ago
I&#x27;m not seeing anything about Python&#x2F;Django. Will that be added eventually?
cyber1over 9 years ago
&quot;The creators of Otto are also the creators of Vagrant. After working on Vagrant for over six years, we&#x27;ve learned a lot and we believe Otto is a superior tool for development plus so much more.&quot; - another successful project written on Go! Nice!
vellumover 9 years ago
Does this work on Digital Ocean droplets? Vagrant doesn&#x27;t.
评论 #10294509 未加载
loweja01over 9 years ago
Something Else!!!
loweja01over 9 years ago
yezsutexryckjg