$30 off During Our Annual Pro Sale. View Details »
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
990
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
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
330
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
190
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
140
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
230
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
250
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
220
乗りこなせAI駆動開発の波
eltociear
1
1.1k
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
510
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
190
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
150
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
280
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Pragmatic Product Professional
lauravandoore
37
7.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Optimizing for Happiness
mojombo
379
70k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How GitHub (no longer) Works
holman
316
140k
Building Adaptive Systems
keathley
44
2.9k
The Cult of Friendly URLs
andyhume
79
6.7k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
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Ͱهड़ग़དྷΔͷͰίϯύΠϧνΣοΫ͕ग़དྷΔ
͋Γ͕ͱ͏͍͟͝ ·ͨ͠