デプロイ時に活躍する「Vamp」とは
牛尾氏は次に、カナリ―テスティングにおける「Vamp」を使ったテクニックを紹介した。カナリーリリースは全てのサーバーに対してデプロイする前に、まずは限られたサーバーにリリースして、新しい機能が問題なく動いているか確認してからロールアウトする手法だ。これに対し、データセンターを1台のコンピューターのように抽象化して扱うためのツール「DC/OS」と「Azure Container Service」を用いて、さらにオープンソースのツールであるVampを使えば、“かなり面白いこと”が実現できるという。
例えば、マイクロサービスを作る際にはAPIゲートウェイが必要になるが、Vampを使ってデプロイするとAPIゲートウェイも同時に作成され、構成まで行われる。ブルーグリーンデプロイやカナリ―テスティングも簡単に行うことができる。さらに、サービスディスカバリやスケールアウト/イン、自動回復などの機能もカバーしている。DC/OSやKubernetesと併用すれば、かなり強力なツールとなるのだ。
ここでVampのデモを行おうとしたが、またもやネットワークの不調で断念することに。ちなみにその内容は、用意しておいたIPアドレスにアクセスすると2つの環境どちらかに振り分けられ、その振り分けの割合をVampのGUIのスライダーで容易に設定・変更することで、ロールバックやロールアウトが容易にできるというものだった。
デモ動画[2]
ネットワークの不調で当日実施できなかったデモを、牛尾氏は動画で公開している。
さいごに
最後に、牛尾氏は「やってみたらどうなるか、失敗したらどうなるかと、日本人が躊躇している間に、海外では試行錯誤しながらどんどん自動化を進めている。もちろんひどい目に遭うこともあるが、そこで得られるスキルも多い。不安に思う前にまずはやってみて、愚直にテストを実践することが大切なのではないか」と語り、「疑ったり必要以上に調査をしたりする前に、やってみよう。やるかどうかを悩むより、やってダメなら撤退する方針のほうが良い」と訴えた。
さらに「本番で学ぶ」ことの重要性を強調。自動化を試す場合でも、テスト環境ではなく、本番環境に投入することによって初めて見えてくる課題があるということだ。
牛尾氏は改めて当初のテーマに立ちかえり、かつてビル・ゲイツが不正コピー問題について激怒し、書いたといわれる手紙の中の一節「Most directly, the thing you do is theft(はっきり言って、君がやっていることは盗みだ)」を紹介。現在でもオープンソースのベンダーはマネタイズに苦労していることを指摘した。そして「無料に慣れ過ぎているのを改めよう。イケてるソフトウェア、良いツールにはお金を使おう。その結果、ソフトウェア産業が潤い全体が良くなっていく」と語り、「ぜひともVisual Studio Team Servicesを使ってみてほしい」と訴えてセッションを終えた。
デモ動画[3]
こちらも牛尾氏が公開しているデモの動画。VSTSを使用し、何もない状態から、リポジトリの作成、CI/CDパイプラインの作成、Infrastructure as Codeの作成と適用、リリースまでを30分程度で実施、解説している。
お問い合わせ
日本マイクロソフト株式会社
- TEL:03-4332-5300(大代表)
- コーポレートサイト