2017で、楽天の運用グループのリードエンジニアに、Habitatの実装についてインタビューを行った。2017では日本の楽天株式会社の事例がキーノートセッションで紹介された。これは楽天によるHabitatの導入事例が、Chefによって認められたということだろう。Operations)にインタビューを行った。ChefConfにはHabitat専用のコーナーが設けられていたまず自己紹介をお願いします。私は楽天のグローバルオペレーションという部門でテクニカルコーディネーターとビジョンリードというタイトルで仕事をしています。肩書はちょっと長いですね(笑)。楽天ではもう5年ほど働いています。当初は楽天の中でPaaSの構築という仕事から始めました。Foundryの実装になります。それからオペレーショングループに移って、グローバルのインフラストラクチャーの運用を担当しています。Foundryのクラスターもあり、かなり多様なシステムを使っています。その中で、Chefを使って構成管理を行っているという状況です。Foundryの実装に使い始めたのが最初の経験でした。Foundry以外のシステムでも使うようになりました。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には楽天の事例がブレークアウトセッションとして紹介されるかもしれない。この著者の記事一覧フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。2017で行われたGEによるインフラストラクチャーとアプリケーションの自動化のセッションを紹介。Habitatを使うことで、効率化が可能になったという。2017で、楽天の運用グループのリードエンジニアに、Habitatの実装についてインタビューを行った。エンタープライズITのあるべき姿を提唱2017/6/28Chefが開発するアプリケーション自動化のHabitat、Googleや楽天からの力強いサポートを得ていることを実感するChefConf2017の2日目のキーノートセッションを紹介する。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。