楽天のOpsのトップが語る「コアなビジネスにこそオープンソースを」
2014年10月25日に開催された楽天のエンジニアたちのお祭り、楽天テクノロジーカンファレンスに際してOpenStackが社内のクラウドプラットフォームとして導入がされていく状況を垣間見ることが出来た(関連記事)。
その際に「OpenStackもそうですが、社内のインフラのオープンソースを推進しているのは今年になって入社したOps(システム運用)のトップ、ニールさんというひとがキーパーソンなんですよ」とOpenStackのプレゼンテーションを行った運用グループの佐々木氏が教えてくれた。今回はそのキーパーソンである佐藤ニール氏に楽天としてのオープンソースへの取り組みや課題などをインタビューした。今回参加してくれたのはGlobal Operations DepartmentのExecutive Officer 佐藤ニール氏、同じくJapan Platform Section, Data Store Platform Group 佐々木健太郎氏それにオープンソースやLinuxの世界では有名人、楽天で技術理事を務める吉岡弘隆氏の3名だ。
オープンソースを使うのは当たり前という感覚
松下:「楽天におけるオープンソースソフトウェアのキーパーソンということですが、まずはニールさんのバックグラウンドを教えてください。」
佐藤氏:「キャリアの一番最初はシリコンバレーでリクルートのスタートアップに関わっていたのが最初の仕事ですね。そのころは自分でPHPのVersion3の日本語化をやったりしました。国際化バージョンというやつですね。オープンソースとの関わりはその辺からです。元々アプリ系の人間だったんですが、自分でサーバー組んでヤマハのルーターで家の中のネットワークを構築して……みたいなことをやってました。やっぱり興味があって自分でも知りたくなるんですね。それから仕事ということではヤフージャパンで働いたり、直近ではミクシィで開発や運用にも関わったりしていました。そして今年の2月に楽天に入社しました。今は日本を軸にグローバルなシステム運用を考える仕事をしています。楽天全体のスタンダードなプラットフォーム戦略を立てていくという感じです。」
松下:「去年の楽天テクノロジーカンファレンスではあまりオープンソースに関するセッションは多くなくて今年のカンファレンスで急に増えたような気がします。また、商用ベンダーのセミナーで講演していたり、事例として紹介されていたりもしましたよね。どちらかと言えば楽天といえば商用ソフトを重要視して運用していたと記憶していますが、ニールさんが来たことで楽天のオープンソースに対するスタンスが変わったということでしょうか?」
佐藤氏:「個人的にはオープンソースを使うことは当たり前という感覚です。商用ソフトを重要視するのも半分は理解出来ます。私が選択をしていたならひょっとするとオープンソースでやっていたかもという気はしますが(笑)。企業には絶対に止めてはいけないビジネスというのがありますし、日本でナンバーワンのイーコマースサイトである楽天市場はその典型ですからね。ただオープンソースがICT業界の最先端の流れを作っていくというのは変わらないと思いますね。ですので楽天としてもそれには対応していこうと。」佐々木氏:「これまでもOSとかミドルウェアのレベルではオープンソースという選択肢はあったと思うんですけど、ネットワークとかストレージというレベルまでオープンソースでインフラを作るというのが可能になってきた、OpenStackもそうですがそういう時代になってきたということだと思います。」
コアコンピータンスな部分にこそオープンソース
佐藤氏:「もう少し言うとビジネスのコアの部分、会社にとってのコアコンピータンスを担う部分に商用のソフトを使ってイザという時にベンダーに頼らないといけないというのは避けたいというのが私が過去の経験で学んだことです。」
松下:「具体的にその経験というのを教えてください。」
佐藤氏:「前のミクシィの時にmemchedに関するトラブルというのを経験しています。これは簡単に言うと大量のアクセスが集中した時にmemchedが落ちるというものです。この時に私たちはTwitterや様々なリソースを使って自分たちで問題を解決しました。最後はソースを読んでどこが悪いのかを突き止めたのですが、その時にソースが読めるというのが大事であるということを痛感したんです。結局、自分たちの力で問題を解決するためにはソースが読めるオープンソースが最低限必要なんだなと思います。」(関連記事)
松下:「なるほど。でもオープンソースソフトウェアにもバグはありますし、必ずしも最良のソフトというわけではないですよね?」
吉岡氏:「それはその通りですが、商用ソフトと比較としてオープンソースが優れているかどうか? ということに関してはもう疑問の余地がないんじゃないですかね。実際に世界中のトップノッチのエンジニアが集まってコードを書き、仕様を作っているわけで。プロプライエタリなソフトを開発している会社で雇っているエンジニアにも何人かは凄い人は居ますが、平均点で言えば世界中からエンジニアが集まって切磋琢磨している世界にはかなわないと思います。勿論、オープンソースにもダメなプロジェクトもダメなエンジニアも居ますよ。ただそういうのは淘汰されていくだけ。そして良いモノだけが残っていく。そういう世界です。そういう意味でコアコンピータンスな部分に閉鎖的な商用ソフトを使うのは自殺行為だと思いますよ。」
松下:「ではそういうオープンソースの世界でエンジニアが残っていくためにはどうしたらいいんでしょうね? 会社に所属するエンジニアも会社だけではなくてそういう世界=コミュニティで活躍するには何をしたらいいんでしょう?」
佐藤氏:「そうですね、まずは『なんでもイイから何かやれ!』ですかね。例えばいきなりコードを書かなくてもREADMEなどのドキュメントの翻訳を手伝ってみることでも良いし、分からないことを質問してみることでも良いし、とにかくそのコミュニティに参加してみることから始めるのがイイと思います。」
吉岡氏:「そういう部分からいえば楽天の英語公用語化というのはエンジニアにはすごく役に立っている気がします。今回のカンファレンスでも普通にみんな英語でプレゼンしてますから。そういうのには慣れが必要ですし、英語に慣れているというのはエンジニアにとってはとても大きいですね。」
松下:「楽天さんの場合はその辺りまで考えて英語化したのかもしれませんね。実際に買収した会社のエンジニアとのコミュニケーションには役立っていそうですし。オープンソースソフトウェアに貢献しようとした時にどのコミュニティを選ぶのが良いのかという基準というのはありますか? エンジニアとしてはどういう風にコミュニティというかオープンソースのプロジェクトを選ぶのが良いんでしょう?」
佐藤氏:「我々がオープンソースを選ぶ場合は当たり前ですが、ビジネスとして必要なものを優先しているだけです。そのビジネスに必要なものがあればそこに参加して利用するだけではなく還元する。それが当たり前。コミュニティが流行っているからという基準ではありません。」
吉岡氏:「私が入社した当初、いまから5年ほど前ですがオープンソースのコミュニティに参加する際の方法についてマニュアル的なものを作ってみたこともあるんですが、あまりうまく使われたという記憶がありません。あれこれとルール化しても上手く行かないのです。そういうルールというかマニュアルよりも大事なのは組織としての文化としてオープンソースへの参加が身に付いているのか? ということに気が付きました。簡単にいうとハッカー文化とでも言うのかもしれません。最初の頃の楽天テクノロジーカンファレンスも社員が義務としてやっていた感じが強かったんです。でも今は社内の文化祭的な感覚でみんな楽しんでやっている。それは新しいものを見つけてそれを学びたい、そのためには知っている人にコンタクトして来てもらう、そういう文化が自然に出来上がってきたという感じです。」
オープンソース活用に数値目標は不要?
松下:「なるほど。楽天のエンジニアにはオープンソースソフトウェアを取り入れてそれを楽しむ文化が出来ている感じですね。ただ楽天は外部から見ればスピードと数値目標でバリバリとビジネスを推進していくという印象があります。オープンソースの利用や還元に関しても何か数値目標化されているんですか?」
佐藤氏:「数値目標は持ってないですね。それってソフトウェアのバグ修正の数を競うみたいなことになってしまってちょっと違うのかなと思ってます。コミットの数とかそういう部分を強制するということではなくエンジニアの自発的に取り組むっていうモチベーションを大事にしたいと思っています。でも実際にオープンソースのカルチャーというか楽しさを感じている人が社内にはまだまだ少ないとは感じます。私が楽天に入社前に持っていたイメージは『軍隊のような組織』でビジネス面ではその通りで速さと数値目標をもとにやっているというのは当たっていると思いますが、オープンソースを使うこと、開発することに関しては結果として会社やビジネスに対して貢献することも勿論、重要ですが何よりも自分のために参加して欲しいと考えています。オープンソースへの貢献を自分のキャリアのために活かすという感じです。なので数値目標については個人や組織としてそういうものを設けることはしていません。自分で自主的に楽しんでオープンソースのコミュニティに貢献する、それが大事なのです。結果的に個人の評判が上がって業界からも認められるようになればいいと思います。」
松下:「今回の楽天テクノロジーカンファレンスではDockerやChef、Puppetといったオープンソースのセッション以外にも社内でのOpenStackの事例について佐々木さんが説明をしていましたが、オープンソースを活用してコミュニティに対して貢献するというのは難しくはなかったですか?」
佐々木氏:「OpenStackに関しては手探りで始めた感じです。実際にはあまり参考になるドキュメントがなくて最終的には自分でソースを読んで勉強したという感じですね。自分自身も新卒で入社して最初にやったのはエンタープライズストレージと磁気テープへのバックアップシステムの設計だったんですが、最初は何にもわからなくて(苦笑)。でも現場で色々やっていくうちに覚えたという感じです。なのでオープンソースに関してもそんな感じなのかなと。」
最新のOpenStackと枯れたOSSのミックスが大事
松下:「インフラの部分にOpenStackを入れていくというのは主に開発環境だと思うのですが、それをこれから社内で拡げていくという感じなのでしょうか?」
佐藤氏:「そうですね。徐々に拡げていくんですが、それに関してはビジネスとの兼ね合いがありますので、現場との調整が必要だとは思います。Software-Defined Network(SDN)についても色々と検討をしていますが、バックボーンの重要な部分に使うことに関してまだちょっと早いかなと思っています。オープンソースの最先端のモノを使いつつ、かといって止められないビジネスの部分には枯れたテクノロジーを使う、それを両方やる感じですね。」
松下:「なるほど。来年の楽天テクノロジーカンファレンスではもっとオープンソフトウェアのセッションがあるかもですね。来年2月にOpenStack Days Tokyo 2015が開催されますが、その時には楽天として何か発表はされるんですか?」
佐々木氏:「いや、今のところは登壇者としては声をかけて頂いてないです。今のところは、ですけど(笑)。」佐藤氏:「期待してます(笑)」松下:「ヘンなプレッシャーがかかってますね(笑)ということで今日はどうもありがとうございました。」
(編注:その後、2日目の基調講演「スーパーユーザーインタビュー」での登壇が決定している。)
OpeEx(運用コスト)を下げるためにCapEx(資産コスト)が上がっても仕方がない、商用ソフト重視のこれまでの楽天のインフラに関する方針が、コアコンピータンスを担う部分には積極的にオープンソースソフトウェアを活用する、コミュニティに還元し、エンジニア個人が自主的に貢献し、成長できる環境を用意する、楽天の方針が大きく変わりはじめたことが実感できるインタビューであった。今後の活動に期待したい。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 楽天テクノロジーカンファレンス2014レポート 今年の主役はオープンソース
- LinuxCon Chinaで中国人エンジニアに聞いた中国のオープンソース事情
- Cloud Foundry Summitはエコシステムの拡がりを感じるカンファレンス
- OpenStackの本格普及を見据えた認定試験「OPCEL」、企業内クラウドを構築運用するエンジニア教育のスタンダードを目指す
- KubeConで富士通のエキスパート江藤氏に訊いたOSSの勘所
- LinuxCon+ContainerCon+CloudOpen China開催。中国企業の存在感が大きかった初日
- LPIの日本支部が新型コロナウィルス下でのビジネスをアップデート
- OpenStackのエコシステムを拡げるUpstream Trainingとは? CAのインフラエンジニアに訊いた
- OpenStackの弱点、大量のログ発生問題を解決するNECネッツエスアイの取り組み
- ミランティスジャパンの新社長が「OpenStackが下火なのは良いこと」と語る理由