Slide 1

Slide 1 text

ੈքதͷϢʔβʔ͕շదʹར༻Ͱ͖Δ Ϋϥ΢υωΠςΟϒͳγεςϜΛ໨ࢦͯ͠ Isao Shimizu CloudNative Days Tokyo 2021 2021.11.5

Slide 2

Slide 2 text

mixi, Inc. ࣗݾ঺հ ਗ਼ਫ ܄ @isaoshimizu ˔ 2011೥ʙ גࣜձࣾϛΫγΟ ˓ 2011೥ʙ2014೥ SNS mixi ӡ༻ΤϯδχΞ ˓ 2014೥ʙ2018೥ ϞϯελʔετϥΠΫ SRE ˓ 2018೥ʙݱࡏ Ո଒ΞϧόϜ ΈͯͶ SRE ˔ SRE NEXT 2020 IN Tokyo ొஃ ˔ AWS Summit Tokyo 2014ˍ2019 ొஃ ˔ AWS Dev Day Tokyo 2018 LTେձ ϕετεϐʔΧʔ ˔ Software Design ಛूهࣄدߘ ͳͲ

Slide 3

Slide 3 text

mixi, Inc. ΞδΣϯμ ˔ αʔϏεͷ঺հ ˔ lੈքதͷϢʔβʔ͕շదʹར༻Ͱ͖ΔzΛ໨ࢦͨ͢Ίʹ ˔ ,VCFSOFUFTͷબ୒ͱҠߦ ˔ ηΩϡΞ͔ͭεϐʔσΟʹΫϥ΢υΛѻ͏ ˔ ΦϒβʔόϏϦςΟͷ޲্ ˔ ·ͱΊ

Slide 4

Slide 4 text

mixi, Inc. શੈք ສਓҎ্ͷར༻ऀ ※ (ג) ϛΫγΟௐ΂ɻ iOSɾAndroidΞϓϦొ࿥ऀ਺ɺϒϥ΢β൛ొ࿥ऀ਺ͷ߹ܭ Ո଒ΞϧόϜ ΈͯͶ ଟࠃޠରԠɺੈք͔ࠃҎ্ͰαʔϏεఏڙ ೔ຊޠɺӳޠɺதࠃޠʢൟମࣈʣɺؖࠃޠɺϑϥϯεޠ υΠπޠɺεϖΠϯޠʹରԠ ࠃ಺޲͚ Ո଒ΞϧόϜ ΈͯͶ ւ֎޲͚ FamilyAlbum

Slide 5

Slide 5 text

lੈքதͷϢʔβʔ͕շదʹར༻Ͱ͖Δz Λ໨ࢦ͢

Slide 6

Slide 6 text

શੈքͰαʔϏεΛఏڙ͢Δͱ͍͏͜ͱ

Slide 7

Slide 7 text

2016年 2015年 2017年 2018年 2019年 2020年 2021年 Ո଒ΞϧόϜ ΈͯͶ ϦϦʔε ʢ೔ຊޠͷΈʣ ӳޠʢΞϝϦΧʣ ରԠϦϦʔε தࠃޠʢൟମࣈʣ ؖࠃޠ ରԠϦϦʔε ӳޠʢΠΪϦεʣ ϑϥϯεޠ υΠπޠ ରԠϦϦʔε lՈ଒ΞϧόϜ ΈͯͶzͷΞϓϦݴޠରԠঢ়گ 2022年 εϖΠϯޠ ରԠϦϦʔε

Slide 8

Slide 8 text

mixi, Inc. ετΞϨϏϡʔʹدͤΒΕͨւ֎͔Βͷίϝϯτ Such a great app to privately share photos and video with family ʢՈ଒ͱࣸਅ΍ϏσΦΛڞ༗͢ΔͨΊͷૉ੖Β͍͠ΞϓϦͰ͢ʣ estou contente com a aplicação ʢΞϓϦʹຬ଍͍ͯ͠·͢ʣ Ich liebe diese App. Einfach toll. ʢ͜ͷΞϓϦ͕େ޷͖ɻγϯϓϧʹૉ੖Β͍͠ʣ 멀리떨어져있는 손녀를 언제든 열어볼수있어 너무편리하고 좋아요 ʢԕ͘཭Ε͍ͯΔଙ່Λ͍ͭͰ΋։͍ͯݟ͍ͯͯ΋ศརͰྑ͍ʣ Très bien idéal pour les grands parents que nous sommes ʢ૆෕฼ʹͱͬͯཧ૝తͳ؀ڥͰͨ͠ʣ 引用元 引用元 引用元 引用元 引用元

Slide 9

Slide 9 text

શੈքͷϢʔβʔͷظ଴ʹ΋ͬͱԠ͍͑ͨ

Slide 10

Slide 10 text

? 43&΍ΠϯϑϥαΠυͱͯ͠ ੈքதͷϢʔβʔʹߩݙͰ͖Δ͜ͱ͸Կ͔

Slide 11

Slide 11 text

mixi, Inc. ੈքʹ޲͚ͨαʔϏεʹ͓͚Δ՝୊ ˔ αʔόʔͱͷ෺ཧతͳڑ཭ ˓ ωοτϫʔΫϨΠςϯγ ˔ ໰୊ͷ೺Ѳͷͮ͠Β͞ ˓ ݱ஍΁ߦ͔ͳ͍ͱΘ͔Βͳ͍͜ͱ͕͋Δ ˓ ֤ࠃͷܞଳճઢɺΠϯλʔωοτࣄ৘ͳͲ ˔ ͞·͟·ͳλΠϜκʔϯ ˓ ֤஍Ҭʹ޲͚ͨϓϩϞʔγϣϯࢪࡦ࣌ͷಥൃతͳෛՙ

Slide 12

Slide 12 text

ΑΓ҆ఆͨ͠ωοτϫʔΫΛ࢖͏ ୺຤ଆͷϝτϦΫεΛऩूͯ͠վળʹͭͳ͛Δ

Slide 13

Slide 13 text

mixi, Inc. ΑΓ҆ఆͨ͠ωοτϫʔΫ΁ S3 Transfer AccelerationΛ׆༻ͯ͠ߴ଎ͳΞοϓϩʔυ Slow Fast AWS Edge Location AWS Edge Location AWS Edge Location S3

Slide 14

Slide 14 text

mixi, Inc. ϞόΠϧ୺຤ଆͰͷϝτϦΫεऩू ΤϯδχΞ S3 Metrics New Relic MobileΛ׆༻ͯ͠ ୺຤ଆͷϝτϦΫεΛऩू • ஍ཧ৘ใʢࠃ΍஍ҬͳͲʣ • Ξοϓϩʔυ࣌ؒ • HTTPΤϥʔ • ճઢΩϟϦΞɺλΠϓʢWi-Fi, 4G, 3Gʣ New Relic Upload

Slide 15

Slide 15 text

mixi, Inc. ΦʔτεέʔϧͱσϓϩΠͷ଎౓Ξοϓ EC2ϕʔεͰͷΦʔτεέʔϧɺ ChefʹΑΔσϓϩΠ଴ͪʹΑΓ஗͍ Chef Auto Scale Auto Scale Container Registry ίϯϐϡʔτϦιʔεޮ཰Ξοϓɺ ίϯςφΠϝʔδͷ഑ஔʹΑΓ଎౓Ξοϓ EC2 EC2 Container ͞·͟·ͳෛՙ܏޲ʹૉૣ͘ରԠ͠΍͘͢ͳΔ ैདྷ ίϯςφԽ AWS OpsWorks

Slide 16

Slide 16 text

? ੈքதͷϢʔβʔʹ޲͚ͯ೔ʑ։ൃ͍ͯ͠Δ ૊৫ʹߩݙͰ͖Δ͜ͱ͸Կ͔

Slide 17

Slide 17 text

mixi, Inc. ։ൃ૊৫ʹ͓͚Δ՝୊ ˔ ૊৫ͷ֦େɺ৽ػೳͷ௥Ճɺւ֎ରԠ΁ͷॊೈੑ ˔ ։ൃɾσϓϩΠͷ͠΍͢͞ɺޮ཰ੑ ˔ ηΩϡϦςΟͷ୲อ ˔ ໰୊ͷૣظൃݟɺରॲ γεςϜશମͷେ෯࡮৽͕ඞཁ ͞·͟·ͳ՝୊͕ݦࡏԽ͍ͯͨ͠

Slide 18

Slide 18 text

αʔϏεΠϯϑϥΛ ,VCFSOFUFT ʹશ໘Ҡߦ γεςϜͷ࡮৽ ᶃ

Slide 19

Slide 19 text

mixi, Inc. ͳͥ ,VCFSOFUFT ΛબΜͩͷ͔ લఏ: αʔϏε౰ॳΑΓAWSΛར༻ ˓ VM͔Βίϯςφ΁ͷҠߦ ˓ Amazon ECS or EKS ͱ͍͏બ୒ࢶ Kubernetes͸… ˔ ࣗ༝౓΍֦ுੑͷߴ͞ɺΤίγεςϜ͕ॆ࣮ ˔ CNCFϓϩδΣΫτͷOSSͰ͋Γ։ൃ͕׆ൃ

Slide 20

Slide 20 text

mixi, Inc. ,VCFSOFUFT ΛબͿͱ͖ʹײͨ͡ෆ҆ ˔ ॻ੶΍ϒϩάهࣄΛಡΜͩΓɺਓͷ࿩Λฉ͍ͯΈͯ΋ɺ ࣮ࡍʹ৭ʑ΍ͬͯΈͳ͍ͱΘ͔Βͳ͍͜ͱ͕ଟ͔ͬͨ ˔ ৽όʔδϣϯ΁ͷ௥ैͷෆ҆ ˔ ݕূ࢝͠Ίͨ౰࣌ʢ2018೥ʣɺEKS͕౦ژϦʔδϣϯʹ དྷ͍ͯͳ͔ͬͨɺػೳ΋ͦΕ΄Ͳଟ͘ͳ͔ͬͨ ˔ ࠓޙKubernetes͕Ͳ͏ͳ͍͔ͬͯ͘ͱ͍͏ෆ҆΋ ࣮ࡍʹ৮Δɺ"84 4"ͷํͱͷ૬ஊͳͲͰঃʑʹղফ͍ͯͬͨ͠

Slide 21

Slide 21 text

mixi, Inc. ,VCFSOFUFT΁ͷҠߦͷྲྀΕʢͬ͘͟Γʣ ᶃ DockerΠϝʔδͷઃܭ ᶄ ϏϧυύΠϓϥΠϯͷߏ੒ ᶅ ։ൃ؀ڥͷίϯςφରԠ ᶆ Kubernetesͷݕূ ᶇ σϓϩΠํ๏ͷݕ౼ ᶈ ϞχλϦϯάํ๏ͷݕ౼ ᶉ ػೳ୯ҐͰͷຊ൪Ҡߦ γεςϜશମ͸ͦΕͳΓͷن໛ ͱ͍͏͜ͱ΋͋Γɺ೥൒͘Β͍ ͔͔ͬͨʜ

Slide 22

Slide 22 text

ηΩϡΞ͔ͭεϐʔσΟʹΫϥ΢υΛѻ͏ γεςϜͷ࡮৽ ᶄ

Slide 23

Slide 23 text

*B$Λ҆શʹɺޮ཰తʹ σϓϩΠΛૉૣ͘ɺ؆୯ʹ ݴ͍׵͑Ε͹

Slide 24

Slide 24 text

mixi, Inc. *B$Λ҆શʹɺޮ཰తʹ AWS CodeBuild GitHub Terraform Apply ैདྷ ݱࡏ Admin Role Slack ΤϯδχΞ GitHub 自作ツール Admin Role Webhook Approve Plan結果 Terraform AWS CodeBuild Apply pull tf files

Slide 25

Slide 25 text

mixi, Inc. σϓϩΠΛૉૣ͘؆୯ʹ ΤϯδχΞ σβΠφʔ ECR GitHub Kubernetes ArgoCD ArgoCD Application ࣗ࡞πʔϧ Deployment Webhook push Rolling Update merge PR Sync ࠩ෼ݕ஌ λά ߋ৽ pull

Slide 26

Slide 26 text

ΦϒβʔόϏϦςΟͷ޲্ γεςϜͷ࡮৽ ᶅ

Slide 27

Slide 27 text

mixi, Inc. ΦϒβʔόϏϦςΟΛ޲্ͤ͞Δࢪࡦ ˔ ϩά෼ੳج൫ͷվળʢArgo Workflowͷ׆༻ɺϝϯςφϯεੑ޲্ʣ ˔ CloudFrontɺS3ͷϩάͷ׆༻ʢϢʔβʔͷମײ஋Λಘ΍͍͢ʣ ˔ GrafanaͱRedashʹΑΔ෼ੳ ˔ New Relic ˓ APMʢAPIϨεϙϯεͷվળʣ ˓ MobileʢϢʔβʔͷ஍ཧతωοτϫʔΫঢ়گͷ೺Ѳʣ ˓ Kubernetes integrationʢKubernetesʹ͓͚ΔϝτϦΫεʣ

Slide 28

Slide 28 text

mixi, Inc. ֤छϝτϦΫεͷऔಘͱ෼ੳ Kubernetes Pod Prometheus New Relic Pod Rails (Puma) Pod KEDA Pod New Relic Kubernetes integration newrelic_rpm Grafana Pod Exporter Internet Internet yebeda

Slide 29

Slide 29 text

͜ΕΒͷࢪࡦʹΑͬͯʜ Ϣʔβʔɺ։ൃऀͱ΋ʹମݧ͕޲্ ͔͠͠ɺ·ͩ·ͩ΍Δ΂͖͜ͱ͸࢒͍ͬͯΔ

Slide 30

Slide 30 text

·ͱΊ

Slide 31

Slide 31 text

mixi, Inc. ·ͱΊ ੈքதͷϢʔβʔ͕շదʹར༻Ͱ͖ΔΫϥ΢υωΠςΟϒͳγεςϜΛ໨ࢦͨ͢Ίʹ͸ ˔ Ϣʔβʔͷ௨৴ʹ͓͚ΔετϨεΛܰݮ͢ΔɺϘτϧωοΫΛ೺Ѳ͢Δɻ ˔ ҆શ͔ͭޮ཰తʹΫϥ΢υ΍KubernetesΛར༻Ͱ͖Δ࢓૊ΈΛ࡞Δɻ ˔ γεςϜͷվળ΍มԽΛଓ͚ΔͨΊʹΦϒβʔόϏϦςΟΛ֬อ͢Δɻ ˔ ·ͩ΍Γ͖Ε͍ͯͳ͍͜ͱ͸ͨ͘͞Μ͋Δɻ΋ͬͱଟ͘ͷੈքதͷํʹշద ʹ࢖ͬͯ΋Β͑ΔΑ͏ʹվળΛଓ͚Δɻ

Slide 32

Slide 32 text

mixi, Inc. 8&"3&)*3*/( ֤ϙδγϣϯੵۃ࠾༻த team.mitene.us

Slide 33

Slide 33 text

mixi, Inc. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ