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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tomonori Hayashi / ぴーはや
July 21, 2025
Technology
500
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
630
ビジネス要望の翻訳が生む アーキテクチャの複雑性とトレードオフ
phaya72
2
550
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
34
22k
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
3
3.6k
OpenTelemetry SpanProcessor を Let's カスタマイズ!
phaya72
3
400
非同期処理でも分散トレーシングしたい!- OpenTelemetry × Pub/Sub -
phaya72
2
900
エラーバジェット枯渇の原因 - 偽陽性との戦い -
phaya72
2
210
Vertex AI Experimentsの実態 - コードを辿った先にあったもの -
phaya72
3
1.3k
オブザーバビリティと開発優先度との向き合い方
phaya72
5
1k
Other Decks in Technology
See All in Technology
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
150
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
310
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.3k
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
240
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
270
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
230
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
170
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
320
自宅LLMの話
jacopen
1
650
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.9k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
Building Flexible Design Systems
yeseniaperezcruz
330
40k
4 Signs Your Business is Dying
shpigford
187
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
The Spectacular Lies of Maps
axbom
PRO
1
820
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
66
55k
Between Models and Reality
mayunak
4
340
Context Engineering - Making Every Token Count
addyosmani
9
970
Agile that works and the tools we love
rasmusluckow
331
21k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
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