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
1k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
18
8.3k
今年1年のEKS運用振り返り/3-shake SRE Tech Talk
isaoshimizu
2
200
ポストモーテムの基礎知識と最新事例 / Fundamentals of Postmortem
isaoshimizu
11
2.1k
全世界1,800万人が利用する「家族アルバム みてね」におけるNew Relic活用法 / FutureStack Tokyo 2023
isaoshimizu
1
310
『家族アルバム みてね』で計測しているSLIの事例 / SLI as measured in FamilyAlbum
isaoshimizu
3
640
4年間の取り組みで実現したコンテナ技術を活用したスケーラブルなインフラ構築とコスト削減 / Container Summit 2023
isaoshimizu
1
150
全世界のユーザー体験の改善にNew Relic Mobileをどのように活用したか/How New Relic Mobile was used to improve the global user experience
isaoshimizu
2
700
オブザーバビリティの始め方 / How to start Observability
isaoshimizu
4
950
Other Decks in Technology
See All in Technology
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
150
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
認知症フレンドリーテックとスタックチャン
naokiuc
0
190
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
2
140
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
510
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
180
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
610
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.4k
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
5
1.6k
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
800
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
150
生産性向上チームの紹介
cybozuinsideout
PRO
1
920
Featured
See All Featured
For a Future-Friendly Web
brad_frost
172
9k
Practical Orchestrator
shlominoach
183
9.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Ruby is Unlike a Banana
tanoku
96
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
65
14k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Building Applications with DynamoDB
mza
88
5.6k
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 ΈͯͶ ࠾༻ ݕࡧ ͞·͟·ͳϙδγϣϯͰืूதͰ͢ʂ