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

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

2017年6月29日(木)
松下 康之 - Yasuyuki Matsushita
ChefConf 2017で、楽天の運用グループのリードエンジニアに、Habitatの実装についてインタビューを行った。

2017年5月に開催されたChefのカンファレンス、ChefConf 2017では日本の楽天株式会社の事例がキーノートセッションで紹介された。これは楽天によるHabitatの導入事例が、Chefによって認められたということだろう。今回は、キーノートセッションに登壇した楽天のGraham Weldon氏(Technical Cordinator and Vision Lead、Global Operations)にインタビューを行った。

ChefConfにはHabitat専用のコーナーが設けられていた

ChefConfにはHabitat専用のコーナーが設けられていた

まず自己紹介をお願いします。

私は楽天のグローバルオペレーションという部門でテクニカルコーディネーターとビジョンリードというタイトルで仕事をしています。肩書はちょっと長いですね(笑)。楽天ではもう5年ほど働いています。当初は楽天の中でPaaSの構築という仕事から始めました。具体的には、Cloud Foundryの実装になります。それからオペレーショングループに移って、グローバルのインフラストラクチャーの運用を担当しています。楽天のインフラストラクチャーにはOpenStackだけではなく、ベアメタルのサーバーやCloud Foundryのクラスターもあり、かなり多様なシステムを使っています。その中で、Chefを使って構成管理を行っているという状況です。ChefはCloud Foundryの実装に使い始めたのが最初の経験でした。それからCloud Foundry以外のシステムでも使うようになりました。

楽天のGraham Weldon氏

楽天のGraham Weldon氏

Chefを導入する際には、他のツールも検討されたのですか?

その時はChefとPuppetの2つを検討しました。その時の評価のポイントは、データセンターで使えるか? つまりサーバー以外にスイッチやルーターなどの構成も行えるか、というのがポイントでした。それに、コミュニティ自体の評価も行いました。その結果として、当初はPuppetを使っていたのをChefに替えたということになります。

楽天の中でChefに詳しいエンジニアというのはどのくらいいるのですか?

使い始めた当初は20名くらいでしたね。それが今では50~60名になりました。当初は、小さなプロジェクトの中でエンジニアが個人で使っているくらいで、ノウハウの共有もあまり進みませんでした。でも社内にコミュニティができて、Chefのレシピやクックブックが様々なグループで共有されるようになりました。

Chefの導入に関しては英語だけの情報で問題はなかったですか?

ご存知の通り、楽天は社内の公用語が英語ですので、特に問題はありませんでした。しかし他の会社では難しいかもしれません。しかし、私がCakePHPのコントリビュータだった時に個人的に経験したことですが、日本のエンジニアのコミュニティは英語の情報をどんどん日本語に翻訳してくれるのです。そういうボランティアが協力してくれて日本語の情報がどんどん出てくるということもあるので、英語だけでもそれほど問題はなかっただろうと思います。

その当時の社内のChefを知っているエンジニアの日本人とそれ以外の比率はどのくらいでしたか?

その当時は15人が日本人、5人がそれ以外の国籍という感じですね。日本人同士は日本語で会話をしているので、私の日本語は彼らの会話からだいぶ学んでいます(笑)。

Habitatの導入について教えてください。

楽天のロイヤリティプログラムを管理する機能の一部に使うことを予定しています。まだ本番環境にはデプロイされていないのですが、近々、本番環境に移行する予定です。

Habitatはコンセプトがかなりユニークだと思いますが、それは楽天の環境にとっては合っていたのですか?

HabitatはChefの人が言うように、ボトムアップではなくてトップダウンで設計されているツールだと思います。その意味ではインフラストラクチャーから積み上げて最後にアプリケーションを載せるのではなく、アプリケーションから必要なインフラストラクチャーを依存関係に従って使うというものです。その部分では、開発者に多くの自由を与えるものだと思います。

それと楽天にはかなり強力にコンテナによるアプリケーションの実装を進めようという流れがありますが、全てのアプリケーションがコンテナ化されるわけではありません。特にレガシーなアプリケーションをコンテナ化のためだけに書き換えるというのは、コストと効果が折り合わないのです。そしてそれをそのまま使い続けようとすると古いOSなども使い続ける必要がありますが、Habitatを使うことでそのようなレガシーなアプリケーションも新しいインフラストラクチャーの上で稼働させることができるようになります。それに、Habitatが依存関係をシンプルに処理してくれます。例えばJavaのアプリケーションをmakeするために、gccや多くのライブラリの依存関係を理解してそれをmakeファイルとして書くことが可能だと思いますが、下手をすると1ヶ月ぐらいかかってしまうかもしれません。Habitatはそのような複雑な依存関係をシンプル、エレガントに行ってくれます。

全てがコンテナという形で実装されなくても、Habitatによってレガシーなアプリケーションを最新のプラットフォームで利用できるということは大きな意味があります。古いプラットフォームで脆弱性などの問題が生じても、それをちゃんとアップデートしながらその上で動くレガシーなアプリケーションを実行できるというのはHabitatの持つ良い一面だと思います。もちろん、そのレガシーなアプリケーションを全面的に書き換えたりする必要はありません。

Habitatを社内に拡げるためには何をしているのですか?

我々は、エンジニアに無理やり「これを使え」とは言いません。エンジニアにどうやって使うのかを見せることはあっても、強制することはないですね。実際に良いソリューションを見せれば「これを使いたい」と言うようになると思います。

Habitatに限らずオープンソースソフトウェアのコミュニティに対して評価を行うためにしていることはなんですか?

Chefであればクックブック、PuppetであればManifestoなどをちゃんと読んで理解するということがまず必要で。ソフトウェアをちゃんと理解することが大事ですね。それからコミュニティのイベント、例えばChefConfやPuppetのカンファレンスにも参加して評価を行いました。さらに有償のトレーニングやサポートサービスなども含めて総合的に評価します。特にChefConfは私の同僚も何人も参加していますが、非常に高い評価をしています。質も高くエキサイティングなイベントだと思います。

これから楽天の中でHabitatの利用は、どのように進んでいくのでしょうか?

そうですね。コンテナによるマイクロサービス化をHabitatとDockerを使って進めていく予定ですが、それだけではなくレガシーなアプリケーションに関してもHabitatを使っていく予定です。

楽天の中でHabitatを拡げていくためのチャレンジはなんですか?

なによりも教育ですね。まずエンジニアに知ってもらうということを進めていこうと思います。そのためにこのカンファレンスの情報も共有しますし、あなたが書いたHabitatの記事も読んでますよ(笑)。

参考:Habitatに関する記事:Chefが開発する新しいアプリケーション自動化プラットフォーム、Habitatのワークショップが開催

Habitatのユースケースとして最新のアプリケーションだけではなく、レガシーなアプリケーションの依存関係をシンプルにできたことが大きかったというWeldon氏。来年のChefConfには楽天の事例がブレークアウトセッションとして紹介されるかもしれない。

著者
松下 康之 - 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メルマガ会員のサービス内容を見る

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