ottoはvagrant代替ではないし現状では自由度が低すぎて使い物にならない
- k_bigwheel
- 1903
- 1
- 0
- 0
otto再挑戦したら少し使い方がわかった。しかし現状ではdockerイメージとして提供されていないdb/ミドルウェアを使うケース、標準のtypeではカバーできない言語では基本的に辛い。dockerイメージで事足りないようなdb/ミドルウェアの使い方をするケースもつらい
2016-02-29 03:41:47例えばscalaをottoでやろうとすると辛い。そりゃtypeにjavaを指定してホストでコンパイルした成果物をottoで作ったVM内で走らせればできるけど、デバッグランしたいときやコンパイル環境によって差異がありうるのでやはりゲスト内でsbt/scalaコマンドを打ちたい。
2016-02-29 03:45:26(前文補足)javaはその理念からもコンパイル環境によって成果物に違いがあるべきではないのは前提。ただし往々にして理想が達成されないことはよくあるので、開発者の中でOSが混在する場合は標準のコンパイル環境というのはあると便利。
2016-02-29 03:47:26>> hashicorp/hcl: HCL is a configuration language. github.com/hashicorp/hcl hclってまたjson互換フォーマットかー。そこにはhoconなんかの先行もあるんだけど、これは流行りそうにないなあ。
2016-03-06 16:57:45yamlでいいんじゃないかな。たしかにフォーマットが少し直感的でないので学習コストはかかるけど、だったらjsonを使えばいい。elasticsearchのAPIは多くがそういう設計になっているし、実際それが良いと思う。なにより多くの言語ですでにサポートされているしね。
2016-03-06 16:58:55otto雑感: やはりvagrant後継とは言いがたく、vagrant consul teraformなどhashicorpプロダクトをまとめて束ねたものでvagrantを置き換えるには明らかにオーバースペック。
2016-03-06 18:24:32しかもまだ環境定義の柔軟性が極端に低いため、RubyやJavaのような代表的な言語を用い、dockerコンテナでミドルウェアの用意が済むような開発にしか使えない。
2016-03-06 18:26:15dev環境の向こう側、本番環境へのデプロイについてはまだ試していないためなんとも言えないが現状ではawsにしか対応していないらしい。また本番環境へのデプロイを前提としているためにdev環境の定義に制約があるという情報も(リンク失念)
2016-03-06 18:27:41まとめると、vagrantによる環境構築がdocker image + 各環境のインタプリタ/コンパイラインストール で済ませられるならottoへの乗り換えは可能。実際vagrantfileを一から書く必要もないしconsulによりミドルウェアへのアクセスも非常に楽。
2016-03-06 18:29:39otto devで使用されるVagrantのboxファイルを変更する - demiglacesource’s diary demiglacesource.hatenablog.com/entry/2015/10/… うーん、hashicorpファンな人も程度・項目に差はあれ一様にこういうリアクションだよなあ。
2016-03-06 21:50:10ほぼまる一日かけてやっとottoでelasticsearch + mysql + scalaの環境を整えたけど、やはり問題は多い。今回はdev環境のvagrant設定を細かくいじれないことで躓いた。
2016-03-06 22:27:32VMの割り当てメモリを増やしたいだけなのにdev_vagrantfileを使っては、ottoのvagrantfile自動生成の利点をまったく享受できない。本当は設定をマージしてくれればいいんだけどそれほど器用じゃない。
2016-03-06 22:29:17ottoの哲学を読む限りそのへんのリソース割り当ては自動で調整してくれるようなことも書いてあったが、少なくとも現状そんな機能はない。
2016-03-06 22:30:17とりあえず手動で./.otto/compiled/app/dev/Vagrantfileを書き換えるのが無難だがコンパイルのたびに上書きされる上、.otto下はバージョン管理されないことをottoは期待している。やっぱこのツール筋悪い気がするぞ
2016-03-06 22:31:13