- BBCはクラウドへ移行する中で、サーバーレスベースのプラットフォーム「WebCore」を構築
- この1年間で最終目標の約30%しか達成していないが、すでに効果が見え始めている
- サーバーレスを使うことで、プラットフォーム基盤のエンジニアリングに時間を費やすよりも、顧客に提供する価値に集中できる
- BBCはキャッシュによって安全性と性能を最大化してきた。しかし最近のトレンドに合わせて、読者一人ひとりに合わせたコンテンツを提供するには、より多くの変化を加える必要があり、より大きな負荷も受けることになる
Personalisation / Relevancy
- 読者ごとにパーソナライズされたページを提供できるよう構築中
- フロントページは現在パーソナライズされており、レンダリング時間は約500msで、その間に約30個の関数を呼び出す
- 2022年2月には1.45億回の呼び出しがパーソナライズされ、WebCore全体トラフィックの6%を占めた
- 今後12か月で、ほとんどのページが読者ごとにパーソナライズされるようにする予定
Experimentation
- キャッシュに依存していた既存プラットフォームでは、ページ上でさまざまな実験を行うのが難しかった
- A/B/nテストによって多様な実験が可能になるよう開発を進めている
Speed of Updates
- 平日にはBBCニュースおよびスポーツセクションが編集者によって1秒あたり3回変更される(記事、インデックス、動画、ショートフォーム投稿など)
- パーソナライズされていないページでも、できるだけ新しいコンテンツが反映されることが望まれるが、キャッシュのため難しい
- サーバーレスRedisによって、新しい記事がユーザーに表示されるまでの時間を継続的に改善中
- 8か月で2.5分から30秒まで短縮し、今後12か月で5秒以下にすることを目標としている
Build times
- 技術チームが高速かつ安全にデプロイするため、既存のCI/CDパイプラインから脱却
- JekinsベースからサーバーレスCI/CDパイプラインへ変更
- ビルド時間は当初の24分から現在は5分まで短縮され、目標は2分
小さな課題
- ノイジーネイバー問題: クラウドのサーバーレスプラットフォームは共有リソースを使用するため、時々遅くなることがある
まだコメントはありません。