PR

 Yahoo! Japanを運営するヤフーが、アプリケーションをマイクロサービスアーキテクチャーで開発しやすくする基盤の整備を進めている。福田奏テクノロジーグループ システム統括本部 プラットフォーム開発本部 コンピューティングプラットフォーム部 部長は「マイクロサービスはアプリケーション開発の重要なトレンドになっている。インフラ基盤側としても推進するための仕掛けを提供したかった」と話す。

 中核となるのが、イベントに基づいてプログラムを実行する「FaaS(Function as a Service)」だ。FaaSとはいわゆるサーバーレスの基盤で、クラウドサービスでは米Amazon Web Servicesの「AWS Lambda」が代表格。ヤフーはクラウドサービスの利用ではなく、オープンソースソフトの「OpenWhisk」を利用して自社データセンター内にFaaS環境を構築した。

 FaaSの特徴は、開発者がサーバーの存在を意識しなくていいことだ。「指定した時刻が来た」「通信メッセージを受け取る」といったプログラム実行のきっかけとなる出来事があると、OpenWhiskがコンテナーを作成してプログラムを実行する。実行時にはOepnWhiskが自動で割り当てるリソース量を調整する。処理が終わったらコンテナーを消し去る。開発者はITインフラの設計が不要で、プログラム実行環境の保守管理もいらない。

 さらに社内向けAPIを一括管理する「APIゲートウエイ」を自社データセンター内に構築した。これには、米KongのAPI管理ソフト「Kong Enterprise」を利用した。APIゲートウエイは複数のシステムのAPIに対するリクエストや返答を一元化するシステム。API呼び出し時にはリバースプロキシーとして動作する。リクエストの認証認可、転送制御、流量制御、異常処理対応といった機能も持つ。

 FaaS、APIゲートウエイともに2018年7月2日時点では評価中。2018年10月をめどに社内のアプリケーション開発者に対して正式リリースする予定だ。なお、通信を非同期に行うメッセージキューイングの「Apache Pulsar」は導入済み。FaaS、APIゲートウエイ、メッセージキューイングをプライベートクラウドで提供して、マイクロサービスアーキテクチャーに基づいたアプリケーション開発を後押しする。

ヤフーがプライベートクラウド上に実装した社内共通ミドルウエア
ヤフーがプライベートクラウド上に実装した社内共通ミドルウエア
[画像のクリックで拡大表示]