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

世界中のユーザーが快適に利用できるクラウドネイティブなシステムを目指して/#CNDT2021

Isao Shimizu
November 05, 2021

 世界中のユーザーが快適に利用できるクラウドネイティブなシステムを目指して/#CNDT2021

CloudNative Days Tokyo 2021 キーノート(20分)
2021.11.5

「家族アルバム みてね」は2015年4月にサービスを開始し、2021年3月に利用者数が1,000万人を突破しました。世界150か国以上でサービスを提供し、写真・動画の月間アップロード枚数は、2020年12月時点で1.4億枚に達しています。2020年から2021年にかけては、7つのサービス・機能をリリースし、3つのサービス・機能をアップデートしました。本セッションでは、このように新機能の開発スピードの加速や、海外での利用者数も伸びている中で、SREチームが取り組んできたKubernetes(Amazon EKS)への移行と運用、Observabilityの実現について紹介します。

Isao Shimizu

November 05, 2021
Tweet

More Decks by Isao Shimizu

Other Decks in Technology

Transcript

  1. 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 ಛूهࣄدߘ ͳͲ
  2. mixi, Inc. શੈք ສਓҎ্ͷར༻ऀ ※ (ג) ϛΫγΟௐ΂ɻ iOSɾAndroidΞϓϦొ࿥ऀ਺ɺϒϥ΢β൛ొ࿥ऀ਺ͷ߹ܭ Ո଒ΞϧόϜ ΈͯͶ

    ଟࠃޠରԠɺੈք͔ࠃҎ্ͰαʔϏεఏڙ ೔ຊޠɺӳޠɺதࠃޠʢൟମࣈʣɺؖࠃޠɺϑϥϯεޠ υΠπޠɺεϖΠϯޠʹରԠ ࠃ಺޲͚ Ո଒ΞϧόϜ ΈͯͶ ւ֎޲͚ FamilyAlbum
  3. 2016年 2015年 2017年 2018年 2019年 2020年 2021年 Ո଒ΞϧόϜ ΈͯͶ ϦϦʔε

    ʢ೔ຊޠͷΈʣ ӳޠʢΞϝϦΧʣ ରԠϦϦʔε தࠃޠʢൟମࣈʣ ؖࠃޠ ରԠϦϦʔε ӳޠʢΠΪϦεʣ ϑϥϯεޠ υΠπޠ ରԠϦϦʔε lՈ଒ΞϧόϜ ΈͯͶzͷΞϓϦݴޠରԠঢ়گ 2022年 εϖΠϯޠ ରԠϦϦʔε
  4. 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 ʢ૆෕฼ʹͱͬͯཧ૝తͳ؀ڥͰͨ͠ʣ 引用元 引用元 引用元 引用元 引用元
  5. mixi, Inc. ੈքʹ޲͚ͨαʔϏεʹ͓͚Δ՝୊ ˔ αʔόʔͱͷ෺ཧతͳڑ཭ ˓ ωοτϫʔΫϨΠςϯγ ˔ ໰୊ͷ೺Ѳͷͮ͠Β͞ ˓

    ݱ஍΁ߦ͔ͳ͍ͱΘ͔Βͳ͍͜ͱ͕͋Δ ˓ ֤ࠃͷܞଳճઢɺΠϯλʔωοτࣄ৘ͳͲ ˔ ͞·͟·ͳλΠϜκʔϯ ˓ ֤஍Ҭʹ޲͚ͨϓϩϞʔγϣϯࢪࡦ࣌ͷಥൃతͳෛՙ
  6. mixi, Inc. ϞόΠϧ୺຤ଆͰͷϝτϦΫεऩू ΤϯδχΞ S3 Metrics New Relic MobileΛ׆༻ͯ͠ ୺຤ଆͷϝτϦΫεΛऩू

    • ஍ཧ৘ใʢࠃ΍஍ҬͳͲʣ • Ξοϓϩʔυ࣌ؒ • HTTPΤϥʔ • ճઢΩϟϦΞɺλΠϓʢWi-Fi, 4G, 3Gʣ New Relic Upload
  7. mixi, Inc. ΦʔτεέʔϧͱσϓϩΠͷ଎౓Ξοϓ EC2ϕʔεͰͷΦʔτεέʔϧɺ ChefʹΑΔσϓϩΠ଴ͪʹΑΓ஗͍ Chef Auto Scale Auto Scale

    Container Registry ίϯϐϡʔτϦιʔεޮ཰Ξοϓɺ ίϯςφΠϝʔδͷ഑ஔʹΑΓ଎౓Ξοϓ EC2 EC2 Container ͞·͟·ͳෛՙ܏޲ʹૉૣ͘ରԠ͠΍͘͢ͳΔ ैདྷ ίϯςφԽ AWS OpsWorks
  8. mixi, Inc. ͳͥ ,VCFSOFUFT ΛબΜͩͷ͔ લఏ: αʔϏε౰ॳΑΓAWSΛར༻ ˓ VM͔Βίϯςφ΁ͷҠߦ ˓

    Amazon ECS or EKS ͱ͍͏બ୒ࢶ Kubernetes͸… ˔ ࣗ༝౓΍֦ுੑͷߴ͞ɺΤίγεςϜ͕ॆ࣮ ˔ CNCFϓϩδΣΫτͷOSSͰ͋Γ։ൃ͕׆ൃ
  9. mixi, Inc. ,VCFSOFUFT ΛબͿͱ͖ʹײͨ͡ෆ҆ ˔ ॻ੶΍ϒϩάهࣄΛಡΜͩΓɺਓͷ࿩Λฉ͍ͯΈͯ΋ɺ ࣮ࡍʹ৭ʑ΍ͬͯΈͳ͍ͱΘ͔Βͳ͍͜ͱ͕ଟ͔ͬͨ ˔ ৽όʔδϣϯ΁ͷ௥ैͷෆ҆ ˔

    ݕূ࢝͠Ίͨ౰࣌ʢ2018೥ʣɺEKS͕౦ژϦʔδϣϯʹ དྷ͍ͯͳ͔ͬͨɺػೳ΋ͦΕ΄Ͳଟ͘ͳ͔ͬͨ ˔ ࠓޙKubernetes͕Ͳ͏ͳ͍͔ͬͯ͘ͱ͍͏ෆ҆΋ ࣮ࡍʹ৮Δɺ"84 4"ͷํͱͷ૬ஊͳͲͰঃʑʹղফ͍ͯͬͨ͠
  10. mixi, Inc. ,VCFSOFUFT΁ͷҠߦͷྲྀΕʢͬ͘͟Γʣ ᶃ DockerΠϝʔδͷઃܭ ᶄ ϏϧυύΠϓϥΠϯͷߏ੒ ᶅ ։ൃ؀ڥͷίϯςφରԠ ᶆ

    Kubernetesͷݕূ ᶇ σϓϩΠํ๏ͷݕ౼ ᶈ ϞχλϦϯάํ๏ͷݕ౼ ᶉ ػೳ୯ҐͰͷຊ൪Ҡߦ γεςϜશମ͸ͦΕͳΓͷن໛ ͱ͍͏͜ͱ΋͋Γɺ೥൒͘Β͍ ͔͔ͬͨʜ
  11. mixi, Inc. *B$Λ҆શʹɺޮ཰తʹ AWS CodeBuild GitHub Terraform Apply ैདྷ ݱࡏ

    Admin Role Slack ΤϯδχΞ GitHub 自作ツール Admin Role Webhook Approve Plan結果 Terraform AWS CodeBuild Apply pull tf files
  12. mixi, Inc. σϓϩΠΛૉૣ͘؆୯ʹ ΤϯδχΞ σβΠφʔ ECR GitHub Kubernetes ArgoCD ArgoCD

    Application ࣗ࡞πʔϧ Deployment Webhook push Rolling Update merge PR Sync ࠩ෼ݕ஌ λά ߋ৽ pull
  13. mixi, Inc. ΦϒβʔόϏϦςΟΛ޲্ͤ͞Δࢪࡦ ˔ ϩά෼ੳج൫ͷվળʢArgo Workflowͷ׆༻ɺϝϯςφϯεੑ޲্ʣ ˔ CloudFrontɺS3ͷϩάͷ׆༻ʢϢʔβʔͷମײ஋Λಘ΍͍͢ʣ ˔ GrafanaͱRedashʹΑΔ෼ੳ

    ˔ New Relic ˓ APMʢAPIϨεϙϯεͷվળʣ ˓ MobileʢϢʔβʔͷ஍ཧతωοτϫʔΫঢ়گͷ೺Ѳʣ ˓ Kubernetes integrationʢKubernetesʹ͓͚ΔϝτϦΫεʣ
  14. 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