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
1.3k
GCPでのバッチ処理パターンを考えてみる
SatohJohn
December 15, 2022
Tweet
Share
More Decks by SatohJohn
See All by SatohJohn
NotebookLM + Agentspace を使った(開発)体験
satohjohn
1
520
Open Feature 面白いぞ
satohjohn
0
65
Workforce Identity を使った 権限管理で Cloud Run を動かしてみた
satohjohn
0
340
Gemini + Vertex AI を使って作業を自動化「していく」
satohjohn
0
73
Cloud_Run_GPU___Gemma_2_を使った_LLM_アプリケーション開発のススメ.pdf
satohjohn
0
28
Firebase Authenticationのセッション管理術
satohjohn
2
2.3k
お客様とすすめる_フロントエンドの技術支援.pdf
satohjohn
1
1.1k
コンテナ環境のKotlinアプリケーション を運用しよう _ Google Cloudを使って
satohjohn
0
170
GCPと連携してマスターデータ更新
satohjohn
0
210
Other Decks in Programming
See All in Programming
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
120
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1.2k
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.3k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.5k
Носок на сок
bo0om
0
1.2k
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
「理解」を重視したAI活用開発
fast_doctor
0
300
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
8
1.9k
読書シェア会 vol.4 『ダイナミックリチーミング 第2版』
kotaro666
0
110
七輪ライブラリー: Claude AI で作る Next.js アプリ
suneo3476
1
190
生成AI時代のフルスタック開発
kenn
2
290
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
140
Featured
See All Featured
Music & Morning Musume
bryan
47
6.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
700
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Code Review Best Practice
trishagee
68
18k
Side Projects
sachag
453
42k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
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