※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます
企業がビジネスに関わるシステム構築にOSS(オープンソースソフトウェア)を活用するのは、もはや珍しいことではなくなりました。その一方で、OSSで利用できる最先端の技術を迅速にビジネスへと結びつけたり、何らかの形でOSSコミュニティに利益や成果を還元したりといった取り組みが行えている企業というのは、まだそれほど多くないのではないでしょうか。今回、企業としてのOSS活用や、コミュニティへの貢献といった観点でのヤフーでの取り組みを、 テクノロジーグループでグループCTOを務める服部典弘氏に伺いました。聞き手はエンタープライズIT分野で取材をするフリーランスライターの五味明子氏です。
五味:現在、服部さんはヤフーでどのような立場におられるのでしょう。
服部:ヤフーには、「メディア」「コマース」「テクノロジー」「コーポレート」という4つのカンパニーやグループがあります。テクノロジーグループは、ヤフー全体を支える技術基盤の開発と運用を担当しており、私は、そのグループCTOになります。
五味:服部さんご自身とOSSとの最初の出会いは何だったのですか。
服部:最初に勤めた会社でLinuxに触れたのが、OSSを本格的に使い始めたきっかけですね。それまで、高価なUNIXワークステーションがなければできなかったようなことが、リーズナブルなPC/AT互換機とLinuxの組み合わせで可能になるというので、何とか業務に取り入れられないかと模索していました。
仕事で使うためには、まだ不具合も多い段階でしたので、自分で修正パッチを作って送るようなこともしていたのですが、そのうち、だんだんとLinuxに関わることそのものが楽しくなってしまい(笑)、当時日本のLinux普及コミュニティであった「www.linux.or.jp」(2010年に「jp.linux.com」に統合された)のメンバーに加わったり、関連マニュアルの日本語化を行う「JM Project」に参加したりといったことをやっていました。
五味:日本でOSSが普及し始める、本当に初期の段階から活動されていたのですね。現在では、OSSとの関わり方も当時とは変わっておられるのでしょうか。
服部:そうですね。ヤフーは、そのシステム基盤にLinuxをはじめとするOSSを大量に活用しており、OSSがなくては、成り立たなくなっていると言っても過言ではありません。その点で、個々のプロジェクトに関わるというよりも、全体でうまくサービスをまわしていけるよう環境を整えることに軸足を移しています。
ヤフー株式会社 テクノロジーグループ グループCTO 兼 システム統括本部プラットフォーム開発本部本部長。地図関連会社、Linuxディストリビューターの立ち上げを経て、GIS系システムインテグレーターを設立。大手地図サービスのバックエンドシステムを多数手がける。2008年、買収によりヤフーへ。「Yahoo!地図」の技術責任者を務めた後、現職。ヤフーのエンジニアが利用する開発基盤の責任者であり、同社のOSS貢献についても主導的立場で関わる。
五味:ヤフーには、服部さんのほかにも、OSSに関わっているエンジニアが大勢いらっしゃると思うのですが、そうした方々はどのような形で動いているのですか。
服部:社内で使うにあたって直面した不具合を直したり、変えたいところを変えてみたり……といった、基本的な部分は、昔、私がやっていたことと大きく変わっていないかもしれません。それを、大量かつ大規模にやっている感じでしょうか。
もちろん、独自にソースを変えるような作業をした場合には、今後の効率のことも考えて、それをアップストリームに流すこともやっています。そうしたコントリビューター的な活動に加えて、社員の中にはメジャーなOSSのコミッターやPMC(Project Management Committee)に参加しているようなメンバーもいますね。
五味:企業としても、OSSを使う立場から、貢献する立場に移ってきているイメージでしょうか。
服部:私としては、OSSに対する「貢献」を特別なものとして意識しているわけではないですね。OSSを使って仕事をしていく中では、自然な流れだと思っています。
ただ、会社としては、ここ数年の間に社内の規定、制度として、エンジニアがOSSへの貢献をしやすい環境を作りました。「OSSデベロッパー認定制度」と呼ばれるものなのですが、この認定を受けた人は、対象となるOSSの開発時間を業務扱いとしたり、対象OSSの開発や関連する活動について、年間100万円を上限とした活動予算枠が与えられたりといった特典があります。企業のエンジニアとして働きながら、OSSコミッターとしての活動にも注力してもらえるような制度です。
五味:それはユニークですね。ちなみに現在、この制度が適用される方々は、どのくらいいらっしゃるのですか。
服部:制度自体は2年前にスタートし、現在6名のエンジニアが認定を受けています。海外だと、企業に勤めるエンジニアであっても、比較的気軽にと言いますか、個人でOSSに携わっている人も多いのですが、日本人はどちらかというと真面目なので、会社側の制度との整合性を明らかにしておかないと、安心してOSSに携われないという人も多いようです。
五味:昨年「The Apache Software Foundation」のトップレベルプロジェクトになった「Apache Pulsar」というメッセージキューイングのミドルウェアがありますね。あれは、もともと米ヤフー(現Verizon Media)のプロダクトだと聞いていますが、日本のエンジニアも開発に関わっていたのでしょうか。
服部:そうですね。Pulsarの開発には日本のエンジニアも参加しており、OSS化も手伝いました。The Apache Software Foundationのプロジェクトになったのをきっかけに、日本で開発を行ったメンバーもコミッターとして引き続き関わっています。
pub-subモデルのメッセージングミドルウェアというのは、海外ではすでに当たり前のように使われているのですが、日本ではまだまだですね。KafkaやPulsarのようなものを含めて、pub-subモデルのメッセージングは、もっともっと世の中で使われるべき技術だと思っています。
あと、米ヤフーで開発していて、似たような経緯でOSS化されたものに「Athenz」というロールベースアクセス認証のテクノロジーもあります。これについても、今後APIに対する認証が必要な開発が増えていく中で必要とされる技術だと思うので、より多くの人に知ってもらい、使ってもらいたいですね。
五味:Kafkaのアーキテクチャはとてもきれいで、私も好きな技術の一つなのですが、特にメッセージングのようなミドルウェアは、エンジニアにとって地味で難解なイメージもあるような気がします。その良さをどう伝えていくかというのは難しいテーマだと思うのですがどうでしょう。
服部:同感です(笑)。われわれもこのあたりのプロダクトを技術イベントなどで披露することはあるのですが、画面を見せてのデモでは引きが弱く、使ってもらわないと便利さが伝わらないというところが悩ましいですね。自分たちがpub-subメッセージングをどのように使っているかといった具体的な例を、少しずつでも見せて、便利さを分かってもらえるようにしていきたいと思っています。
フリーランスライター。IT系出版社で編集者としてキャリアを積んだのち、2011年に独立。フィールドワークはオープンソース、クラウドコンピューティング、データアナリティクスといったエンタープライズITの領域が中心で、国内のみならず、海外カンファレンスの取材も数多く手がける。エンタープライズIT系ニュースを扱うブログ「G3 Enterprise」の筆者。
五味:海外の状況を見ていると、新興のネットサービス企業だけでなく、金融や公共といったような古くからある業界の企業でも、OSSで提供されている最先端の技術を使ってシステムを作っていくというスタイルがすでに確立されていることに驚かされます。それと比べると、日本企業は周回で5周遅れくらいになってしまっているようにも感じるのですが、その差は何が原因になっていると思われますか。
服部:たしかに、海外では比較的お堅い業界でもイケイケでOSSを使っているのには、ちょっとビックリしますよね。「日本が5周遅れ」という印象には、私も同感です。ただ、日本も変化に少し時間がかかっているだけで、5年後には海外並みになっているのかもしれないと、希望も込めながら思っています。
五味:日本がそうした状況になるために必要な条件というのは何でしょう。現在のように、システムについては外に丸投げで、社内にエンジニアを抱えないという状況が続くようだと、それも危ういのではないかと心配してしまうのですが。
服部:やはり、企業が自社でエンジニアを抱えるというのが最初のステップでしょうね。ただ、最近では、日本の「ユーザー企業」と言われているようなところも、少しずつエンジニア採用を進めている印象がありますし、前進しているのではないでしょうか。
五味:特に日本企業の中には、OSSを使うと言っても、独自のカスタマイズを大量に行って、運用でカバーしながら、その会社の中だけで長年にわたって使い続けていくようなところも多いように思います。手を入れた部分をアップストリームして、コミュニティに還元するような文化というのが企業として根付いているようなところは、まだまだ多くないようにも思うのですが、そのあたりの状況は変わりそうでしょうか。
服部:ヤフーに限っての話になりますが、もちろん、われわれが使うために特化した機能というのはあり、それについては社内に閉じた形で運用しています。ただ、その際にひと手間かければ、われわれだけでなく、同じような状況にある人の課題を解決できるものに変えられるケースというのは結構あるだろうと思います。そうしたものについては、積極的にアップストリームに還元していきたいと考えています。
五味:昨年、AWSのカンファレンスにヤフーの方が登壇されていて、その方が「ヤフーはほとんどがオンプレミスの会社」とおっしゃっていました。昔から何でも自分たちで作ってしまう文化がヤフー内に根付いていた、ということだと思います。開発と運用のスピード感を考慮したとき、「自分たちで作る」ことと「既にあるものを活用する」ことのバランスは、非常に難しいと思うのですが、そのあたりについて、服部さんの見解はいかがですか。
服部:そうですね…、たしかに近年、例えばシステム基盤の領域でも、自分たちで構築運用する「プライベートクラウド」だけでなく、AWSのような「パブリッククラウド」を活用する比率が増えています。ただ、その変化の背景には、非常に多くの要素が関わっています。
そもそも「自分たちで作っていた」のは、そうせざるを得なかった側面も大きいんですよね。ヤフーは日本でサービスをはじめて20年以上がたちますが、当時から比較的最近まで、他の企業ではあまり考えられない大規模なトラフィックを扱ってきました。その意味で、ヤフーのサービスに求められる技術が、一般的なOSSやクラウドサービスでフォローできる部分と必ずしもイコールではなかった側面もあると思います。
近年、インターネットが普及していく中で、大規模なトラフィックやデータに対するニーズが世界的に高まり、OSSやクラウドを取り巻く環境が、そのニーズに応える形で変化してきたという状況もあります。それによって、これまで「自分たちで作るしかなかった」部分を、「既にあるものから選んで使う」ことができるようになったのも大きいだろうと思います。
五味:たしかに、ヤフーほどの規模でネットサービスを展開しているところは、特に日本では数えられるほどしかないですね。HadoopがGoogle内のアイデアから生まれてきたように、大規模なサービスを動かしていかなければならないというニーズからしか、出てこないものというのもあるでしょうね。
その点で、超大規模の領域を日本でリードできる数少ない企業の1社だと思うのですが、エンジニアのみなさんにもそういう意識はありますか。
服部:たしかに「ヤフーでなければできない経験をしている」と感じているエンジニアは多いですね。他社から転職してくる人の中には、大規模トラフィックや巨大リソースを扱えることがヤフーの魅力だとおっしゃる方もいます。
一般的に、エンジニアにとって運用は「あまりやりたくない仕事」と捉えられがちなのですが、これだけ大規模なトラフィックとユーザーを扱う運用環境は他にないという意味で、魅力を感じてくれている人もいると思います。
五味:規模の大きさが、エンジニアにとってのモチベーションにもなっているのですね。
五味:今日、服部さんにお伺いしたかったテーマの一つに、クラウドベンダーとオープンソースコミュニティとの関係の変化があります。昨年、MongoDBやConfluent PlatformがAWSをはじめとするクラウドベンダーを主なターゲットとしたライセンスの変更を行ったことが話題になりました。個人的に、こうした動きは、これまでオープンになる方向で変化してきたOSSの世界にとって、あまり良くない流れなのではないかと思っているのですが、長くOSSに関わられている服部さんは、どのような印象を持っておられますか。
服部:そうですね……、これは難しい問題だとは思うのですが、大前提として、ソフトウェアのライセンスは、基本的に開発元が決めるべきものですし、ユーザーとしては、ライセンスも含めて、そのプロダクトを使うかどうか評価すべきです。
ヤフーの場合、3000人以上のエンジニアやデザイナーなどクリエイターが働いている中で、彼らがOSSを使うにあたってライセンス違反をしないよう、場合分けしながら教育し、気を配るのは結構大変な作業になります。そうした状況で、使いづらいライセンスのプロダクトは選びにくくなるだろうなという印象はありますね。
五味:最近、Confluentの幹部に話を聞く機会があったのですが、彼らはAWSを意識してライセンスを変えたことを明言していましたし、クラウドベンダーがOSSへの「タダ乗り」を続けていることを危惧してもいました。こうした動きに、今後さらに追随するところが出てくる可能性があることを考えると、このあたりで一度、流れを変えた方が、OSSにとってもクラウドベンダーにとっても、ひいてはユーザーにとっても良いのではないかと思っているのですが。
服部:たしかに、これまでのOSSコミュニティでは、ライセンス面も含めて「クラウド」というビジネスモデルの急速な成長を想定していなかった部分もあるだろうと思います。その意味で、若干の調整が必要な局面には入ってきているのかもしれませんね。
五味:今、どのような技術やプロダクトを使うかの「評価」のお話しが出てきましたが、OSSの場合、「メンテナンスする人がいなくなったら終わり」といった現実もありますよね。その点について、ヤフーではどのように考えているかについて、もう少し詳しくお伺いできればと思います。
服部:最初のほうでもお話ししましたが、OSSを使ってビジネスをしているところが、何らかの形でコミュニティに貢献をするのは「あたりまえ」という感覚ですね。これは、企業にとっての利益になるという意味でもそうで、自分たちが選んだOSSが廃れてしまえば、技術の移行や作り替えが必要になる点で、膨大なコストがかかります。一度製品や技術を選んだら、できるだけそれが廃れないように応援していくというのも、重要なことだろうと思います。
もちろん、ビジネス面でのメリットと見比べながら、技術の取捨選択は行います。今、私はその責任を持つ立場ですが、その部分については、OSSであろうと、一般的なベンダーの製品であろうと、あまり違いはないですね。
五味:技術の取捨選択という点で、エンジニアには、これまで自分が一生懸命積み重ねてきた技術や手法が「破壊的なテクノロジー」によって覆されるタイミングというのがあり、年々、その周期も短くなっているように感じています。それを乗り越えるための方法について考えをお聞かせください。
服部:それは、ヤフーでも結構な頻度で起こっていますね(笑)。世の中になかったものを、必要に迫られて自分たちで作り、積み上げてきたケースというのは、われわれにも多くあります。それが、新しい技術の登場で、ある日突然「ムダ」になってしまうという経験も数多くしてきました。
そうした状況を乗り切るために、エンジニアによく言っているのは「プロダクトの担当ではなく、ユースケースの担当になろう」ということです。特定のプロダクトではなく、ユーザーがそれを使ってやりたいこと、つまり「目的を達成すること」についての、技術面でのプロであることが重要だということですね。
ユースケースを意識しながらプロダクトを作ることで、周囲の状況や最新の技術動向にも気を配りつつ、目的の達成に最適な技術を選び、場合によっては古いものを捨てることも、それほど抵抗なくできるようになるのではないかと思います。
五味:たしかに、プロダクトを意識しすぎると、エンジニアとしての視野が狭まるリスクは増すかもしれませんね。これから技術を扱うエンジニアには、その視点がこれまで以上に重要になりそうな気がします。
本日はありがとうございました。
例年実施しているアドベントカレンダーに加え、今年は「OSSウィーク」を実施しています。OSSに関わるヤフーのエンジニアが2月18日から22日にかけて、入れ替わりでOSS活動に関する記事をアップする企画です。お見逃しなく! 詳細は「Yahoo! JAPAN Tech Blog」をご確認ください。
著:高橋美津
写真:小倉亜沙子
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社