Slide 1

Slide 1 text

·ͩ େ͖͘ͳ͍๻ͨͪʹඞཁͳCLOUD NATIVEΛٻΊͯ גࣜձࣾαΠόʔΤʔδΣϯτ @nnao45 ԣࢁ ঘ໻

Slide 2

Slide 2 text

@nnao45 株式会社サイバーエージェント サーバサイドとインフラ屋さん 最近は広告を作ってると思ったら ガチャガチャを作っていた人 * * * ネットワーク→クラウド→ * Scalaで関数型プログラミングに触れて無事発狂\(^o^)/ * 生粋のVtuberオタク。ここを掘っても誰も得しない。 * そういえばQicooを全部作り直しました。 https://github.com/nnao45 AI事業部リテールテックDiv所属 * Kotlinは最強の言語。 *

Slide 3

Slide 3 text

CLOUD NATIVEͱ͸ʂʂ • ͬͯCloudNativeք۾Ͱൃද͢ΔͨͼʹάάΔ ΜͩΑͳ͋ɹΈ˓Λ わからなったらまずググる、これが令和ってやつだよね

Slide 4

Slide 4 text

CLOUD NATIVEͱ͸ʂʂ https://cloud.google.com/blog/products/application-development/5-principles-for-cloud-native-architecture-what-it-is-and-how-to-master-it https://pivotal.io/jp/cloud-native Google͞Μᐌ͘… Pivotal͞Μᐌ͘…

Slide 5

Slide 5 text

CLOUD NATIVEͱ͸ʂʂ • ๻ͷൃදͰ͸Ұ୴࣍ͷઃܭΞϓϩʔνΛɺ ʮͦΜͳʹେ͖͍γεςϜ͡Όͳͯ͘΋࣮૷ Ͱ͖ΔΜ͡Όͳ͍͔ͳʯͱ͍͏఺ΛϝΠϯ ʹয఺Λ౰ͯͯߦ͖·͢ まちがってたら、ごめんなさい、でも続けます><

Slide 6

Slide 6 text

CLOUD NATIVEͱ͸ʂʂ • ج൫͸Ϋϥ΢υΛલఏͱ͢Δ • CI/CDɺDXϑΝʔετͷ࣮ݱ • ϚΠΫϩαʔϏε • αʔϏεͷঢ়ଶΛॊೈʹɺݡ͘؅ཧ͢Δ

Slide 7

Slide 7 text

CLOUD NATIVEͱ͸ʂʂ • ج൫͸Ϋϥ΢υΛલఏͱ͢Δ • CI/CDɺDXϑΝʔετͷ࣮ݱ • ϚΠΫϩαʔϏε • αʔϏεͷঢ়ଶΛॊೈʹɺݡ͘؅ཧ͢Δ ؆ܿʹݴ͏ͱʮৗଶతʹมԽʹڧ͍ΞʔΩςΫνϟʯ ↑Googleさんが言ってました https://cloud.google.com/blog/products/application-development/5-principles-for-cloud-native-architecture-what-it-is-and-how-to-master-it

Slide 8

Slide 8 text

ͦΜͳײ͡ͳ΋ͷΛ໨ࢦͯ͠ɺ ਺೥ؒ৭ʑͳͱ͜Ζʹɺ ίϯςφΛத৺ͱͨ͠Πϯϑ ϥΛ৽نߏங͖ͯͨ͠ͷͰɺ ͦͷֶͼΛͭΒͭΒͱ঺հ͠ ͍ͯ͘ͷͰ͍͟͝·͢ɻ

Slide 9

Slide 9 text

CLOUD NATIVEͱ͸ʂʂ • ج൫͸Ϋϥ΢υΛલఏͱ͢Δ • CI/CDɺDXϑΝʔετͷ࣮ݱ • ϚΠΫϩαʔϏε • αʔϏεͷঢ়ଶΛॊೈʹɺݡ͘؅ཧ͢Δ

Slide 10

Slide 10 text

ج൫͸Ϋϥ΢υΛલఏͱ͢Δ ʮγεςϜ͕๬Μͩ࣌ʹʯ ʮ๬Μͩ෼͚ͩʯ ఏڙ͢Δ͜ͱ͕Ͱ͖Δɻ と、いう夢。 夢 は 終 ら

Slide 11

Slide 11 text

ج൫͸Ϋϥ΢υΛલఏͱ͢Δ ʮγεςϜ͕๬Μͩ࣌ʹʯ ʮ๬Μͩ෼͚ͩʯ ఏڙ͢Δ͜ͱ͕Ͱ͖Δɻ ディスク? ネットワークIO? メモリ? CPU? ???「俺らの準備はできてるぜ。あとはお前ら次第だ」

Slide 12

Slide 12 text

ج൫͸Ϋϥ΢υΛલఏͱ͢Δ ʮγεςϜ͕๬Μͩ࣌ʹʯ ʮ๬Μͩ෼͚ͩʯ ఏڙ͢Δ͜ͱ͕Ͱ͖Δɻ ͲΕ͘Β͍ϦΫΤετ͕ དྷΔͷ͔ʁ ͦͷγεςϜ͸ Կ͕ڧΈͷγεςϜ ͳͷ͔ʁ 「なんでこのインスタンスタイプ、t2.medeiumなの?」

Slide 13

Slide 13 text

ج൫͸Ϋϥ΢υΛલఏͱ͢Δ ͜͜Λ͔ͬ͠ΓϏδωεαΠυͱɺ ٧ΊΔͷ͕Ϋϥ΢υ׆༻ͷϙΠϯτʹ ͳͬͯ͘Δɾɾɾʂ ͲΕ͘Β͍ϦΫΤετ͕ དྷΔͷ͔ʁ ͦͷγεςϜ͸ Կ͕ڧΈͷγεςϜ ͳͷ͔ʁ 「ええ?何が強みか決まってないって?そりゃあおめえ…」

Slide 14

Slide 14 text

ج൫͸Ϋϥ΢υΛલఏͱ͢Δ →SLOΛܾΊͯ߈ΊͷΠϯϑϥ →αʔϏεʹա৒ͳϦιʔεͷ࡟ݮ ͲΕ͘Β͍ϦΫΤετ͕ དྷΔͷ͔ʁ ͦͷγεςϜ͸ Կ͕ڧΈͷγεςϜ ͳͷ͔ʁ SLOはビジネスと共通言語(ユビキタス言語)で決めよう

Slide 15

Slide 15 text

ج൫͸Ϋϥ΢υΛલఏͱ͢Δ ྦ͕ग़Δ͘Β͍ͷྑهࣄ https://cloud.google.com/blog/ja/products/gcp/building-good-slos-cre-life-lessons SRE は SLO を使ってリスクを容認します。

Slide 16

Slide 16 text

CLOUD NATIVEͱ͸ʂʂ • ج൫͸Ϋϥ΢υΛલఏͱ͢Δ • CI/CDɺDXϑΝʔετͷ࣮ݱ • ϚΠΫϩαʔϏε • αʔϏεͷঢ়ଶΛॊೈʹɺݡ͘؅ཧ͢Δ • DXϑΝʔετ

Slide 17

Slide 17 text

CI/CDɺDXϑΝʔετͷ࣮ݱ ݸਓతʹʮKubernetesೖΕͯྑ͔ͬͨࣄʯ ୈҰҐ͸ʮίϯςϯπσϦόϦʯͷ෦෼Ͱ͢ɻ

Slide 18

Slide 18 text

Ͱ΋αʔϏεϦϦʔε΍ϚχϑΣετมߋʹ kubectlΦϖϨʔγϣϯ͸औΓআ͖·͠ΐ͏ —contextつけ忘れて本番にブチかますとかが一番きつい CI/CDɺDXϑΝʔετͷ࣮ݱ

Slide 19

Slide 19 text

CI/CDɺDXϑΝʔετͷ࣮ݱ

Slide 20

Slide 20 text

Gitのシェル芸で実現してます $ BEFORE_MERGED_COMMIT_HASH=$(git log -1 --pretty=format:"%P" | awk '{print $1}') $ git log --pretty="%H %s" ${BEFORE_MERGED_COMMIT_HASH}...${CIRCLE_SHA1} --no-color | sed "s@^@https://github.com/xxxx/yyyy/commit/@g" > tee /tmp/commit_list.md CI/CDɺDXϑΝʔετͷ࣮ݱ

Slide 21

Slide 21 text

͜͜ʹ͍Δํʑ͸ʮCI/CDʯ͸੸਷൓ࣹͰ ʮ΍ΔʯͱଈϨεͦ͠͏͕ͩɺ͜Ε΋৭ʑͳ໘Ͱ ͳ͍͕͠Ζʹ͞Ε͕ͪͳͷͰɺ ͔ͬ͠Γݱ৔͕ਪ͠·͠ΐ͏ɻ 「非機能要件」って言葉は「DNS浸透」より狩られていい CI/CDɺDXϑΝʔετͷ࣮ݱ

Slide 22

Slide 22 text

CLOUD NATIVEͱ͸ʂʂ • ج൫͸Ϋϥ΢υΛલఏͱ͢Δ • CI/CDɺDI/DXϑΝʔετͷ࣮ݱ • ϚΠΫϩαʔϏε • αʔϏεͷঢ়ଶΛॊೈʹɺݡ͘؅ཧ͢Δ

Slide 23

Slide 23 text

ϚΠΫϩαʔϏε ελʔτμογϡͳϓϩμΫτͰɺ ·ͣ͸όΠφϦ1ݸͰऩ·Δࣄ΋ଟ͍ɻ 実は敢えてバイナリを分けるってのは今の時代だけかもね

Slide 24

Slide 24 text

ϚΠΫϩαʔϏε ελʔτμογϡͳϓϩμΫτͰɺ ·ͣ͸όΠφϦ1ݸͰऩ·Δࣄ΋ଟ͍ɻ またくりかーえすーこのポリ ͔͠͠ɺͦΕͰ΋࠷ॳ͔Βଟ૬ੑʢϙϦϞʔϑΟζϜʣɺ ଟݩੑʢϓϧϥϦζϜʣΛߟྀ͢Δͱҧ͏ͱͰ͸େҧ͍ɾɾɾʂ

Slide 25

Slide 25 text

ϚΠΫϩαʔϏε ଟ૬ੑʢϙϦϞʔϑΟζϜʣ class Animal class Dog extends Animal class Any class Cat extends Animal class Poodle exnteds Dog class Munchkan exnteds Cat

Slide 26

Slide 26 text

ϚΠΫϩαʔϏε ଟ૬ੑʢϙϦϞʔϑΟζϜʣ Deployment A Deployment B Deployment C Deployment D App A App A App B App B WithLog WithLog DB Ver1.0 Ver1.0 Ver1.0 Ver0.9

Slide 27

Slide 27 text

ϚΠΫϩαʔϏε ଟݩੑʢϓϧϥϦζϜʣ ଟݩੑͷʮݩʯ͸਺ֶͷݩͱಉ͡ɻ ʮಠཱͨ͠΋ͷ͕ෳ਺͋Δ͜ͱʯ https://www.amazon.co.jp/gp/product/B0081MAKIQ/?tag=ikemo3-22 多元社会はそれぞれの集合は違う目的を持つがそこに優劣はない https://www.osakakyouzai.com/?tag=%E3%83%89%E3%83%A9%E3%83%83%E3%82%AC%E3%83%BC https://battle-data.fandom.com/ja/wiki/%E5%A4%9A%E5%85%83%E5%AE%87%E5%AE%99%E8%AB%96

Slide 28

Slide 28 text

ϚΠΫϩαʔϏε ଟݩੑʢϓϧϥϦζϜʣ cndjpapi cndjp-api-01

Slide 29

Slide 29 text

ϚΠΫϩαʔϏε ଟݩੑʢϓϧϥϦζϜʣ LB App LB App App どっちのシステムがマイグレーションしやすい?

Slide 30

Slide 30 text

ϚΠΫϩαʔϏε ଟݩੑʢϓϧϥϦζϜʣ ௨஌ର৅͸ෳ਺͋Δ͸ͣ ؂ࢹର৅͸ෳ਺͋Δ͸ͣ ϓϩΩγର৅͸ෳ਺͋Δ͸ͣ ͦͷಡΈࠐΈಈ࡞͸ෳ਺͕͍ͯ͠Δ͸ͣ ͦͷॻ͖ࠐΈಈ࡞͸ෳ਺͕͍ͯ͠Δ͸ͣ ͦͷϩʔϧͷϓϩηε͸ෳ਺্ཱ͕ͪΔ͸ͣ RDB͸ෳ਺ͷछྨ͕͋Δ͸ͣ

Slide 31

Slide 31 text

ϚΠΫϩαʔϏε ଟݩੑʢϓϧϥϦζϜʣ ଟ૬ੑʢϙϦϞʔϑΟζϜʣ ͜ΕΒΛ͋ΒΏΔγεςϜͷ୯Ґ͕࣋ͭ͜ͱΛલఏʹ૊Ή ࣄͰϚΠΫϩαʔϏεͱͳΓɺมԽʹڧ͘ͳΔͱࢥ͍·͢ ☺ こんなのも発表に組み込んでみました感。

Slide 32

Slide 32 text

ؓ࿩ٳ୊ ちょいと寄り道。

Slide 33

Slide 33 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ https://buildersbox.corp-sansan.com/entry/2019/07/10/110000

Slide 34

Slide 34 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ ྫ͑͹QICOOͷ৔߹ https://github.com/cndjp/qicoo-api-kt

Slide 35

Slide 35 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ https://buildersbox.corp-sansan.com/entry/2019/07/10/110000 Controller Service Entity HttpͳͲ઀ଓपΓ΍ɺ ϧʔςΟϯά ෳ਺ͷΤϯςΟςΟΛ ϩδοΫͷԊͬͯॲཧ ֤ڵຯͷ୯ҐʹϏδωε ϩδοΫΛ෼͚Δ Adapter ֎෦Ϧιʔε΁ͷ઀ଓ૚

Slide 36

Slide 36 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ QuestionController QuestionService QuestionAggrRepo ReplyRepo LikeCountRepo Questi on Event Progr am Reply Like Adapter Adapter Adapter Adapter Adapter

Slide 37

Slide 37 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ QuestionController QuestionService QuestionAggrRepo ReplyRepo LikeCountRepo Questi on Event Progr am Reply Like 縦にサービスを区切るのが簡単だよー Adapter Adapter Adapter Adapter Adapter

Slide 38

Slide 38 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ QuestionController QuestionService QuestionAggrRepo ReplyRepo LikeCountRepo Questi on Event Progr am Reply Like QuestionAttributeController QuestionAttributeService Service(Usecase層)より下は実装が変わっていない! Adapter Adapter Adapter Adapter Adapter

Slide 39

Slide 39 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ QuestionController QuestionService QuestionAggrRepo OtherReplyRepo LikeCountRepo Questi on Event Progr am Reply Like QuestionAttributeController QuestionAttributeService 一部のDBや接続方式が変わっても他の層に支障はない Adapter Adapter Adapter OtherAdapter Adapter

Slide 40

Slide 40 text

αʔόαΠυ͕ΫϦʔϯΞʔΩςΫνϟ ͩͱϚΠΫϩαʔϏεԽ͠΍͍ͧ͢ ཁ͸αʔόαΠυͷษڧ΋ CLOUD NATIVEͳΠϯϑϥʹ໾ཱͭͱݴ͏࿩Ͱͨ͠ https://www.amazon.co.jp/Clean-Architecture- %E9%81%94%E4%BA%BA%E3%81%AB%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81% A8%E8%A8%AD%E8%A8%88-Robert-C-Martin/dp/4048930656/ref=asc_df_4048930656/? tag=jpgo-22&linkCode=df0&hvadid=295723231663&hvpos=1o1&hvnetw=g&hvrand=3899215349120015226&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1009312 &hvtargid=pla-525559864965&psc=1&th=1&psc=1

Slide 41

Slide 41 text

ؓ࿩ٳ୊ サーバサイドKotlinはいいぞ

Slide 42

Slide 42 text

CLOUD NATIVEͱ͸ʂʂ • ج൫͸Ϋϥ΢υΛલఏͱ͢Δ • CI/CDɺDXϑΝʔετͷ࣮ݱ • ϚΠΫϩαʔϏε • αʔϏεͷঢ়ଶΛॊೈʹɺݡ͘؅ཧ͢Δ

Slide 43

Slide 43 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ ᶃVM͔Βίϯςφ΁

Slide 44

Slide 44 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ VM࣌୅ͷԶͨͪ͸ɺ ͦΕͰ΋ؤுͬͯ΍͖ͬͯͨɾɾɾɻ

Slide 45

Slide 45 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ Ͱ΋΋͏ྑ͘ͳ͍Ͱ͔͢͜͏ݴ͏΍ΓऔΓʁ •͋Ε͜ͷplaybookͬͯ൓ө͚ͨͬ͠ʁͱΓ·ίϝϯτΞ΢τɾɾɾ •ߏ੒؅ཧϑΝΠϧ̍ຕॻؒ͘ʹDB100୆͘Β͍ϙνϙνཱͯͯͯΔ ྡͷਓݟͯ৭ʑߟ͑Δ •ഁ յ ͠ ͳ ͕ Β ਐ·ͳ͍ݶΓߋ৽Ͱ͖ͳ͍pip install… •͑ʁ͋͋ͦͷϩά͸/var/log഑Լ͡Όͳͯ͘/optͷԼͶ •͜ͷຖ೔ඈΜͰ͘ΔϝʔϧͬͯͲ͜ͷαʔόͷcronʁ •୭΋஌Βͳ͍ΞϓϦͷϦϦʔε •300୆ͷαʔόͷূ໌ॻߋ৽Ͱ̍୆ͣͭײँͷ࠶ىಈ

Slide 46

Slide 46 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ • ίϯςφͳΒ࠶ىಈޙɺ͍ͭͰ΋ಉ͡ঢ়ଶ Ͱ্ཱ͕͖ͪͬͯͯ͘ΕΔɻ • ႈ౳ੑͬͯ݁ہʮਓ͕ؒೝ஌ͨ͠ൣғʯͰͷ ࿩Ͱ͔͠ͳ͍ɺVMͩͱ޿େ͗͢Δɻ • ىಈ͕ͱͯ΋଎͘ɺΞϓϦͷϦϦʔεαΠΫ ϧͱಉ͡αΠΫϧͰ΋ετϨεϨεɻ

Slide 47

Slide 47 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ ᶄʮԿ΋஌Βͳ͍Ͱ΋ग़དྷΔʯΛ໨ࢦ͢

Slide 48

Slide 48 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ ྫʣόον App ॲཧB ॲཧA ॲཧC ॲཧ͸࢒ͬͯΔʁ status ςʔϒϧ ॲཧ͕͋Δ͔Βॲཧ

Slide 49

Slide 49 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ ྫʣόον App ॲཧB ॲཧA ॲཧC ͱΓ͋͑ͣΩϡʔΛPOPͯ͠ɺ ॲཧΛऔΓग़ͤͨΒ࣮ߦ RedisのLPUSH RPOPだけで実現出来る。

Slide 50

Slide 50 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ ᶅࣦഊΛલఏͱͨ͠ߏ੒Λҙࣝ͢Δ

Slide 51

Slide 51 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ ྫʣ౷ܭॲཧ App App App App ॲཧB ॲཧA ॲཧC

Slide 52

Slide 52 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ App App App App ॲཧB ॲཧA ॲཧC ྫʣ౷ܭॲཧ

Slide 53

Slide 53 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ App App App App ॲཧB ॲཧA ॲཧC ྫʣ౷ܭॲཧ

Slide 54

Slide 54 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ App App App App ॲཧB ॲཧA ॲཧC ZK ։࢝ใࠂˠऴྃใࠂ ྫʣ౷ܭॲཧ

Slide 55

Slide 55 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ App App App App ॲཧB ॲཧA ॲཧC ZK ։࢝ใࠂˠऴྃใࠂ ୅໾ΛΞαΠϯ͢Δ ྫʣ౷ܭॲཧ

Slide 56

Slide 56 text

αʔϏεͷঢ়ଶΛॊೈʹɺ ݡ͘؅ཧ͢Δ ͭΑ͍ਓͨͪ΋͜ͷ͜ͱ͸ΈΜͳݴͬͯͨɾɾɾɻ https://speakerdeck.com/toricls/design-for-failure-is-the-true-cloud-native?slide=3 https://speakerdeck.com/masayaaoyama/jkd1812-prd-manifests?slide=4 ありがてえ。

Slide 57

Slide 57 text

·ͱΊ CloudNative͸ίϯςφ͚ͩ͡Όͳ͘ɺݴΘ͹ʮٕज़ తઌۦऀͷϕετϓϥΫςΟεʯͳଆ໘΋͋Δɻ αʔϏεن໛ʹؔΘΒͣಋೖ͸ग़དྷΔɻ ڊਓͷݞʹ৐Ζ͏ɻ

Slide 58

Slide 58 text

FIN http://itouhiro.hatenablog.com/entry/20130602/font PixelMplus(ピクセル・エムプラス) ‥ 8bitビットマップふうフリーフォント

Slide 59

Slide 59 text

͕࣌ؒ༨ͬͨ࣌ͷอݥͰ͢ ☺ ちょいと寄り道。

Slide 60

Slide 60 text

࠷ۙCLOUD NATIVEΛ໨ࢦ ͯ͠ಋೖͨ͠ྫ • プロダクト:某スタートアップ • 主な構成:コンピュートとしてEKS。DBはMySQL、 Firebase。プッシュ通知は自前。Elasticsearchによる検索。 • 感想:せめてAWSが詳しい人が2人は欲しい。でもスター トアップでも入れて運用して利益享受できるレベルだな Kubernetes。あとGoは偉大。 ʮ1ݸ໨ʯ

Slide 61

Slide 61 text

࠷ۙCLOUD NATIVEΛ໨ࢦ ͯ͠ಋೖͨ͠ྫ • プロダクト:某広告ネットワーク • 主な構成:コンピュートとしてEKS。DBはMySQL、 Redis。主にガチャガチャな機能を提供するシステム。 その他にcapcha、メール問い合わせ。 • 感想:全てのコンポーネントのCI/CDをGithubにCDを集 約仕切った利益は絶大。 ʮ2ݸ໨ʯ

Slide 62

Slide 62 text

࠷ۙCLOUD NATIVEΛ໨ࢦ ͯ͠ಋೖͨ͠ྫ ʮ2ݸ໨ʯ https://cyberagent.ai/blog/pr/kubernetes/10219/

Slide 63

Slide 63 text

࠷ۙCLOUD NATIVEΛ໨ࢦ ͯ͠ಋೖͨ͠ྫ • プロダクト:Qicoo • 主な構成:コンピュートとしてGKE。DBはMySQL、 Redis。SPAで、めっちゃ簡単。サーバサイドはKotlinで フロントはReact/TS • 感想:サーバサイドはフルスクラッチで1週間かかったけ ど、全構築は1人で1日で終わるってクラウドぱないね ʮ3ݸ໨ʯ

Slide 64

Slide 64 text

࠷ۙCLOUD NATIVEΛ໨ࢦ ͯ͠ಋೖͨ͠ྫ • プロダクト:某分散処理基盤 • 主な構成:分析処理バッチとして動いていたAkka ClusterのワーカーノードだけをKubernetes上に乗せ る。分散処理のデータの大きさで水平スケールする。 • 感想:AkkaはScalaなんだけど、やっぱJVM言語っての はJITがマジでネックだニャア ʮ4ݸ໨ʯ

Slide 65

Slide 65 text

࠷ۙCLOUD NATIVEΛ໨ࢦ ͯ͠ಋೖͨ͠ྫ ʮ4ݸ໨ʯ https://www.slideshare.net/sifue/akka-39611889

Slide 66

Slide 66 text

࠷ۙCLOUD NATIVEΛ໨ࢦ ͯ͠ಋೖͨ͠ྫ ʮ4ݸ໨ʯ https://speakerdeck.com/hhiroshell/jvm-on-kubernetes

Slide 67

Slide 67 text

ࠓ౓ͦ͜BYE サーバサイドKotlinはいいぞ