NomadとOttoのmeetup参加メモ
HashiCorpのCTOであるArmon Dadgar氏によるNomadとOttoに関するmeetupの参加メモ。 またしてもかなり不完全ですが。。。こっちって技術系でもmeetupでPC開いている人が殆どいなくてメモとりづらいんですよね。
- 動画は無し。スライドはこちら
- ステッカーは配ってませんでした
HashiCorpプロダクト全般の話
- Vagrantがあった状態で会社を作った。最初はDevOpsの会社だと思われていたがDevOpsだけじゃなくてDev寄りのツール等も作ってきた。
- Vaultはオープンにするつもりで作ったわけではなかった。サポート等をする内に認証情報等を保存することが増えてきて、どうやって管理したら良いんだろうということを考えて作って社内で使っていたものをオープンソースにした。 実は最初のうちはPostgreSQLに平文で保存していた(しようとしていたかも?)。
- ちなみにHashiCorpはaにアクセントがある模様。oだと思ってた^^;
Nomadの話
- Nomadはクラスタ管理ツール
- 内部的にはConsulとSerfを使っている。
- コンテナ・VM・スタンドアロンのアプリをサポートしている。
- 現在はコンテナはDocker、VMはQEMU/KVM、スタンドアロンはJar(Java)と静的バイナリのみ。今後拡大予定。
- amplabやGoogle Researchの研究をかなり参考にした。
- データセンターやクラウドサービス、リージョンなどを跨いで管理できる
- EvaluationしてからAllocationするといった感じのアーキテクチャを紹介(図が無いとアレですが。。。)
- ジョブの分散処理はロックとかではなくOptimisctic Concurrencyによるとのこと。
- Digital Oceanでテストしたらしい。数百ノード使ったとか言っていた。
- 0.2ではService Discovery、SystemScheduler、RestartPolicies、EnhancedConstraints等を追加予定
- 0.3ではCron、JobQueuing、Latency-Aware Scheduling等を追加予定
Ottoの話
- Vagrantでは同じVagrantファイルで全く同じものができる。ただし、昔の脆弱性等をそのままデプロすることになるし、古いOSを使うことになる。 Ottoではこの辺りは自動で解決してくれる。
- vagrant upがotto devになる等の対応の話
- 開発者がコードのデプロイをするにはググッて出てきた情報をコピペするという無駄な作業を今でも行っていたりする。しかも例えばrailsアプリのデプロイであれば毎回同じようなことをするだけなのに。
- ottoならotto infra, otto build, otto deployの3ステップで完了する。
- 何の設定もしなくてもコマンドを実行するだけで良い。
- 設定が必要な場合はAppfileに書くことができる。
- Appfileの書き方の例。Appfileは独自フォーマットみたい。
以上。
とりあえずちゃんと使ってみたらまたQiita辺りにポストしようかと思います。