検索
連載

ヤフーの、データフォレスト構想に向けたミドルウェア活用戦略とはメッセージキュー、APIゲートウェイ、FaaS(1/2 ページ)

ミドルウェアに関連する大きなトレンドとして、「マイクロサービス化」や「API化」がある。「マイクロサービスはあくまでも1つの手段」と、ヤフーの福田氏は話す。だが、事業ニーズがこうした技術を求めつつあることは明らか。ヤフーはどのようなミドルウェア活用戦略を描いているのだろうか。

Share
Tweet
LINE
Hatena

 「サービス開発者がいかに開発に集中できるかが最大のテーマ」と、ヤフーの福田奏氏は話す。福田氏は同社で、システム統括本部プラットフォーム開発本部コンピューティングプラットフォーム部の部長を務めている。ヤフーでは、サービス向けのプラットフォームを、インフラ、ミドルウェア、開発環境の3つに分けて開発・提供している。このうちミドルウェアが、福田氏の率いる部の管轄だ。


ヤフー システム統括本部プラットフォーム開発本部コンピューティングプラットフォーム部 部長、福田奏氏

 ヤフーは約2500名の開発者を抱える。し烈な競争の中にあるネットサービスの事業活動を支えるため、開発作業でも規模を生かしながら、スタートアップ企業のようなスピード感と柔軟性を発揮していくことが求められると、福田氏は言う。

 このためのプラットフォームはどうあるべきか。プラットフォーム開発本部の役割は、共通に使われる機能を構築・運用することで、各サービス提供部署の負担を減らすことにある。

 「各種ツールに関するナレッジを集中して蓄積し、事業部門に対して社内サービスとして提供することで、各サービス事業の開発者は、ビジネス上の差別化につながることに専念できる」(福田氏)

 一般企業の場合、同様な目的を達成するために、アーキテクチャの標準化を進めることがある。投資対効果の向上という観点からも、これが推奨されるケースも多い。だが、ヤフーで特定のアーキテクチャやツールを全社的に推進することは、一部の例外を除いてはないという。

 例えばプラットフォーム的な技術に限っても、同社では物理サーバ、OpenStack、Cloud Foundry(Cloud Foundry Application Runtime)、Kubernetesなどを使っており、後述の通りサーバレス(FaaS)のApache OpenWhiskについても利用を進めている。どのような機能のためにどれを使うかを選ぶのは、サービス事業部門の開発者たちであり、プラットフォーム開発本部では「開発者にとっての選択肢をできる限り広げようとしている」(福田氏)のだという。

マイクロサービス化は、それ自体が目的ではない

 では、福田氏の部署では、ミドルウェアをどのように整備しているのか。ミドルウェアに関連する大きなトレンドとしては、「マイクロサービス化」や「API化」がある。だが、「マイクロサービスアーキテクチャの導入を促進する活動は特に行っていない」と福田氏は話す。

 「マイクロサービスはあくまでも1つの手段であり、目的は各サービスの生産性を上げることにある。それに適しているアーキテクチャやツールが何なのかは、各サービス担当部署が判断してくれればいい。ただし、『道具がないから生産性を上げる取り組みができない』というのでは残念。私たちはサービス部門の選択肢を増やすために、道具を用意していきたいと考えている」

 そしてサービス部門では、必ずしもマイクロサービスアーキテクチャではないが、コンテナやサーバレスへのニーズが明らかに高まってきている。福田氏の率いるコンピューティングプラットフォーム部では、これにつながる環境作りが仕事の大きな部分を占める。

 具体的な活動は多岐にわたるが、公表できるものとしては、メッセージキューのApache Pulsar、APIゲートウェイのKong、サーバレスのOpenWhiskがあるという。それぞれについて詳しくは後述する。

 では、技術コンポーネントを選択する際の基準は何なのか。

 「もちろん、課題を解決するのに十分な機能を備えていることが出発点。その次に重要なのは、マルチテナント対応だ。運用側は統合的に運用できる一方、なるべくビジネスロジックが分離できるような形で提供し、利用側はそれぞれが使いやすいようなやり方で活用できなければならない。各サービス部門が自身で最適と考えるサービス構築・運用を実現しながらも、サービスに直結しない部分はプラットフォーム側に任せてしまえる。こうした環境を実現するには、マルチテナント対応が必須だ」(福田氏)

 これに関連して、セルフサービスプロビジョニングの環境整備が進んでいるという。「サービス提供側が必要な時に、自らの使いたい形で使えるようにするためには、プラットフォーム側とのやり取りなしにプロビジョニングができなければならない」といい、福田氏たちが提供するミドルウェアに関しては原則的に全て、開発者がポータルを通じて即座に自ら利用を開始できるようにしている。

 「他には、自分たちが持っているテクノロジーと統合がしやすいか、例えば認証方式や機能がプラグイン化されているかどうかを考慮する。また、オープンソースソフトウェアでは、コミュニティの活動が活発かどうか、廃れていくことはないかということも考える。そして、サービスに大きな影響を与えるソフトウェアについては、有償サポートを提供しているベンダーとサポート契約を結んでいる」

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る