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
170
Kubernetes・GCPを使った チャットボットサービスの 機械学習部分の話
t10471
March 08, 2018
Tweet
Share
More Decks by t10471
See All by t10471
hashicorp_raftからraftを学ぶ
t10471
0
930
EOSにPull Requestを出してマージされた話
t10471
1
700
分散台帳・暗号通貨とRust ブロックチェーンをRustで作ってる話
t10471
2
1.4k
Kubernetesの ダークカナリアリリースツールを作った話
t10471
0
930
型についてちょっと考える
t10471
1
310
Other Decks in Technology
See All in Technology
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
4
480
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
380
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.4k
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
390
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
200
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
200
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
13
4.3k
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1.1k
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
360
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
140
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
150
本当に使える?AutoUpgrade の新機能を実践検証してみた
oracle4engineer
PRO
1
120
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Become a Pro
speakerdeck
PRO
28
5.4k
Building Applications with DynamoDB
mza
95
6.5k
A Tale of Four Properties
chriscoyier
159
23k
Designing for Performance
lara
609
69k
4 Signs Your Business is Dying
shpigford
184
22k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
RailsConf 2023
tenderlove
30
1.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Six Lessons from altMBA
skipperchong
28
3.8k
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Ͱهड़ग़དྷΔͷͰίϯύΠϧνΣοΫ͕ग़དྷΔ
͋Γ͕ͱ͏͍͟͝ ·ͨ͠