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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tomonori Hayashi / ぴーはや
July 21, 2025
Technology
510
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
650
ビジネス要望の翻訳が生む アーキテクチャの複雑性とトレードオフ
phaya72
2
560
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
34
22k
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
3
3.6k
OpenTelemetry SpanProcessor を Let's カスタマイズ!
phaya72
3
410
非同期処理でも分散トレーシングしたい!- OpenTelemetry × Pub/Sub -
phaya72
2
930
エラーバジェット枯渇の原因 - 偽陽性との戦い -
phaya72
2
220
Vertex AI Experimentsの実態 - コードを辿った先にあったもの -
phaya72
3
1.4k
オブザーバビリティと開発優先度との向き合い方
phaya72
5
1k
Other Decks in Technology
See All in Technology
ゼロをイチにする仕事が終わったあと
smasato
0
230
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
410
4人目のSREはAgent
tanimuyk
0
360
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
180
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
190
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
200
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
320
初めてのDatabricks勉強会
taka_aki
2
230
【FinOps】データドリブンな意思決定を目指して
z63d
3
580
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
280
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
130
WebGIS AI Agentの紹介
_shimizu
0
610
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Code Reviewing Like a Champion
maltzj
528
40k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
400
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Believing is Seeing
oripsolob
1
160
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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