検索
連載

OSS製品ベンダーの開発手法の神髄はここにあり──コミュニティ活動を通じて世界中から優秀な技術者の獲得に成功したElasticCTOに問う(7)Elastic編(1/2 ページ)

CTOとは何か、何をするべきなのか――日本のIT技術者の地位向上やキャリア環境を見据えて、本連載ではさまざまな企業のCTO(または、それに準ずる役職)にインタビュー、その姿を浮き彫りにしていく。第7回は人気のオープンソース検索エンジン「Elasticsearch」のクリエイターであり、Elasticの創設者でCTOを務めるシャイ・バノン氏に話を伺った。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「CTOに問う」のインデックス

連載目次

 オープンソースソフトウエア(以下、OSS)の検索エンジン「Elasticsearch」とデータ可視化ツール「Kibana」、ログ取集・転送ツール「Logstash」をベースに製品を展開し、この数年で急成長を遂げたエラスティック(Elastic)。同社の創設者であると同時にElasticsearchの開発を手掛けたクリエイターであり、CTOとして“究極”のディシジョンメーカーの役割を担うシャイ・バノン(Shay Banon)氏にインタビューした。


Elastic ファウンダー/CTO シャイ・バノン氏(撮影:山本中)

成長の原動力はイノベーションと人材にあり

シャイ・バノン氏(以下、バノン氏) 私はCTOであると同時に、OSSのElasticsearchを開発したクリエイターであり、またElasticという会社を創設したファウンダーでもあります。そのため、単に会社の技術的な方向性を示すだけではなく、マーケティングも含め、製品の開発・提供に関わるさまざまな活動に深く関与しています。

編集部 Elasticは設立約3年で3000万件以上の製品ダウンロードを達成したそうですが、成長を遂げた原動力は何だとお考えですか?

バノン氏 当社は、もともと技術志向の強い会社で、ソフトウエアのイノベーションを武器に急成長を遂げました。実際に、われわれが提供するプロダクトによって検索ソリューションのマーケットそのものが大きく変わったと確信しています。今後もイノベーションを提供するとともに、それにふさわしいカルチャーを構築していきたいと考えています。

編集部 イノベーションを創出するために、どのようなことを重視していますか?

バノン氏 最も重要なことは、CTOの私が考えも付かないようなイノベーションを創出できる優秀な人材を世界中から見つけ出し、採用することです。そして、採用した優秀な人材が実際にイノベーションを生み出せるように、最適なツールや環境を提供することも重要な取り組みの一つです。

 もう一つ、重要な点として強調したいのは、採用した優秀な人材に十分な時間を提供することです。ソフトウエア業界には往々にして短期間で成果を上げようとする短絡的な傾向がありますが、それでは大きな成功を望むことはできません。イノベーションを創出するためには、技術者に対して十分な時間を与えることも重要なファクターになると言えるでしょう。

OSSの強みを生かし、柔軟で高速な検索能力を実現

編集部 競合他社に比べたElasticの強みは何ですか?

バノン氏 最も大きな強みは、私たちの製品がOSSをベースにしていることにあります。当社の開発者はOSSを介して常にユーザーの皆さんと直接アクセスしながら製品開発に取り組むことができます。また、当社が検索専門の会社であることも大きな強みと言えるでしょう。

編集部 技術的な観点で見た強みは何だとお考えですか?

バノン氏 例えばElasticsearchについていうと、多様で複雑なデータの中から、ごく自然な質問で必要な情報を見つけ出せることです。例えばTwitterで「野球」という言葉を調べると、野球を観戦した人のつぶやきから、いろいろなことが分かってきます。Elasticsearchは、Twitterのような自然な人間的アプローチで、柔軟な検索を実現できることが強みと言えるでしょう。

 また、検索の世界でもう一つ重要なのは、質問に対して、できるだけ迅速に回答、つまり検索結果を出すということです。質問してから2日後に回答していたのでは、どんなに回答内容が優れていても価値はありません。当社の製品は、他社製品に比べて指数関数的な高速化を実現しており、10ミリ秒のレベルで回答を提示できる環境を提供しています。

 この二つの特徴から、当社の製品は、ユーザー自身が意図もしていなかったような問題や新しい発見、気付きまで示すことが可能です。新しい発見や気付きを導き出すという意味で、ユーザーの皆さんから高い評価を頂いています。

OSSと商用製品はまったく同等の位置付け

編集部 どのような開発体制で製品の開発を進めているのですか? また、製品ごとのチームの他に、テストや品質管理を専門とするチームもあるのでしょうか?

バノン氏 製品ごとにエンジニアリングチームを置いています。ただ、複数の製品を統合的にうまく機能させるためには、それぞれのチームが横断的に協力し合うことも必要です。そのため、サイロ型ではなく、チーム同士で協力し合える横断的な開発体制を取ることによって、開発のスピートアップを図れるようにしています。

 その一方で、当社の場合は、テストやQA(Quality Assurance、品質管理)などの専門チームは置かず、プロダクトごとのチームがゼロから100まで責任を持って開発に取り組んでいます。当然、それぞれのチームはコーディングだけではなく、テストやQAを含む全てのプロセスに責任を負っています。

編集部 チームが開発の全てのプロセスに責任を持つことで、開発のスピードアップを図ることが可能になるわけですね。

バノン氏 CTOとして最も重視していることは、それぞれのエンジニアリングチームがより迅速に開発できるようにすることです。あるチームが開発したものを別のチームがテストして、問題がないことを確認した上で、さらに次のチーム渡すというやり方では、時間がかかり過ぎてしまいますし、どうしてもチーム間に依存し合う悪い関係が生まれてしまいます。こうした依存関係をできるだけ排除することによって開発のスピードアップが可能になります。

編集部 OSS製品と商用製品の開発はどのように切り分けているのですか?

バノン氏 当社の場合、まずOSS製品と商用製品を全く同等に扱っていることを強調しておきたいと思います。実際には、ElasticsearchとKibanaというOSS製品を提供していますが、それをベースにした商用製品を提供することによって、製品全体の有益性を高めています。

 ソフトウエア開発者は、OSSチームから商用チームへ異動することも、商用チームからOSSチームへ異動することも可能です。OSSが成功するためには、商用の環境でも成功しなければなりませんし、その逆も真だと考えています。そういう意味でOSS製品と商用製品は同等の関係にあると言えるわけです。

編集部 OSS製品と商用製品は、どのように連携しているのですか?

バノン氏 例えば、Elasticsearchには、その上で動くセキュリティモジュールがありますが、これは商用製品として提供しています。また、OSSのユーザーインターフェース製品であるKibanaは、データ可視化やダッシュボードなどの機能を提供しますが、当然、セキュリティモジュールとのインターフェースを持たなければなりません。このセキュリティモジュールには、OSSのものと商用のものがあります。このように、OSS製品と商用製品は緊密に連携しており、開発チーム間の人事交流も行われています。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る