Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes・GCPを使った チャットボットサービスの 機械学習部分の話

t10471
March 08, 2018

Kubernetes・GCPを使った チャットボットサービスの 機械学習部分の話

t10471

March 08, 2018
Tweet

More Decks by t10471

Other Decks in Technology

Transcript

  1. ࢓૊Έ(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)
  2. ࢓૊Έ(NodeҎ֎) • GCS • ม׵σʔλΛอଘ • Cloud SQL • JobͷεςʔλεΛอଘ

    • Cloud Datastore • ม׵σʔλͷϝλ৘ใΛอଘ • Cloud PubSub • ม׵σʔλͷߋ৽Λ఻͑Δ
  3. ࢓૊Έ(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)
  4. ࢓૊Έ(ৄࡉ1) • ؅ཧը໘͕CSVΞοϓAPI(Scala)Λͨͨ͘ • CSVΞοϓAPI͕CSVม׵ॲཧAPI(Python)Λͨͨ͘ • CSVม׵ॲཧAPI͸CSVͷόϦσʔγϣϯΛߦ͍ɺOKͳΒCSVม׵ॲཧ Job(k8sͷJob)Λىಈ͢Δ • CSVΞοϓAPI͸CSVม׵ॲཧAPI͕OKͩͬͨΒɺม׵ॲཧ؂ࢹAPI(Go)Λ

    ͨͨ͘(Ҿ਺ʹJobͷid౳Λઃఆ) • ม׵ॲཧ؂ࢹAPI͸CSVม׵ॲཧJobΛ؂ࢹ͢ΔJobΛىಈ͢Δ • CSVม׵ॲཧJobΛ؂ࢹ͢ΔJob͸Jobͷεςʔλε(Job࡞੒தɾॲཧத)Λ ؅ཧը໘ʹ෼͔ΔΑ͏ʹߋ৽͢Δ
  5. ࢓૊Έ(ৄࡉ2) • CSVม׵ॲཧJob͸ม׵ॲཧ͕ऴΘͬͨΒɺGCSʹσʔλΛΞοϓ ͠ɺPubSubͰσʔλ͕ߋ৽͞Εͨ͜ͱΛPublish͠ɺऴྃ͢Δ • Ϙοτ API Pod(Python)͸ىಈ࣌ʹSubscribeͷϧʔϓΛߦ͏ϓϩη εΛϑΥʔΫ͍ͯͯ͠͠ΔͷͰɺϝοηʔδΛड͚औͬͨΒɺGCS ͔ΒσʔλΛऔಘ͢Δ

    • CSVม׵ॲཧJobΛ؂ࢹ͢ΔJob͸CSVม׵ॲཧJob͕ऴΘͬͨͷΛ ֬ೝͨ͠Βɺclient-goΛ࢖֤ͬͯPodͷσʔλϦϩʔυAPIΛͨͨ ͖ɺશPod͕ϦϩʔυΛऴ͑ͨΒɺεςʔλεΛ׬ྃʹมߋ͠ऴྃ ͢Δ
  6. ྑ͔ͬͨ఺ • Kubernetes͸ศར! • εέʔϦϯά͕؆୯ɺGood! • GCP΋ͦͦ͜͜ศར! • AWSΑΓػೳ͸ྼΔ͚ͲɺେମΑ͍LBͱGKE͕Good! •

    client-go͕௒ศར! • ྺ࢙తʹGo෦෼͸࠷ޙʹ։ൃ • PythonͰk8sͷAPIΛ͍ͨͨͯJobΛ࡞੒͢Δͷ͸ϋοΫతͳײͩͬͨ͡ͷ ͕ɺclient-goΛ࢖͏ͱશ෦ϥοϓ͞Εָ͍ͯͯ • Job༻yaml૬౰ΛgoͰهड़ग़དྷΔͷͰίϯύΠϧνΣοΫ͕ग़དྷΔ