連載 [第2回] :
  ChefConf 2017レポート

ChefConf 2017開催。エンタープライズITのあるべき姿を提唱

2017年6月28日(水)
松下 康之 - Yasuyuki Matsushita
Chefが開発するアプリケーション自動化のHabitat、Googleや楽天からの力強いサポートを得ていることを実感するChefConf2017の2日目のキーノートセッションを紹介する。

テキサス州オースチンで開催されたChefConf2017、2日目はCTOのAdam Jacob氏とCCO(Chief Community Officer)のNathan Harvey氏による掛け合いトークで幕を開けた。これはイベント2日目の雰囲気を和ませるとともに、これから始まるJacob氏のやや抽象度の高いエンタープライズシステムのあるべき姿を解説する内容に導くものだった。

ChefのCTO、Adam Jacob氏(左)とCCOのNathan Harvey氏

ChefのCTO、Adam Jacob氏(左)とCCOのNathan Harvey氏

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氏

Chef 13の説明を行うThom May氏

Chef 13を解説したのはデベロッパーのThom May氏だ。次にInSpecの説明ではDockerのサポート、パブリッククラウドであるAzureとAWS、さらにエンタープライズでは重要なVMwareのサポートに関する説明が行われた。

InSpecのAzure、AWS、VMwareのサポート

InSpecのAzure、AWS、VMwareのサポート

そしてHabitatのリードデベロッパーであるJamie Winsor氏が登壇し、Habitatの概要とコンセプトを再度説明した。

Habitatの解説を行うJamie Winsor氏

Habitatの解説を行うJamie Winsor氏

この後に登壇したのは、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の裏側で何千というノードを管理するために使われていると語った。

Microsoftとオープンソースソフトウェアの概要

Microsoftとオープンソースソフトウェアの概要

休憩後のプレゼンテーションに立ったのは、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の持つ優れた技術が実際に消費者だけではなくシステム管理者においても役に立つということを見せつけた形になった。

デモを行うGoogleのKelsey Hightower氏

デモを行うGoogleのKelsey Hightower氏

このデモを通してKubernetesとHabitatがうまく機能を分担して、住み分けられるというメッセージが伝わったように思える。ここまででGoogleとMicrosoftというパブリッククラウドの3大ブランドの2つからHabitatが支持されているということは大きな意味があるだろう。

楽天による大規模な事例の紹介

次に登壇したのはChefのマーケティングのトップであるKen Cheney氏だ。Cheney氏はChefのユーザーであるWestpacと楽天を紹介。特に楽天は「Habitatを本番システムで使っているユーザー」として紹介された。

Cheney氏(左)と楽天のGraham Weldon氏

Cheney氏(左)と楽天のGraham Weldon氏

楽天の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がアプリケーションを実行する環境に依存しないで実行できるツールとして、実験の場から実用の場に出てきたことを実感させるキーノートセッションであった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

運用・管理イベント
第4回

ChefConf 2017、GE Digitalにみるインフラ自動化の効果とは?

2017/7/4
ChefConf 2017で行われたGEによるインフラストラクチャーとアプリケーションの自動化のセッションを紹介。Habitatを使うことで、効率化が可能になったという。
運用・管理インタビュー
第3回

ChefConf 2017、楽天におけるHabitat導入のポイントとは?

2017/6/29
ChefConf 2017で、楽天の運用グループのリードエンジニアに、Habitatの実装についてインタビューを行った。
運用・管理イベント
第2回

ChefConf 2017開催。エンタープライズITのあるべき姿を提唱

2017/6/28
Chefが開発するアプリケーション自動化のHabitat、Googleや楽天からの力強いサポートを得ていることを実感するChefConf2017の2日目のキーノートセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています