ウォールマートがリリースしたDevOpsプラットフォーム「OneOps」レビュー
2年くらい前からたびたびDevOpsというキーワードが聞かれるようになっています。開発者と運用担当者、ディレクターなどが一体となって開発から本番環境への反映サイクルを高速化していくという体制を言います。
JenkinsをはじめとしたCIであったり、チャットであったりと個別の技術についてよく聞かれますが、今回はそんなDevOpsを統合的に提供するOneOpsを紹介します。OneOpsはアメリカのスーパーマーケット最大手であるウォールマートが開発している点が特徴となっています。
一番簡単なインストールはVagrantを使うこと
幾つかのインストール方法が紹介されていますが、最も簡単なのはVagrantを使うものです。
git clone https://github.com/oneops/setup cd setup/vagrant cp ~/.ssh/id_rsa git_ssh/git_rsa vagrant up --provision
後は待っていればデプロイされるのですが、とにかく長いです。30分〜1時間くらいかかるかと思いますので気長に待ちましょう。なおこれは最初のセットアップだけで、2回目以降は速いです。
Jenkinsを利用
CIについてはJenkinsを使っています。デプロイの途中から http://localhost:3003 でアクセスできるようになります。キューがたくさんあり、これらの殆どが終わるまではOneOpsに触れることはできません。
OneOpsが起動
ようやく起動したら、まずユーザ登録を行います。
登録が終わったら最初に組織を作ります。チームやプロジェクトでも良いと思います。
組織の作成が終わったら、サーバ環境の整備になります。
設定はウィザードに沿っていけばOK
画面の一番上にやるべき作業が並んでいます。最初はクラウド環境の設定です。今のところ、AWSがデフォルトになっており、他のクラウドはカスタムとして追加できます。
Vagrantも使えます。ローカルでの開発の場合はVagrantを使うことも多いかと思います。
続いてプラットフォームを作成します。これは各種サービスを含めた環境的なものだと思います(詳細は分かっていません)。
プラットフォームを作成すると、このようにサーバやデータベースなどの環境がビジュアル化されます。
後は実際にデプロイを実行すればOKです。ステップが徐々に進んでいきます。
環境詳細画面でもステータスが確認できるようになります。
OneOpsの優れているところはとにかくすべてが可視化され、かつウィザードに沿って入力することでできあがる仕組みになっていることでしょう。融通はききづらいかも知れませんが、余計なハマりは防げるはずです。
なお、まだインストール途中でエラーが起こることがあったりと若干不安定なところもあります。それを差し引いても大きな可能性を感じさせるソフトウェアとなっています。
OneOpsのサイトによると、4年までのウォールマートでは開発前はデプロイまでに2ヶ月かかっていたそうです。そしてPangaea(パンゲア)と呼ばれるプロジェクトを立ち上げ、DevOpsやクラウドアーキテクチャなどを取り入れて、2013年にOneOpsの原型が社内で使われるようになっています。
その結果として、現在では1日1,000回を越える開発とデプロイを行えるようになっているそうです。OneOpsはまさに現場から生まれ、実務に合わせて作られたDevOpes統合環境と言えそうです。