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
月額コーヒー3.34杯分のコストでオオタニサンの活躍を見守るデータ基盤のはなし / Pyhac...
Search
Shinichi Nakagawa
PRO
June 17, 2023
Technology
2
490
月額コーヒー3.34杯分のコストでオオタニサンの活躍を見守るデータ基盤のはなし / Pyhack Con
#pyhack conference 2023/06/17
Shinichi Nakagawa
PRO
June 17, 2023
Tweet
Share
More Decks by Shinichi Nakagawa
See All by Shinichi Nakagawa
AI・LLM事業部のSREとタスクの自動運転
shinyorke
PRO
0
280
実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball
shinyorke
PRO
2
2.4k
Terraform, GitHub Actions, Cloud Buildでデータ基盤をProvisioningする / Data Platform provisioning for Google Cloud and Terraform
shinyorke
PRO
2
3.1k
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
PRO
9
3.7k
自らを強いエンジニアにするための3つの習慣 / I need to be myself, I can't be no one else
shinyorke
PRO
83
83k
阪神タイガース優勝のひみつ - Pythonでシュッと調べた件 / SABRmetrics for Python
shinyorke
PRO
1
1.4k
Pythonとクラウドと野球の推し活. / Baseball Data Platform for Python and Google Cloud
shinyorke
PRO
2
2.8k
俺のDXを実現するためのサーバレスなデータ基盤開発と運用 / Serverless Data Platform and Baseball
shinyorke
PRO
5
12k
機械学習エンジニアが目指すキャリアパスとその実話 / My Journey to Become a ML Engineer
shinyorke
PRO
10
18k
Other Decks in Technology
See All in Technology
View Transition API
shirakaba
1
870
バクラクでのSystem Risk Records導入による変化と改善の取り組み/Changes and Improvement Initiatives Resulting from the Implementation of System Risk Records
taddy_919
0
190
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
0
160
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
13
3.7k
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
120
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
170
コード品質向上で得られる効果と実践的取り組み
ham0215
1
190
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
190
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
6
950
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
820
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
170
問題解決に役立つ数理工学
recruitengineers
PRO
3
170
Featured
See All Featured
Scaling GitHub
holman
459
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Code Review Best Practice
trishagee
67
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
610
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Documentation Writing (for coders)
carmenintech
69
4.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
610
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Facilitating Awesome Meetings
lara
53
6.3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
A Tale of Four Properties
chriscoyier
158
23k
Transcript
ίʔώʔ3.34ഋͷֹ݄ྉۚͰ σʔλج൫Λ࡞ͬͯ͏ Google Cloudͷ͋Ε͜ΕͱࣆJAPANͷͦͷޙ. @shinyorke 2023/06/17 Python mini Hack-a-thon Conference
Who am I?(ࣗݾհ) • Shinichi Nakagawa@shinyorke • େख֎ࢿITίϯαϧاۀϚωʔδϟʔʢݱ৬ʣ • #Pyhack
ॳࢀՃ: 2013/02/16ʢ#28ʣ, ଟৗ࿈ʢͱ͍͏ೝࣝʣ • ٿ͕Ұ൪ͷझຯͱݟ͔͚ͤͯͦ͏Ͱͳ͍ਓ. • ωλͱͯ͠ͷʮٿͷਓʯطʹଔۀ͍ͯ͠·͢. ͨ·ͨ·ݸਓ։ൃωλ͕ٿʹدͬͯΔ͚ͩͰ͢.
ࠓͷ͓ • #PyHack #148ʢ2023/02/04ʣͰൃද࿅शͨ͠σϒαϛ2023ొஃωλ …ͷμΠδΣετ൛ʢ10Ver.ʣΛ͓൸࿐͠·͢. • ొஃͨ͠ͷ͕2݄Ͱࠓ4݄ͳͷͰΞοϓσʔτগ͋͠Γ·͢. • σϒαϛຊฤͷಈըʢ40ʣެ։͞Ε͍ͯ·͢.
https://codezine.jp/devonline/archive/session/131
σϒαϛͰͨ͜͠ͱʢཁʣ • ΫϥυͱσʔλΤϯδχΞϦϯάͰ࣮ݱ͢ΔԶͷDX • αʔόϨεͳΞʔΩςΫνϟͰ࣮ݱ͢Δʮ͍͍ײ͡ͳσʔλج൫ʯ • ʮਪ͠ͷٿબखʯͷʮਪ࣌͠ʯͲ͜ͳͷ͔ΛݟۃΊΔ⽁
͜͏͍͏ϞϊΛͬͯ… ※σϒαϛࢿྉΑΓൈਮ
ϥʔζɾψʔτόʔ ʢࣆJAPANʣ • ࣆJAPANॳͷΞϝϦΧग़બख • ଧ͍ͷͷग़ྥͱଧ ͦͯ͠ଧٿ͕͘, 3ϙδγϣϯ
ͦͭͳ͘कΕΔ֎कඋ˕ • Ωϟϥཱ͍͍ͪͯͯ͠Ϡπͱ͍͏ᷚ, ࣆδϟύϯͷηϯλʔͱͯ͠ظʂ ※σϒαϛࢿྉΑΓൈਮ
ϥʔζɾψʔτόʔ ʢࣆJAPANʣ • ࣆJAPANॳͷΞϝϦΧग़બख • ଧ͍ͷͷग़ྥͱଧ ͦͯ͠ଧٿ͕͘, 3ϙδγϣϯ
ͦͭͳ͘कΕΔ֎कඋ˕ • Ωϟϥཱ͍͍ͪͯͯ͠Ϡπͱ͍͏ᷚ, ࣆδϟύϯͷηϯλʔͱͯ͠ظʂ 8#$͕։ນ͢Δલʢʣ ͜ͷ࣌Ͱψʔτόʔͷ׆༂Λ༧ݴ͢Δ͜ͱʹޭʂ ˞*5ۀքΤϯδχΞք۾࠷ͷൃදʢଟʣ Ұ൪όολʔͱͯ͠ͷ׆༂༧֎͕ͩͬͨͦΕ͓͖ͯ͞স
ࠓͷ10LTͰશ෦৮ΕΔͷແཧ. Google CloudͱٿͷΛগʑ.
͓͠ͳ͕͖ • DashͱCloud RunͰσʔλɾμογϡϘʔυΛ࡞ͬͯಈ͔͢ • WBCઓ࢜ͨͪͷͦͷޙ⽁ • ͦͯ͠ؾʹͳΔ͓ஈ?
࡞ͬͨσʔλɾμογϡϘʔυʢͬ͘͟Γʣ •DashΛͬͯʮPythonॻ͚μογϡϘʔυ࡞ΕΔʯΑ͏ʹ͠·ͨ͠. •σʔλຊମBigQuery, σʔλͷΞΫηεRESTful APIʢGoʣܦ༝. •ೝূతͰAPI Gateway, Cacheͱͯ͠StorageΛར༻ʢ͜ΕϚετ͡Όͳ͍ʣ.
Dash is Կऀ🤔 • PlotlyΛLow-codeπʔϧͱͯ͠ ͑ΔΑ͏ʹ͍͍ͨ͠ײ͡ͷౕ. • ϓϩτλΠϓͰੳɾՄࢹԽʹ
Jupyter LabͱPlotlyΛ͓ͬͯΓ, ͜ΕΛͦͷ··Ҡ২Ͱ͖ΔखஈͰ ࣮͔ͨͬͨ͠. • https://dash.plotly.com/
ࠓճ࡞ͬͨίʔυ ʢҰ෦ൈਮʣ • Python͚ͩͰॻ͚ΔͷΊͬͪΌศརͩͬͨ. • HTMLʹͨ͠ίϯϙʔωϯτΛPythonͰ ΰϦͬͱॻ͍ͯ࡞͢Δͱ͍͍ײ͡ʹಈ͘. •
ΠϕϯτۦಈͰͷॻ͖͑Callbackͳ σίϨʔλʔͰ࣮. • ReactͬΆ͋ͬͯ͞ݸਓతʹେ͖͕ͩ, ςετ͕ॻ͖ʹ͍͘ҹ… ※গͳ͘ͱUI ίϯϙʔωϯτʹؔͯ͠
Cloud RunΛબͨ͠ʢPythonicͳʣཧ༝ • μογϡϘʔυΞϓϦͷґଘϥΠϒϥϦతʹApp EngineͰಈ͔͘ո͔ͬͨͨ͠Ί • PandasʹDashʢPlotlyʣͱσʔλܥͷϥΠϒϥϦ͕Γͩ͘͞ΜͷWebΞϓϦ • ͜ͷ࣌ͰͪΌΜͱͨ͠ContainerܥͰಈ͔͞ͳ͍ͱବͩͳͬͯஅˠͦͷ௨Γͩͬͨ •
બ͢Δ·Ͱͷࢥߟͱͯ͠… 1.ґଘϥΠϒϥϦͳͲͷ߹Ͱ΄΅PythonʢҰ෦GoʣͰͷ։ൃ -> Firebase͕ީิ͔Βফ͑Δ 2.Cloud FunctionsͰಈ͔͢ʹඍົͳ༷ͱͳͬͨͨΊબࢶͱͯ͠ফڈ 3.App EngineʢStandardʣContainer͡Όͳ͍ -> Cloud Runʹܾఆ ※ContainerͰಈ͔ͤΔApp EngineʢFlexibleʣΛΘͳ͔ͬͨཧ༝…ͦΜͳબࢶΛೖΕͨ͘ͳ͔͔ͬͨΒͰ͢ʢٿʣ
WBC2023ࣆδϟύϯઓ࢜ͷͦͷޙ • ೋྲྀͷ͋ͷํ • ϕετφΠϯʹબΕͨMLB৽ਓԦʢީิʣ
େ୩ᠳฏʢϩαϯθϧεɾΤϯδΣϧε, TWPʢTwo Way Playerʣʣ ϗʔϜϥϯྔ࢈ͷൿີ͕໌Β͔ʹ
େ୩ᠳฏʢϩαϯθϧεɾΤϯδΣϧε, TWPʣ ӈʹࠨʹଧ͚͍ͪͯΔͷ͍͍ײ͡
େ୩ᠳฏʢϩαϯθϧεɾΤϯδΣϧε, TWPʣ खͱͯ͜͠Μͳײ͡
٢ాਖ਼ঘʢϘετϯɾϨουιοΫε, LFʣ ώοτྔ࢈ͷൿີ͕໌Β͔ʹ
ʁʁʁʮσʔλج൫ࣗͰ࣋ͭͱ͓ߴ͍ͷͰʁʯ
ʲʳ͏αʔϏεΛͯ͠ίετ੍ • ʮ͏ͱ্ཱ͖͚͕ͩͪΕ͍͍ʯલఏͰશαʔϏεΛίʔϧυελϯόΠʹ. • ͯ͢ͷΞϓϦɾػೳΛαʔόϨεͳΫϥυʢCloud RunͳͲʣΛར༻. • ʮಈ͍͍ͯͳ͍͓͕͔͔࣌ۚΔʯͷBigQueryͱετϨʔδͷΈʢ͘͝গ ֹʣ •
σʔλอ͍ํΛ͠ίετΛ͑Δ • ແྉͷϧʔϧΛཧղ͠, ͦͷൣᙝͰۃྗ͏ʢ㲈ඞཁͳͷʹ͓ۚΛ͏ʣ • BigQueryCloud StorageແྉΛΊͬͪΌ׆༻
Ұϲ݄Ͱ$3ະຬ, ίʔώʔ3.34ഋఔͰӡ༻͍ͯ͠·͢🐯 ※σʔλج൫ϓϩδΣΫτͷ࣮ίετΑΓࢉग़ʢίʔώʔίϯϏχίʔώʔج४ʣ, υϝΠϯऔಘྉ֎෦ίετΛআ͘
͓͠ͳ͕͖ • DashΛGoogle CloudͰಈ͔͢ͳΒCloud Run • ΦΦλχαϯϚονϣ͞Μ৭ʑͱΤά͍ • ࣗͰσʔλج൫Λ࣋ͬͯର͔͔ͯۚ͠Βͳ͍ ※AWS,
ଞͷΫϥυαʔϏεͰಉ͜͡ͱ͕Ͱ͖·͢Αʂ ʢGoogle Cloudʹ͍ͯ͠ΔͷࢲͷΈͰ͢ʣ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠⽁ @shinyorke