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
全世界で成長し続けるサービスのインフラと開発の裏側 / MIXI TECH CONFERENCE 2023
Search
Isao Shimizu
March 03, 2023
Technology
1
1.4k
全世界で成長し続けるサービスのインフラと開発の裏側 / MIXI TECH CONFERENCE 2023
MIXI TECH CONFERENCE 2023
2023年3月3日(金)
#mixitechcon
Isao Shimizu
March 03, 2023
Tweet
Share
More Decks by Isao Shimizu
See All by Isao Shimizu
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
1.2k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
18
8.4k
今年1年のEKS運用振り返り/3-shake SRE Tech Talk
isaoshimizu
2
210
ポストモーテムの基礎知識と最新事例 / Fundamentals of Postmortem
isaoshimizu
11
2.1k
全世界1,800万人が利用する「家族アルバム みてね」におけるNew Relic活用法 / FutureStack Tokyo 2023
isaoshimizu
1
320
『家族アルバム みてね』で計測しているSLIの事例 / SLI as measured in FamilyAlbum
isaoshimizu
3
650
4年間の取り組みで実現したコンテナ技術を活用したスケーラブルなインフラ構築とコスト削減 / Container Summit 2023
isaoshimizu
1
160
全世界のユーザー体験の改善にNew Relic Mobileをどのように活用したか/How New Relic Mobile was used to improve the global user experience
isaoshimizu
2
720
オブザーバビリティの始め方 / How to start Observability
isaoshimizu
4
970
Other Decks in Technology
See All in Technology
データ分析力を高めるSQL研修サービス『SQL Everyone』
hikarut
1
380
Databricksの生成AI戦略
taka_aki
1
360
パフォーマンス最適化のベストプラクティス
databricksjapan
0
200
[2024년 5월 세미나] 생성형 AI와 함께하는 데이터 분석가 커리어
datarian
0
1.2k
iThome2024 Wailing Wall of Enterprise Security
notsurprised
0
280
NewSQL Landscape
oracle4engineer
PRO
5
3.2k
20240509 CloudWatch でいろいろなものを監視してみよう
masaruogura
1
120
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
140
SWC Transformerから見るTypeScript関数記述ベストプラクティス
fujiyamaorange
1
170
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
8.2k
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
380
RubyKaigi 2024 - Make Your Own Regex Engine!
makenowjust
0
120
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
GraphQLとの向き合い方2022年版
quramy
33
13k
4 Signs Your Business is Dying
shpigford
176
21k
Navigating Team Friction
lara
179
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
0
120
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Clear Off the Table
cherdarchuk
86
310k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
A better future with KSS
kneath
231
16k
Transcript
©MIXI .*9*5&$)$0/'&3&/$& શੈքͰ͠ଓ͚ΔαʔϏεͷΠϯϑϥͱ։ൃͷཪଆ 7BOUBHFελδΦ ΈͯͶࣄۀ෦ 43&άϧʔϓ ਗ਼ਫ ܄
©MIXI "CPVU.F ਗ਼ਫ ܄ !JTBPTIJNJ[V • ʙ גࣜձࣾϛΫγΟʢݱ.*9*ʣ • ʙ
4/4ʮNJYJʯӡ༻ΤϯδχΞ • ʙ ϞϯελʔετϥΠΫ 43& • ʙ ՈΞϧόϜ ΈͯͶ 43& • ʙ 43&άϧʔϓ Ϛωʔδϟʔ िࣾձਓਧָஂͰͷ׆ಈʢָஂɺτϩϯϘʔϯɺͨ·ʹࢦشऀʣɻ ΩϟϯϓͱΫϥϑτϏʔϧ͕͖ɻ 2
©MIXI ՈΞϧόϜ ΈͯͶ 3
©MIXI ՈΞϧόϜ ΈͯͶ 4 ύύɾϚϚ͕ࡱͬͨࢠͲͷࣸਅಈըΛɺ ੰͳͲটͨ͠Ո͚ͩʹ؆୯ʹڞ༗Ͱ͖Δࣸਅɾ ಈըڞ༗ΞϓϦ ϑΥτϒοΫ ࣸਅϓϦϯτ ͷྫ
©MIXI ՈΞϧόϜ ΈͯͶ 5 ΈͯͶΈ·Γ(14 ΈͯͶग़ுࡱӨ ΈͯͶլঢ় ΈͯͶίʔϧυΫλʔ
©MIXI ՈΞϧόϜ ΈͯͶ • ݄ϦϦʔε • ݱࡏݴޠɾͷࠃͱҬͰα ʔϏεΛఏڙ • ւ֎Ͱʮ'BNJMZ"MCVNʯͱ͍͏
໊শͰల։த • ݄ʹར༻ऀ͕ ສਓ˞ Λಥഁ • ຊࠃͰϚϚύύͷͱͳ Δˋͷํ˞ ͕͝ར༻ 6 ˞J04ɾ"OESPJEä ΞϓϦొऀɺϒϥβ൛ొऀͷ߹ܭ ˞ʮΈͯͶʯొ࣌ʹೖྗ͞Ε͓ͨࢠ͞·ͷੜͱްੜ࿑ಇলൃදʮਓޱಈଶ౷ܭʯ͔Βࢉग़ɻ݄࣌Ͱˋ
©MIXI γεςϜߏ 7
©MIXI ΈͯͶΛࢧ͑ΔΫϥυ 8 AWS EKS / EC2 / S3 /
Aurora ElastiCache / SQS / SNS など Google Cloud BigQuery など େ͕"84Ͱߏ͞Ε͍ͯΔ
©MIXI "84ͷߏʢུ֓ਤʣ 9 Amazon EKS Amazon EC2 Amazon S3 Amazon
Aurora Amazon ElastiCache Amazon CloudFront Application Load Balancer Amazon DynamoDB
©MIXI γεςϜߏ • "84ΞΧϯτڥ͝ͱʹશʹׂ • "84ͷϦιʔε5FSSBGPSNʹΑͬͯཧ • "-#ɺ4ͷલ໘ʹ$MPVE'SPOUΛஔ͖ɺωοτϫʔΫܦ࿏ͷ࠷దԽͱΩϟογϡར༻ • &,4ΫϥελʔʹҰΞοϓσʔτ͢Δӡ༻ʢ৽چΫϥελʔೖΕସ͑ʣ
• ,VCFSOFUFTͷϦιʔε"SHP$%ͱ)FMN$IBSUʹΑͬͯཧ • &$ׂҎ্͕εϙοτΠϯελϯεʢΦϯσϚϯυ͘͝Θ͔ͣʣ • &$্Ͱ3BJMT"QQMJDBUJPOɺ4JEFLJR8PSLFS͕ಈ࡞ • "84-PBE#BMBODFS$POUSPMMFSͱ5BSHFU(SPVQ#JOEJOHʹΑͬͯ"-#͔Β1PE·Ͱ ͷϧʔςΟϯάΛίϯτϩʔϧ • "VSPSB(MPCBM%BUBCBTFΛར༻ʢৄࡉޙड़ʣ 10
©MIXI ϚϧνϦʔδϣϯߏ 11
©MIXI ϚϧνϦʔδϣϯߏ 12 "84 BQOPSUIFBTU "84 VTFBTU Ϣʔβʔ͔Β͍ۙϦʔδϣϯʹΞΫηε͢Δ͜ͱͰ ϨεϙϯελΠϜΛ͘͢Δ͜ͱ͕Ͱ͖Δ
©MIXI ϚϧνϦʔδϣϯߏʢσʔλϕʔεʣ 13 ap-northeast-1 us-east-1 Amazon EKS Amazon EC2 Amazon
S3 Amazon Aurora Global Database Amazon Aurora Global Database Amazon EKS Amazon EC2 ϨΠςϯγʢฏۉ NTʣͰಉظ͞ΕΔ ಡΈऔΓΞΫηεͷΈରԠ ॻ͖ࠐΈɾಡΈऔΓΞΫηεରԠ
©MIXI ϚϧνϦʔδϣϯߏʹ͓͚Δҙ • ΈͯͶͰϢʔβʔମݧͷ্Λతͱͨ͠ϚϧνϦʔδϣϯ ◦ ͍ΘΏΔ#$1ରࡦͰͳ͍ • ֤ϦʔδϣϯͰಉ༷ͷࢹΛ͓͜ͳ͏ඞཁ͕͋Δ ◦ *B$ʹΑͬͯखؒ͋·Γ͔͔Βͳ͍
• Ϧʔδϣϯ";ʹΑͬͯఏڙ͞Εͳ͍αʔϏεɺΠϯελϯελ Πϓ͕͋Δ • &$ͷΩϟύγςΟঢ়گϦʔδϣϯɺ";ʹΑͬͯେ͖͘มΘΔ • ϦʔδϣϯؒͰωοτϫʔΫো͕͋Δͱσʔλϕʔεͷಉظʹ େ͖ͳԆ͕ى͖Δ 14
©MIXI αʔόʔΞϓϦέʔγϣϯͷ ։ൃڥ 15
©MIXI αʔόʔΞϓϦέʔγϣϯͷ։ൃڥ 16 Πϯλʔωοτ ։ൃऀ͝ͱʹ༻ҙ ͞Εͨڥ 開発者 44) ͱͯγϯϓϧʹॻ͘ͱ͜Μͳײ͡ ͜͜Ͱ։ൃ
©MIXI αʔόʔΞϓϦέʔγϣϯͷ։ൃڥ 17 Πϯλʔωοτ ,VCFSOFUFT "͞Μͷ ։ൃڥ1PE #͞Μͷ ։ൃڥ1PE $͞Μͷ
։ൃڥ1PE &͞Μͷ ։ൃڥ1PE %͞Μͷ ։ൃڥ1PE Aさん Bさん Cさん Dさん Eさん 開発チーム
©MIXI ։ൃڥͷ࡞Γํ 18 εςοϓ̍ εςοϓ εςοϓ :".-ϑΝΠϧΛ (JU)VCʹϓογϡ ˞:".-ͷத44) ͷެ։伴
"SHP$%Ͱ4ZODૢ࡞Λ ͯ͠։ൃڥ͕ىಈ ˞ेඵޙʹڥ͕࡞ ͞ΕΔ 44)͢Δ ։ൃऀࣗͰ࡞ɾআΛࣗ༝ʹߦ͏͜ͱ͕Մೳ
©MIXI खݩͷ.BD1$ ։ൃڥͷϩάΠϯपΓͷηΩϡϦςΟ 19 ,VCFSOFUFTΫϥελ ։ൃڥ 1PE ίϯςφ sshd kubectl
exec netcat 22番ポート Πϯλʔωοτ ίϯςφ ConfigMap SSH公開鍵 ίϯςφ ίϯςφ ProxyCommand .ssh/config ssh 44)ͷϙʔτΛΠϯλʔωοτʹެ։͢Δඞཁͳ͍ ։ൃऀ ίϯςφ "84ೝূ
©MIXI ։ൃڥ͕৽͍͠ߏʹͳͬͯ • Ҏલݸਓ͝ͱͷ&$ʹ44)ͯ͠%PDLFSΛར༻͍ͯͨ͠ ◦ 44)ͷ伴ཧɺ5FSSBGPSNͷద༻ͱߏஙͷεςοϓ͕ଟ͔ͬͨ ▪ :".-ͷՃɺ"SHP$%ͷཧը໘͔Βͷద༻ͱ؆୯ʹ ◦ खॱ͕Θ͔ΓͮΒ͘43&ϝϯόʔͷαϙʔτ͕ඞཁʹͳͬͨΓ
▪ ୭Ͱ؆୯ʹߏஙɾআͰ͖ΔΑ͏ʹ ◦ ൪ϙʔτͷΠϯλʔωοτެ։ʢެ։伴ೝূͱ͍͑ةͳ͍ʣ ▪ ϙʔτެ։ͳ͠Ͱɺ"84ͷೝূʢ440ʣͱެ։伴ೝূͷΈ߹Θͤʹ ▪ 74$PEF3FNPUF%FWFMPQNFOUʹରԠ ◦ ϩά͕ཷ·Γ͗ͨ͢Γɺݕࡧͮ͠Β͔ͬͨΓ ▪ (SBGBOB-PLJͰݕࡧ͘͢͠ 20
©MIXI ΦϒβʔόϏϦςΟͷ 21
©MIXI ΦϒβʔόϏϦςΟͳͥඞཁʁ • γεςϜͰԿ͕ى͖͍ͯΔͷ͔ΛѲ͢ΔͨΊ • ,VCFSOFUFTͳͲίϯςφͷΦʔέετϨʔγϣϯ͕ར༻͞ΕΔ ͜ͱ͕૿͑ͨ݁ՌɺγεςϜ෦͕ෳࡶʹͳΓɺ֤ίϯϙʔωϯ τΛ؍ଌՄೳͳঢ়ଶʹ͢Δඞཁ͕͋Δ • ϝτϦΫεɺϩάɺτϨʔεͳͲͷใଟ͋͘ΓɺͷݪҼ
Λௐࠪ͢ΔͨΊʹͦΕΒΛత֬ʹूܭ͠ɺՄࢹԽ͢ΔΈ͕ ٻΊΒΕΔ 22
©MIXI ΦϒβʔόϏϦςΟͷ࣮ݱ 23 ϞόΠϧΞϓϦ New Relic Mobile Firebase Crashlytics αʔόʔΞϓϦ
New Relic APM New Relic Browser ֤छϩά Grafana Loki Amazon Athena Google BigQuery ֤छϝτϦΫε Prometheus / Amazon Managed Service for Prometheus Amazon CloudWatch Grafana
©MIXI ΦϒβʔόϏϦςΟͷશମ૾ 24 Kubernetes Prometheus New Relic Rails newrelic_rpm Grafana
Node Exporter Amazon CloudWatch Amazon Managed Service for Prometheus Grafana Loki Promtail Ϣʔβʔͷ New Relic Mobile ϞχλϦϯάڥ Fluent Bit Amazon Kinesis Firehose Amazon S3 Amazon Athena GCS BigQuery ETLॲཧ σʔλͷྲྀΕ
©MIXI 43&Λ࣮ફ͢Δ্Ͱ ΦϒβʔόϏϦςΟͱͯେࣄ 25
©MIXI ·ͱΊ 26
©MIXI ·ͱΊ • શੈքͰ ສਓҎ্ͷϢʔβʔʹར༻͞ΕΔαʔϏεͷγε ςϜߏ͕ࢀߟʹͳΕ͍Ͱ͢ɻ • "VSPSB(MPCBM%BUBCBTFͷ͓͔͛ͰϚϧνϦʔδϣϯߏΛ࡞ Δ͜ͱ͕Ͱ͖ɺੈքதͷϢʔβʔମݧΛվળͰ͖·ͨ͠ɻ •
,VCFSOFUFTΫϥελ্ͷ։ൃڥηΩϡΞͰѻ͍͍͢ڥ ʹͳΓ·ͨ͠ɻ • ΦϒβʔόϏϦςΟࠓ·ͰࢼߦࡨޡΛ܁Γฦ͠ɺ43&͚ͩͰͳ ͘։ൃऀશମͰར༻Ͱ͖ΔڥΛ࡞Δ͜ͱ͕Ͱ͖·ͨ͠ɻ 27
©MIXI 8&"3&)*3*/( 28 ΈͯͶ ࠾༻ ݕࡧ ͞·͟·ͳϙδγϣϯͰืूதͰ͢ʂ