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
Kubernetes・GCPを使った チャットボットサービスの 機械学習部分の話
Search
t10471
March 08, 2018
Technology
0
180
Kubernetes・GCPを使った チャットボットサービスの 機械学習部分の話
t10471
March 08, 2018
Tweet
Share
More Decks by t10471
See All by t10471
hashicorp_raftからraftを学ぶ
t10471
0
980
EOSにPull Requestを出してマージされた話
t10471
1
710
分散台帳・暗号通貨とRust ブロックチェーンをRustで作ってる話
t10471
2
1.5k
Kubernetesの ダークカナリアリリースツールを作った話
t10471
0
1k
型についてちょっと考える
t10471
1
320
Other Decks in Technology
See All in Technology
ブラウザ拡張のセキュリティの話 / Browser Extension Security
flatt_security
0
190
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
360
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.2k
不確実性に備える ABEMA の信頼性設計とオブザーバビリティ基盤
nagapad
4
8.4k
"なるべくスケジューリングしない" を実現する "PreferNoSchedule" taint
superbrothers
0
110
リアーキテクティングのその先へ 〜品質と開発生産性の壁を越えるプラットフォーム戦略〜 / architecture-con2025
visional_engineering_and_design
0
7.7k
雲勉LT_Amazon Bedrock AgentCoreを知りAIエージェントに入門しよう!
ymae
2
220
『星の世界の地図の話: Google Sky MapをAI Agentでよみがえらせる』 - Google Developers DevFest Tokyo 2025
taniiicom
0
400
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
0
380
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
990
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Unsuck your backbone
ammeep
671
58k
Being A Developer After 40
akosma
91
590k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
56
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Statistics for Hackers
jakevdp
799
230k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Agile that works and the tools we love
rasmusluckow
331
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
BBQ
matthewcrist
89
9.9k
Transcript
KubernetesɾGCPΛͬͨ νϟοτϘοταʔϏεͷ ػցֶश෦ͷ kubernetesษڧձ @t10471
νϟοτϘοταʔϏεͱʁ ࡾਓΒ͠ʹ͓͢͢Ίͷిؾϓϥϯʁ XXXిؾͷYYYϓϥϯ͕͓͢͢ΊͰ͢ɻ ճʹຬͨ͠߹͜ΕͰऴྃ ຬ͠ͳ͍߹ɺΦϖϨʔλʔʹΓସ͑Δ ΦϖϨʔλʔϘοτͱͷΓऔΓΛҾ͖ܧ͛Δ ΦϖϨʔλʔͷZZZʹΓସΘΓ·ͨ͠… ΦϖϨʔλʔʹΓସ͑Δ(Ϙλϯ) ೲಘ͠·ͨ͠ʂ ϘοτͱਓͷϋΠϒϦου
Έ(ͬ͘͟Γ) • σʔλαΠΤϯςΟετ͕ػցֶशϞσϧΛ࡞ͦ͠ΕΛೖΕͨpod ΛσϓϩΠ • FAQઃܭऀఆ࣭ͱճͳͲΛCSVͰΞοϓϩʔυ • CSVΛύʔεͯ͠ఆ࣭Λࢄදݱʹมͨ͠σʔλΛ࡞ • ࡞ͨ͠σʔλΛpodʹ
• ࣭ऀͷ࣭Λࢄදݱʹมͨ͠ͷͱɺఆ࣭ͷશσʔλΛ ػցֶशΛͬͯۙ͞ܭࢉ͠ɺείΞ͕ߴ͍ͷΛฦ͢
ɾରࡦ • CSVͷมॲཧʹ͕͔͔࣌ؒΔ • k8sͷJobΛ༻ • ϘοτAPIPythonͰग़དྷ͍ͯͯɺຖճɺશσʔλ͕ඞཁ • ΦϯϝϞϦͰσʔλΛอଘ͢Δ͜ͱͰߴԽ •
มσʔλΛ͢Δઌͷαʔό͕Կ͋Δ͔ෆ໌ • Cloud PubSubΛ༻ͯ͠ߋ৽Λ௨
Έ(k8sͷNode) • ϑϩϯτϊʔυNode • νϟοτը໘ Pod (JavaScript) • ཧը໘ Pod
(TypeScript) • αʔόNode • όοΫΤϯυAPI Pod (Scala) • Jobࢹ API Pod (Go) • ػցֶशNode • ػցֶशAPI Pod (Python) • Job༻Node • CSVม Job (Python) • CSVม Job ࢹ Job (Go)
Έ(NodeҎ֎) • GCS • มσʔλΛอଘ • Cloud SQL • JobͷεςʔλεΛอଘ
• Cloud Datastore • มσʔλͷϝλใΛอଘ • Cloud PubSub • มσʔλͷߋ৽Λ͑Δ
Έ(APIɾJob) • CSVΞοϓAPI (Scala) • CSVมॲཧAPI (Python) • CSVߋ৽API (Python)
• CSVมॲཧJobىಈAPI(Go) • Ϙοτ API (Python) • σʔλϦϩʔυAPI (Python) • CSVมॲཧJob (Python) • CSVมॲཧJobΛࢹ͢ΔJob(Go)
Έ(ৄࡉ1) • ཧը໘͕CSVΞοϓAPI(Scala)Λͨͨ͘ • CSVΞοϓAPI͕CSVมॲཧAPI(Python)Λͨͨ͘ • CSVมॲཧAPICSVͷόϦσʔγϣϯΛߦ͍ɺOKͳΒCSVมॲཧ Job(k8sͷJob)Λىಈ͢Δ • CSVΞοϓAPICSVมॲཧAPI͕OKͩͬͨΒɺมॲཧࢹAPI(Go)Λ
ͨͨ͘(ҾʹJobͷidΛઃఆ) • มॲཧࢹAPICSVมॲཧJobΛࢹ͢ΔJobΛىಈ͢Δ • CSVมॲཧJobΛࢹ͢ΔJobJobͷεςʔλε(Job࡞தɾॲཧத)Λ ཧը໘ʹ͔ΔΑ͏ʹߋ৽͢Δ
Έ(ৄࡉ2) • CSVมॲཧJobมॲཧ͕ऴΘͬͨΒɺGCSʹσʔλΛΞοϓ ͠ɺPubSubͰσʔλ͕ߋ৽͞Εͨ͜ͱΛPublish͠ɺऴྃ͢Δ • Ϙοτ API Pod(Python)ىಈ࣌ʹSubscribeͷϧʔϓΛߦ͏ϓϩη εΛϑΥʔΫ͍ͯͯ͠͠ΔͷͰɺϝοηʔδΛड͚औͬͨΒɺGCS ͔ΒσʔλΛऔಘ͢Δ
• CSVมॲཧJobΛࢹ͢ΔJobCSVมॲཧJob͕ऴΘͬͨͷΛ ֬ೝͨ͠Βɺclient-goΛ֤ͬͯPodͷσʔλϦϩʔυAPIΛͨͨ ͖ɺશPod͕ϦϩʔυΛऴ͑ͨΒɺεςʔλεΛྃʹมߋ͠ऴྃ ͢Δ
ਏ͔ͬͨ • Pythonਏ͍… • Bot APIϦΫΤετຖʹશσʔλ(1ςφϯτ100MҐ)͕ඞཁͳͷ ͰɺͦΕΛຖճऔಘ͢Δͷແཧ͖͍ͭͷͰΦϯϝϞϦʹอଘ͠ ͨ • ΦϯϝϞϦʹอଘͨ͠ΒɺେͳΈʹͳͬͨ…
• PythonͩͱϚϧνεϨουGIL͕ൃੜ͢ΔͷͰɺϚϧνϓϩηε ʹͨ͠ • αϒϓϩηεͷSignalͷϋϯυϦϯά͕໘…
ྑ͔ͬͨ • Kubernetesศར! • εέʔϦϯά͕؆୯ɺGood! • GCPͦͦ͜͜ศར! • AWSΑΓػೳྼΔ͚ͲɺେମΑ͍LBͱGKE͕Good! •
client-go͕ศར! • ྺ࢙తʹGo෦࠷ޙʹ։ൃ • PythonͰk8sͷAPIΛ͍ͨͨͯJobΛ࡞͢ΔͷϋοΫతͳײͩͬͨ͡ͷ ͕ɺclient-goΛ͏ͱશ෦ϥοϓ͞Εָ͍ͯͯ • Job༻yaml૬ΛgoͰهड़ग़དྷΔͷͰίϯύΠϧνΣοΫ͕ग़དྷΔ
͋Γ͕ͱ͏͍͟͝ ·ͨ͠