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
GCPでのバッチ処理パターンを考えてみる
Search
SatohJohn
December 15, 2022
Programming
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GCPでのバッチ処理パターンを考えてみる
SatohJohn
December 15, 2022
More Decks by SatohJohn
See All by SatohJohn
A2UI という光を覗いてみる
satohjohn
1
140
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
1.2k
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
1.5k
Vertex_AI_Searchを使いこなす実践テクニック
satohjohn
1
200
アーキテクチャモダナイゼーションの書籍紹介
satohjohn
0
55
NVIDIA NeMo Agent Tooklit を使ってみた
satohjohn
0
110
Gemini Enterprise を恐れない - Securityと監査-
satohjohn
0
200
進化の早すぎる生成 AI と向き合う
satohjohn
0
790
お前も Gemini CLI extensions を作らないか?
satohjohn
0
190
Other Decks in Programming
See All in Programming
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
170
RTSPクライアントを自作してみた話
simotin13
0
610
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
200
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
260
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
210
net-httpのHTTP/2対応について
naruse
0
500
Webフレームワークの ベンチマークについて
yusukebe
0
170
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.7k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
350
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
360
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
200
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
320
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Scaling GitHub
holman
464
140k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
What's in a price? How to price your products and services
michaelherold
247
13k
Documentation Writing (for coders)
carmenintech
77
5.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Transcript
GCPでのバッチ処理 パターンを考えてみる 3-shake SRE Tech Talk 2022/12/15 佐藤慧太@SatohJohn
自己紹介 佐藤 慧太@SatohJohn - toC向けアプリケーションの作成を やってます - GCP触ってます - 転職します(有給消化task実行中
- 結婚します(婚姻task実行中 2
今回話すこと GCPでのバッチ処理を実装するとしたら、どんな手段があるのか? それぞれの機能について、個人の感覚での紹介で話したいです 3
バッチ処理における観点 持論として - どのくらいの頻度で実施するのか? - どんな処理をするのか? - どれぐらい時間がかかるのか? で、基本的には使い分けるのが良いと思っております 4
どのくらいの頻度で実施するのか? - 定期的に実施したい - 1時間、1日に1度など - データが来た度に実施したい - 1回だけ実施したい -
同じジョブを再度実施したいこともある 5
どんな処理をするのか? - ETL的に他サービスのデータを整形して保存したい - 内部データの整理をしたい - データの整合性を担保したい、不要なゴミデータを削除したい - 集計、加工をして、別の storeにいれて、キャッシュとして利用したい
- 機械学習モデルのトレーニング、評価をしたい 6
どれぐらい時間がかかるのか? - 軽い処理(5分以内) - まぁまぁな処理(1時間以内) - 重い処理(それ以上) 7
個人の感覚におけるフローチャート 8
使えそうなGCPサービスの例 - Cloud Schedulerを使う - Cloud Functions - Cloud Run
Jobs - Batch - Vertex Pipeline - その他 - Google Kubernetes Engine - Big Query - Cloud Data Fusion 9
Cloud Schedulerを使う 10
Cloud Functions - HTTPまたはPubSubで起動するスクリプトが簡単にかける - 金額安く、簡単な処理がかけるのでお手軽 - 処理時間がかかる場合は別手段を検討すべき - 実装できる言語が限られるのが難点かも
11
Cloud Run Jobs - Cloud Functionsよりも実行時間長く、かつ、CPUメモリも多く使える - とはいえ1時間が限度なのでそれ以上は無理 - コンテナとして起動するので実装言語は何でもいい
- Taskとしてまとめられるので、結果がコンソールで時系列で見れる 12
Batch - Cloud Runよりもより長時間で、GPUを使ったタスクも実行できる - 特定のimageまたはscriptをCompute Engine上で動かすことができるようなもの - SSDとかFileStorageをマウントしたVMを指定して動かすということができる -
spot vmも使えるので金額は抑えやすい - Cloud RunのようにTaskとしてまとまるわけじゃない - jobIdを一意として実行されるので、定期的に同じを jobをやる場合 コンソール上だと命名規則規則などで若干工夫が必要 13
Vertex Pipeline - 機械学習のpipelineの処理に適したサービス - 評価データの結果を閲覧できる - バージョンの比較もできる - AI
pipelineとおんなじ感じでかける(らしい 14
その他 15
Google Kubernetes EngineのCronJob - Kubernetes上で完結できるため、管理はしやすいかな - 実行時間制限が基本ないので困ったらこれ - 制限することもできる https://cloud.google.com/kubernetes-engine/docs/how-to/cronjobs?hl=ja
- Kubernetesにシステムを寄せているのであれば使っていくのはあり 16
BigQuery - Scheduled Query - 外部リソースを使えるようにして定期的に外部データをテーブルに突っ込むことができる - 単純な集計はこれが一番良さそう - Data
Transfer Service - AWSのS3のデータなどの外部データを、 BigQueryに突っ込むことができる - データの整合が取れていれば問題なく行けるが、だいたいうまく行かないので、 Dataflowとかを 使うことが多い 17
Cloud Data Fusion - GUIを使ってpipelineを作成ができるETLツール - プログラミングしなくてもデータを整形できる - 定期実行の処理も内部で任せられる -
pipelineの結果もまとまるのである程度見やすい - ログは見やすいとは言えない 18
まとめ 今回紹介しているのは本日までの個人的な感覚です 他にもありますので一度触ってみて感触を確かめるのがいいかなど思います 19
まとめ 今回紹介しているのは本日までの個人的な感覚です 他にもありますので一度触ってみて感触を確かめるのがいいかなど思います 個人的にバッチ処理のおすすめはCloud Run Jobsです 20
おわり 21