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
520
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
690
ビジネス要望の翻訳が生む アーキテクチャの複雑性とトレードオフ
phaya72
2
580
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
34
22k
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
3
3.7k
OpenTelemetry SpanProcessor を Let's カスタマイズ!
phaya72
3
420
非同期処理でも分散トレーシングしたい!- OpenTelemetry × Pub/Sub -
phaya72
2
970
エラーバジェット枯渇の原因 - 偽陽性との戦い -
phaya72
2
220
Vertex AI Experimentsの実態 - コードを辿った先にあったもの -
phaya72
3
1.4k
オブザーバビリティと開発優先度との向き合い方
phaya72
5
1k
Other Decks in Technology
See All in Technology
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
180
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
210
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
110
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
270
タクシーアプリ『GO』の実践的データ活用〜位置情報データの収集とStreamlitでの可視化〜
mot_techtalk
2
200
NetBoxを利用した作業効率化の試み_NetDevNight4
tnoha
0
460
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.4k
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
280
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1.3k
サイバー捜査員研修(前半)
nomizone
1
1.6k
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
320
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
200
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Code Reviewing Like a Champion
maltzj
528
40k
Done Done
chrislema
186
16k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Why Our Code Smells
bkeepers
PRO
340
58k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
Product Roadmaps are Hard
iamctodd
55
12k
How to build a perfect <img>
jonoalderson
1
5.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The browser strikes back
jonoalderson
0
1.4k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
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