eBayはかねてから、同社のテクノロジスタック全体を再プラットフォーム(replatform)化する活動の実施について検討を続けているが、その中には、開発した新たなハードウェアとソフトウェアのオープンソースとしてリリースも含まれる。オープンソースはeBayのインフラストラクチャにおける“変革の原動力”であり、同社はKubernetesやEnvoy、MongoDB、Docker、Apache Kafkaといったクラウドネイティブなテクノロジを積極的に導入している。
バックエンドのインフラストラクチャを再プラットフォーム化して現代化する活動の一環として、eBayは先頃、独自設計によるサーバの“built by eBay, for eBay”を開発中であることを公表した。この計画には、今年の第4四半期、このeBay製サーバをオープンソースとして公開することも含まれている。GoogleやAWS、Azureなど、ハードウェアを独自開発する大手技術系企業やクラウドベンダは多いが、一般的にはオープンソースとして公開していない。eBayでは、同社が“独自に設計したサーバとハードウェアを使用することで、サードパーティへの依存性を低減している”、と述べている。
eBayのエンジニアリングチームは、物理的および論理的レイヤの両方を含む、テクノロジスタック全体を変更しようとしている。すべてのレイヤは何らかの形で結び付いている、という考えからだ。“スタックは結合組織のようなもので、ひとつのレイヤを分離することはできません。全体をひとつとして進めることが必要なのです。” そのため、テクノロジスタックのすべてのレイヤが、その効率、能力、既存のソリューションを改善する機会の点で再検討された。先日SDxCentralがレポートしたように、これは既存のOpenStackベースのシステムを離れて、より現代的なDockerとKubernetesによるスタックに移行するという、最近になってeBayが下した決定と関わりがあると思われる。しかしながら、 OpenStack上でもKubernetesを実行することは可能であり、昨年のOpenStackサミットでは、eBayエンジニアリングチームがこのオプションについて論じていた点にも注目すべきだ。
物理的な基盤に関しては、eBayはPoint of Presence(PoP)戦略であり、米国をベースとしてデータセンタのクラスタを分散するという、“エッジコンピューティング・アプローチ”を採用している。これによって、“より速く、より一貫性のあるユーザエクスペリエンスの提供と、600~800ミリ秒のロードタイムの節約に成功”している。先日のQCon New Yorkで論じられたChick-Fil-Aアプローチと同じように、eBayチームはオンラインサービスとデータを、ユーザにより近いネットワークのエッジに展開することで、動的および静的キャッシュ機能を活用し、レイテンシの低減、ユーザエクスペリエンスの向上を実現した。
データレイヤには、さらに“カスタマイズされたモデル”を採用している。同社のチームは、オープンソース技術を活用して、フォールトトレラントで地理的に分散したオブジェクトおよびデータストアである“NuData”を開発した。これはまだオープンソースとして公開されていないが、興味を持って詳細な情報をWeb検索する場合は、Mastercardの“NuData Security”プロダクトと混同しないように注意が必要だ。長期的には、これによってeBayは、データの地理的分散によるユーザエクスペリエンスの向上、サービスのレジリエンスの向上、“データ分離を要件とする国に対するソリューション”の提供(おもに先日のGeneral Data Protection RegulationとCalifornia Consumer Privacy Actへの対処)が可能になる。
eBayは日に300億件のデータクエリを処理しており、データフットプリントは500ペタバイトを越え、その量は“1兆曲、250万時間の映画に相当し、アメリカ議会図書館の書籍を300回以上バックアップすることができる”。そのため同社では、オープンソースを使用して自社用の“AIエンジン”を構築し、“生産性の向上、コラボレーション、トレーニング”という目標を全チームで共有している。このAIエンジンは、コンピュータビジョンやイメージ検索などの新機能開発や、ソーシャルメディアプラットフォームでの共有において、すでに効果を発揮している。
同社のデータサイエンスチームは以前、自社のRheosプラットフォームにおけるApache KafkaやApache Stormの利用について話したことがある。 このプラットフォームは、リアルタイムストリーミングデータパイプラインにライフサイクル管理、監視、アーキテクチャの確立した標準、エコシステムを提供する。ベルリンのエンジニアリングチームは、リアルタイムユーザプロファイリング実装においてKafka StreamsとElasticSearchを利用した点についても論じた。2017年にはMongiDB Worldでプレゼンテーションを行い、“MongoDBでのミッションクリティカルなマルチデータセンタアプリケーションの構築”について論じている。
eBayは、イノベーションとテクノロジの経験を、オープンソースを通じて幅広いエンジニアリングコミュニティと共有したいと考えている。同社のツールを活用する開発者やコミュニティが、開発中のものを改善し、最終的には全体としてより優れたエクスペリエンスの創造を支援すると考えているからだ。eBayのGitHubアカウントはオープンソースプロジェクトで溢れているが、その中には素晴らしいものがいくつかある。“クラウドネイティブ”なソフトウェアロードバランサのNeutrino(おそらく現在は、Envoy Proxyの使用に置き換えられているはずだ)、AsyncDisplaykit上にSwiftで記述された軽量メッセージコンポーネントのNMessanger、Pythonライブラリのbayesian-belief-networks、ConsulベースのロードバランシングルータであるFabioなどがその例だ。
今回の移行とオープンソース活動を発表したeBayのニュースは、その結論として、3年間という野心的なタイムラインでのインフラストラクチャ改革が成功を収めた鍵となったのは、同社の人々にある、と述べている。“望ましい文化を構築し、最高の雰囲気を作り上げるためには、慎重かつ繊細な作業が必要です。正しい文化があれば、テクノロジやイノベーションは自ずとついてくるものです。”
この記事を評価
- 編集者評
- 編集長アクション