Vampでお手軽カナリアリリースを試してみた

ちょっと前にも書いたけど、Microserviceを家で素振りしておきたいなーって思ってて↓こういう状態。


あ、そうそう、

忘れないうちに書いとくと、テックカンファの大阪サテライト、日本語での紹介も書いといたので、大阪で参加できる方は、よかったら登録して見に来てください!お話ししましょうー(∩´∀`)∩ワーイ

plaza.rakuten.co.jp

Vampでお手軽カナリアリリースを試してみた

f:id:bufferings:20161012001917p:plain

このスライダーを動かして、どっちのバージョンのアプリにどれくらい流すかを変更できる。3個以上のアプリをコントロールしたり、UserAgentを見たりもできるので、結構便利そう。もちろんGUIだけじゃなくて、APIもある。

触ってみた感想としては、結構直感的で分かりやすいなーという感じ。まだベータってこともあって、不思議な動きをするところとか、ドキュメントが追いついてないところがあるから注意が必要なんだけど、でも、なんか結構好きかも。

Why Vamp?

Marathonまで準備して、いざDockerコンテナをウェーイってデプロイしようと思って、ふと「あれ?これブルーグリーンデプロイとか、カナリアリリースとかいちいち手でやるの面倒くさい?」と思って、何かあるかなーってウロウロして見つけたのがVamp。

Vamp :: The Very Awesome Microservices Platform

おぉ。いま、気づいたけど、Vampって"Very Awesome Microservices Platform"の頭文字なのか。えらい直球やな。

で、いまさっきチュートリアルを終えたとこ。なので、中身の詳しいところはまだ全然理解してないんだけど、とりあえず面白かった。

何ができる?

チュートリアルをやった感じだと

  • yamlファイルに書いた設定に従ってMarathon上にDockerアプリをデプロイしてくれる
  • スケールアップとかスケールダウンもポチポチ押したらできる(やってないけどAPIでもできるはず)
  • Vampからデプロイしたアプリは、Marathon上でアプリをRemoveしてもすぐさまVampが立ち上げ直してくれる
  • アプリを複数デプロイして、どのアプリにどれくらいのトラフィックを流すかをコントロールできる。これによって、ABテストや、ブルーグリーンデプロイ、カナリアリリースが可能。このときUserAgentなどによって振り分けを変えることが可能。
  • 複数のサービスで1つのアプリを構成する場合の、サービスディスカバリに対応。

といったところ。もうしばらく遊んでみようと思う。

f:id:bufferings:20161012010458p:plain