Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pub/Sub vs Cloud Tasks - その違い、わかりますか?-
Search
Tomonori Hayashi / ぴーはや
July 21, 2025
Technology
530
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pub/Sub vs Cloud Tasks - その違い、わかりますか?-
Tomonori Hayashi / ぴーはや
July 21, 2025
More Decks by Tomonori Hayashi / ぴーはや
See All by Tomonori Hayashi / ぴーはや
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
710
ビジネス要望の翻訳が生む アーキテクチャの複雑性とトレードオフ
phaya72
2
590
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
34
22k
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
3
3.7k
OpenTelemetry SpanProcessor を Let's カスタマイズ!
phaya72
3
420
非同期処理でも分散トレーシングしたい!- OpenTelemetry × Pub/Sub -
phaya72
2
1k
エラーバジェット枯渇の原因 - 偽陽性との戦い -
phaya72
2
220
Vertex AI Experimentsの実態 - コードを辿った先にあったもの -
phaya72
3
1.4k
オブザーバビリティと開発優先度との向き合い方
phaya72
5
1.1k
Other Decks in Technology
See All in Technology
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
280
ハーレムエンジニアリング
kazuma777777
0
190
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
170
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
110
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
610
Model Studio CLI × Token Plan
maigo999
0
200
35分でわかるEffective Platform Engineering
nwiizo
5
530
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
160
まちスペース®とデジタルツインと「まちづくり」
hiro_ogi
0
130
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
340
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
850
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
120
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Crafting Experiences
bethany
1
260
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
73
41k
Documentation Writing (for coders)
carmenintech
77
5.5k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
570
Agile that works and the tools we love
rasmusluckow
331
22k
Faster Mobile Websites
deanohume
310
32k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
260
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
460
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Transcript
Pub/Sub vs Cloud Tasks その違い、わかりますか? 月末 Tech Lunch #3 -
Tomonori Hayashi 1
Tomonori Hayashi / ぴーはや • NTT ドコモビジネス ◦ ソフトウェアエンジニア ▪
Front:TypeScript - React/Next.js ▪ Infra:Google Cloud • Google Cloud Partner Top Engineer 2024 - 2025 • Google Cloud Tech Blog Challenge 2024 個人カテゴリ受賞 • Google Cloud All Certifications • コミュニティ ◦ Jagu’e’r (Google Cloud 公式ユーザーコミュニティ) ▪ エバンジェリスト ▪ オブザーバビリティ分科会 運営 ▪ 月末 Tech Lunch • カンファレンススタッフ ◦ Observability Conference Tokyo 2025 ◦ SRE kaigi 2026 2 @pHaya72 @t_hayashi
本日お話しすること • Google Cloud における非同期処理の主要サービス、 Pub/Sub と Cloud Tasksに フォーカスします
• これらの中核にある『呼び出しモデル』という観点から、両者の性質の違いに説 明します 本日お話しないこと • 両サービスの詳細な機能比較はしません
4 似て非なるもの 共通点が多くどういった差分があるか見落とされがち 非同期タスクの実行、リクエスト元のプロセスからの処理の切り離し(オフロード)、バッファリングによる急なトラフィックスパイクの吸収、と いった共通する特性を持ち合わせる Pub/Sub Cloud Tasks
5 簡単に Cloud Tasks について 非同期タスクキューやジョブスケジューラのように振る舞う • Cloud Tasks 内にキュー
というリソースを作成して、クライアントから タスク を依頼してワーカーに処理させる仲介役
6 似て非なるもの 共通点が多くどういった差分があるか見落とされがち 非同期タスクの実行、リクエスト元のプロセスからの処理の切り離し(オフロード)、バッファリングによる急なトラフィックスパイクの吸収、と いった共通する特性を持ち合わせる Pub/Sub Cloud Tasks 両者の選択を誤るとシステムの結合度が意図せず高まったり、逆に不要な複雑性を生み出す
7 設計思想の違い:呼び出しモデル 共通点が多くどういった差分があるか見落とされがち 非同期タスクの実行、リクエスト元のプロセスからの処理の切り離し(オフロード)、バッファリングによる急なトラフィックスパイクの吸収、と いった共通する特性を持ち合わせる Pub/Sub Cloud Tasks 両者の選択を誤るとシステムの結合度が意図せず高まったり、逆に不要な複雑性を生み出す Explicit
Invocation Implicit Invocation 参考:https://cloud.google.com/tasks/docs/comp-pub-sub?hl=ja
8 Pub/Sub :Implicit Invocation 暗黙的な呼び出し 概念 Publisher は Topic にイベントを発行するだけ
そのイベントをどの Subscriber がどう処理するかは関与しない 責務 Publisher はイベントの発生を通知するだけ 処理の責務は Subscriber にある キーワード イベント通知パターン , パブリッシュ /サブスクライブ
9 Pub/Sub :Implicit Invocation 暗黙的な呼び出し 概念 Publisher は Topic にイベントを発行するだけ
そのイベントをどの Subscriber がどう処理するかは関与しない 責務 Publisher はイベントの発生を通知するだけ 処理の責務は Subscriber にある キーワード イベント通知パターン , パブリッシュ /サブスクライブ 伝えるメッセージ = 「イベント(出来事)」 事実の発生を知らせる通知であることから関心ごとは「事実の通知」
10 Pub/Sub :Implicit Invocation 暗黙的な呼び出し 概念 Publisher は Topic にイベントを発行するだけ
そのイベントをどの Subscriber がどう処理するかは関与しない 責務 Publisher はイベントの発生を通知するだけ 処理の責務は Subscriber にある キーワード イベント通知パターン , パブリッシュ /サブスクライブ 通信トポロジー One-to-Many の関係性、イベントの広範な伝播 とサービスの疎結合化 が目的
11 Cloud Tasks :Explicit Invocation 明示的な呼び出し キーワード コマンドパターン、ポイントツーポイント・メッセージング 概念 Client
が Worker の HTTP エンドポイントを直接指定して タスクをキューイングする 責務 Client が「誰に」「何を」させるかを完全に制御する
12 Cloud Tasks :Explicit Invocation 明示的な呼び出し キーワード コマンドパターン、ポイントツーポイント・メッセージング 概念 Client
が Worker の HTTP エンドポイントを直接指定して タスクをキューイングする 責務 Client が「誰に」「何を」させるかを完全に制御する 伝えるメッセージ = 「コマンド(命令)」 実行を強制する依頼であることから関心ごとは「処理の実行そのもの」
13 Cloud Tasks :Explicit Invocation 明示的な呼び出し キーワード コマンドパターン、ポイントツーポイント・メッセージング 概念 Client
が Worker の HTTP エンドポイントを直接指定して タスクをキューイングする 責務 Client が「誰に」「何を」させるかを完全に制御する 通信トポロジー One-to-One の関係性、特定のワーカーへの確実な処理依頼 が目的
14 Cloud Tasks を少し詳しく Client が「誰に」「何を」させるかを完全に制御する アーキテクチャ上の位置付け • 非同期タスクキュー •
ジョブスケジューラ 技術的なポイント • 実行ターゲット - 任意のワーカーを明示的に指定 • 実行制御 - 未来時刻での実行を指定可能 - タスク実行のタイムアウトを指定 - QPS や最大並列実行数で Worker への負荷を制御 ユースケース • Webhook の非同期実行 • 外部 API のレートリミットを考慮したリトライ制御 • バッチ処理のトリガーと実行管理
15 Cloud Tasks を少し詳しく Client が「誰に」「何を」させるかを完全に制御する アーキテクチャ上の位置付け • 非同期タスクキュー •
ジョブスケジューラ 技術的なポイント • 実行ターゲット - 任意のワーカーを明示的に指定 • 実行制御 - 未来時刻での実行を指定可能 - タスク実行のタイムアウトを指定 - QPS や最大並列実行数で Worker への負荷を制御 ユースケース • Webhook の非同期実行 • 外部 API のレートリミットを考慮したリトライ制御 • バッチ処理のトリガーと実行管理
16 Cloud Tasks を少し詳しく Client が「誰に」「何を」させるかを完全に制御する アーキテクチャ上の位置付け • 非同期タスクキュー •
ジョブスケジューラ 技術的なポイント • 実行ターゲット - 任意のワーカーを明示的に指定 • 実行制御 - 未来時刻での実行を指定可能 - タスク実行のタイムアウトを指定 - QPS や最大並列実行数で Worker への負荷を制御 ユースケース • Webhook の非同期実行 • 外部 API のレートリミットを考慮したリトライ制御 • バッチ処理のトリガーと実行管理 信頼性の高い非同期処理を実現する
Pub/Sub と Cloud Tasks を呼び出しモデルの違いから説明 • Pub/Sub:発生したイベントを関係する各所に伝搬させたい ◦ 呼び出しモデル:Implicit Invocation
◦ どんなイベントが起きるのか?それに誰が関心を持つのか? → Publisher と Subscriber を分離したい • Cloud Tasks:特定の処理を、制御しつつ非同期に実行したい ◦ 呼び出しモデル:Explicit Invocation ◦ どのワーカーに?実行レートは?リトライ戦略は? → Client の Worker に対する実行依頼を信頼性高く実現したい 設計思想の違いをしっかり理解して技術選択していきましょう! まとめと学び
CREDITS: This presentation template was created by Slidesgo, and includes
icons by Flaticon, and infographics & images by Freepik Thanks! 18 @pHaya72 @t_hayashi