ChefConf 2017開催。エンタープライズITのあるべき姿を提唱
テキサス州オースチンで開催されたChefConf2017、2日目はCTOのAdam Jacob氏とCCO(Chief Community Officer)のNathan Harvey氏による掛け合いトークで幕を開けた。これはイベント2日目の雰囲気を和ませるとともに、これから始まるJacob氏のやや抽象度の高いエンタープライズシステムのあるべき姿を解説する内容に導くものだった。
Jacob氏のトークは、乳がんになってしまった母親の話から始まった。ここからかなり抽象的な話が続いたが、要約するとアプリケーションの実装のあるべき姿をアプリケーション自動化のプラットフォームであるHabitatに繋がる話として解説したもので、アプリケーションが「Build」「Test」「Deploy」「Configure」というプロセスに従って開発・実装される際に、それぞれのプロセスが人間とどのようなコミュニケーションを取るのかを説明した。
ここでの説明は、アプリケーション対人間のコミュニケーションからWebアプリケーション対データベースのコミュニケーション、さらにデータセンター対データセンターのコミュニケーションの例を解説したものだ。
Webアプリケーション対データベースのコミュニケーションについては、前日にデモで使用されたDaphneというNGINXのアプリケーションとPostgreSQLの例が示された。またデータセンター同士のコミュニケーションについては、「Authentication」「Authorization」「Compute」「Network」というプロセスを例に挙げて、それぞれのプロセスが期待されている機能を果たすために何を外部と行うのかという見地から説明された。機能を果たすプロセスは、常に外部とのコミュニケーションを行うことによってその機能を実行する、つまり内部の構造以上にその「ふるまい(Behavior)」が重要である、ということがこの部分のメッセージだろう。
そしてアプリケーションの行うプロセスが開発時と本番環境で変わってしまうために、テストでは動くが本番環境ではエラーとなるという例を挙げ、アプリケーションの開発段階において、本番で使われるデータベースやリソースにアクセスできることが重要だと語った。
Jacob氏の説明はさらにナイキのスマートスニーカーを例に挙げて、クラウドにスニーカーが収集するデータを上げることで「そろそろ膝に痛みがきそうなので走るのを止めましょう」などという提案を行うスニーカーを「Super Awesome!!」と持ち上げてみせた。しかしその後に「でもハイキングに行って携帯ネットワークに繋がらなくなった時点で、そのスニーカーはタダのバカな靴に戻ってしまう」と説明。
キーノートの前半の約30分をかけてJacob氏は「アプリケーションを実行する環境は常に変化する」「アプリケーションはどの環境でも実行できる抽象化が重要」「アプリケーションは外部とのコミュニケーションによるふるまい(Behavior)によって規定される」「アプリケーションは開発時にも本番環境のリソースにアクセスできることが重要」ということを伝えたかったのだろう。そしてそれを可能にするのが、Chefの提唱する新しいアプリケーション実行環境および自動化のツールであるHabitatである、というメッセージだった。
その後は、Chef、InSpec、Habitatのデベロッパーを呼んで今度は製品サイドからのアップデートを行った。
Chef 13を解説したのはデベロッパーのThom May氏だ。次にInSpecの説明ではDockerのサポート、パブリッククラウドであるAzureとAWS、さらにエンタープライズでは重要なVMwareのサポートに関する説明が行われた。
そしてHabitatのリードデベロッパーであるJamie Winsor氏が登壇し、Habitatの概要とコンセプトを再度説明した。
この後に登壇したのは、Microsoft AzureのリードアーキテクトであるJohn Gossman氏だ。Gossman氏はMicrosoftの中でLinux Foundationのボードメンバーとしても活躍している、いわばMicrosoftの中のオープンソースソフトウェアの旗振り役といったところだろう。
クラウドベンダーの巨人GoogleとMicrosoftからも支持
Gossman氏はMicrosoftがオープンソースソフトウェアを取り入れるようになった経緯などを解説したが、何よりも興味深かったのは、Gossman氏のコメントが、HabitatがGossipプロトコルを使用するきっかけになったという話だろう。
以前にHabitatの説明をレドモンドのMicrosoft社内で実施した際にオフィスから駐車場に戻る道すがら、Gossman氏はHabitatのアーキテクチャーとして分散処理を実装するためにetcdやZookeeper、Consulを使おうと思っている部分に関して「それはあまりいいアイデアとは思えない。他のコンポーネントに依存することになる。Gossipプロトコルなら実装できるエンジニアはMicrosoftにも大勢いるし、他のコンポーネントを使うのではなく独自に書くべきだ」とコメントしたそうだ。そして「そのコメントがきっかけで独自に分散処理(この場合はGossipプロトコルを使った複数のスーパーバイザーによるリーダー選出のアルゴリズム)を実装することにした」と語った部分だろう。
Gossman氏は「あのコメントがきっかけでHabitatの開発が6ヶ月遅れたの? それは知らなかった。あの時のコメントにはそんな深い意味があったわけじゃあなかったのに」と笑いながら語ったが、ChefのCTOであるJacob氏のGossman氏へのリスペクトと、Gossman氏の分散処理に対する深い洞察が垣間見られた瞬間であった。
Gossman氏のプレゼンテーションでは、Microsoftの約1万5千人のエンジニアがGitHubに多くのコードを公開していることを紹介したところで会場から拍手が起こったこと、そしてVisual Studio Codeの紹介ではさらに多くの拍手と歓声が起こったことが、ChefConfの参加者がMicrosoftのオープンソースソフトウェアへの貢献をよく知っていることを表していた。
またMicrosoft社内でのオープンソースソフトウェアの利用についても簡単に紹介し、ChefがOffice 365やAzure、Bingの裏側で何千というノードを管理するために使われていると語った。
休憩後のプレゼンテーションに立ったのは、GoogleのDeveloper Advocate、Kelsey Hightower氏だ。ここからHabitatとKubernetesを使ったデモに移った。Hightower氏はまず、Habitat初心者として簡単なところから始めようと語り、Habitatをアプリケーションのパッケージツールとしてデモを開始。まずは自身のMacBookでHello WorldならぬHello Habitatという文字を表示するだけのGo言語で書かれたWebアプリケーションを実行。それをDockerのコンテナに格納した際のDockerfileを表示して、サイズが非常に大きくなることを示した。そこからHabitatの構成ファイルであるplan.shの中身を表示しながら、実はHabitatの構成ファイルのほうがずっとシンプルで読みやすく、サイズも小さいということを紹介し、暗にDockerのアーキテクチャーの悪さを語っているようだった。
そこからWebアプリケーションの数を増やしたり、バージョン番号を変えたりするデモをGoogleの音声認識アシスタントを使って実行。ここではKubernetesのコマンドを自然言語で語って実行するというもので、Googleの持つ優れた技術が実際に消費者だけではなくシステム管理者においても役に立つということを見せつけた形になった。
このデモを通してKubernetesとHabitatがうまく機能を分担して、住み分けられるというメッセージが伝わったように思える。ここまででGoogleとMicrosoftというパブリッククラウドの3大ブランドの2つからHabitatが支持されているということは大きな意味があるだろう。
楽天による大規模な事例の紹介
次に登壇したのはChefのマーケティングのトップであるKen Cheney氏だ。Cheney氏はChefのユーザーであるWestpacと楽天を紹介。特に楽天は「Habitatを本番システムで使っているユーザー」として紹介された。
楽天のGraham Weldon氏はまず、楽天がかなり早い段階からChefを使って自動化を進めていたことを紹介。2017年5月の段階で約5万台のノードをChefで自動化していると語り、大規模な事例であることを説明した。そしてHabitatの事例としては、Webベースの新しいアプリケーションだけではなく楽天創業初期から稼働しているアプリケーションや、買収によって吸収した企業が持つアプリケーションなどにも適用していると説明した。具体的には、ロイヤリティプログラムに関する社内向けのアプリケーションを、Habitatで本番環境に実装予定であるという。
ここでHabitatについての感想を聞かれたWeldon氏は「最初は少し恐ろしいものに見えました。Chefの経験を持っていてもよく解らないスケアリーモンスター(恐ろしい怪物)というところでしたね(笑)。しかし5分も触ってみれば簡単に使えることがわかりますし、アプリケーションのビルドプロセスをとてもシンプルにしてくれました。我々のシステムは非常に複雑なビルドプロセスを持っているのですが、それをスッキリとさせてくれたと思います。我々Opsチームとしては、なるべく多くのことをDevチームに公開して、彼らが自動化できるようにしていますが、それでもまだOpsチームが面倒をみないといけない部分があります。そのような部分でも、既存のアプリケーションに必要なライブラリなどの依存関係をシンプルに処理できるところが、Habitatの優れているところだと思います」と語った。
ChefのCMOであるCheney氏と楽天のWeldon氏の会話が2日目のキーノートの最後のコンテンツとなったが、この日のキーノートのハイライトはGoogleのHightower氏のデモだろう。しかし地味ではあるが楽天のユースケースでもHabitatのシンプルさや、既存の環境やワークフローへの適応の容易さが参加者に伝わったのではないだろうか。スケアリー・モンスターのような得体の知れないものから、ボトムアップではなくトップダウンの発想で開発されたHabitatがアプリケーションを実行する環境に依存しないで実行できるツールとして、実験の場から実用の場に出てきたことを実感させるキーノートセッションであった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- ChefConf 2017開催。シームレスなインフラ、コンプライアンス、アプリの自動化をデモ
- ChefConf 2017、楽天におけるHabitat導入のポイントとは?
- ChefConf 2017、GE Digitalにみるインフラ自動化の効果とは?
- DevOpsに特化したイベント、DevOpsDays Tokyo 2017が開催
- ChefのCEOらが日本市場参入とパートナー戦略を語る
- ChefのCTO、DevOpsを拡げるためにはツールと方法論の両方が必要と語る
- KubeCon+CloudNativeCon、大手からベンチャーまで活気のあるブースを紹介
- KubeConで失敗を紹介したMonzo Bankのキーノート
- GoogleのデモゴッドがKubeConで見せたKubernetesを意識させないDevOpsの実現
- 写真で見るRed Hat Summit 2024