尾﨑勇太
waichang111
◻︎セッション概要(500文字以内)
サーバーレス環境で大量イベント処理や高頻度バッチを運用する際、
「Cloud RUn functions が詰まる」「メモリ不足で処理が落ちる」「同時実行が制御できずコストが増加する」といった課題は多くの現場で発生しています。
本セッションでは、Google WorkflowsとCloud Run functions と Cloud Tasks を組み合わせてキュー駆動の並列処理基盤を構築し、
スループット向上とメモリ最適化を同時に実現した具体的なアーキテクチャと改善プロセスを紹介します。
Cloud Tasks のディスパッチ制御、Cloud Run のメモリ・CPU設定、コンカレンシーの考え方、ワーカーデザイン、リトライ戦略、可観測性の設計など、
実運用ならではの知見を詳細に共有します。
諦めていたユースケースでもサーバーレスでもまだやりようはある!と運用改善のヒントを求める方に役立つ内容です。
◻︎想定オーディエンス・得られる学び(500文字以内)
想定オーディエンス
・Cloud Run / Cloud Functions を用いて ETL・イベント処理を運用するエンジニア
・高スループットなサーバーレス基盤を構築したいアーキテクト
・キュー駆動の分散処理に興味がある開発者
・Google Cloud 上で安定性・コスト最適化を両立したい技術リーダー
得られる学び
・Cloud Tasks を中心とした“キュー駆動アーキテクチャ”の設計パターン
・Cloud Run のメモリ配分・CPU設定・コンカレンシーの最適化方法
・詰まり・過負荷・急増するイベントに対処する並列実行の考え方
・大量処理で失敗しやすいポイントと、それを避ける設定・監視手法
・サーバーレス環境で高スループットと安定性を両立させる実践知
◻︎セッション詳細(1000文字程度)
本セッションでは、Cloud Run functions と Cloud Tasks を組み合わせた「高スループットかつ安定性の高いサーバーレス処理基盤」をどのように設計し、どのように改善し、どのように運用しているかを具体的に解説します。
まず、従来の Cloud Run functions 単体運用で発生していた課題を整理します。具体的には「同時実行制御が困難」「メモリ不足による処理失敗」「突発的なイベント増加に対するスケール追従の遅延」「エラー発生時の再処理が複雑」など、現場で実際に起きた問題を提示します。
次に、それらを解決するためのアーキテクチャとして Cloud Tasks を導入し、イベントをキューに積んで非同期分散処理させる構成を紹介します。Cloud Tasks のレート制限・ディスパッチ設定・キュー分割戦略を活用し、業務に応じた「スレッド数」を柔軟に設計する方法を実例を交えて解説します。
さらに Cloud Run 側では、メモリ・CPU・timeout・コンカレンシーの適切な設定を検証しながら最適化しました。特にメモリ配分の見直しにより、処理安定性の向上とコスト削減を両立させたプロセスは多くの現場で応用できます。また、ワーカー設計、エラー/リトライポリシー、idempotency の考慮、ログ・メトリクスを中心とした可観測性の組み込みなど、実運用で不可欠な要素も整理して紹介します。
最後に、今回のアーキテクチャが ETL・スクレイピング・Webhook 処理などさまざまなユースケースに適用できる汎用性の高さを示し、他プロジェクトにも展開可能な設計原則としてまとめます。