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
大規模になったサービスでやるべき基本的なこと
Search
Isao Shimizu
February 07, 2017
Technology
7
2.7k
大規模になったサービスでやるべき基本的なこと
2017年2月7日
【DMM GAMES主催!】「複雑・大規模webサービスを支える技術勉強会」
Isao Shimizu
February 07, 2017
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
20240516 OpenID TechNight Vol.21 「OIDFシェアードシグナルフレームワーク(ID2)を利用してリアルタイムでセキュリティシグナルを共有するための最新情報」
oidfj
0
140
[2024년 5월 세미나] 생성형 AI와 함께하는 데이터 분석가 커리어
datarian
0
1.3k
Prisma ORMを2年運用して培ったノウハウを共有する
tockn
19
5.1k
20240509 CloudWatch でいろいろなものを監視してみよう
masaruogura
1
120
本当のガバクラ基礎
toru_kubota
0
320
【リラン】AIの光と闇?失敗しないために知っておきたいAIリスクとその対応 ①政府の動き編
tkhresk
0
140
OPENLOGI Company Profile
hr01
0
46k
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
150
AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6
fujiwara3
6
3.4k
Databricksの生成AI戦略
taka_aki
1
380
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
1
200
OpenID Foundation updates
fujie
0
190
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Bash Introduction
62gerente
605
210k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
Into the Great Unknown - MozCon
thekraken
15
1.1k
Optimizing for Happiness
mojombo
370
69k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Transcript
େنʹͳͬͨαʔϏεͰΔ͖جຊతͳ͜ͱ ήʔϜ։ൃ෦ SREάϧʔϓ ਗ਼ਫ ܄ @isaoshimizu 2017.2.7 ʲDMM GAMESओ࠵ʂʳʮෳࡶɾେنwebαʔϏεΛࢧ͑Δٕज़ษڧձʯ XFLAG
STUDIO
About me • ਗ਼ਫ ܄ @isaoshimizu • 2011.8-2014.3 SNS mixiͷӡ༻
• XFLAG ελδΦ • 2014.4-2016.6 αʔόʔΤϯδχΞ • 2016.7- SRE ओʹࠃ͚ϞϯελʔετϥΠΫΛࢧ͑Δ͓ࣄ • ଞʹϞϯετελδΞϜɺϒϥφΠDASHͳͲ • ͖ͳͷ • LinuxɺMySQLɺnginxɺMemcachedͳͲͷϛυϧΣΞɺGoɺΫϥϑτϏʔϧ 2
ۙͷൃදࢿྉ • 2016.3.1 ϞϯετΛࢧ͑ΔΠϯϑϥͷࠓͱ͜Ε͔Β https://speakerdeck.com/isaoshimizu/monsutowozhi-eruinhurafalsejin- tokorekara • 2017.1.30 SREάϧʔϓ͕Ͱ͖ͯ͜ͷ͖ؒͬͯͨ͜ͱ https://speakerdeck.com/isaoshimizu/sregurupugadekitekofalseban-nian-
jian-yatutekitakoto 3
αʔϏεͷن͕େ͖͘ͳΔͱ͍͏͜ͱ
αʔϏεͷن͕େ͖͘ͳΔͱ͍͏͜ͱ • ΞΫηε͕૿͑Δ • ෛՙͱͷઓ͍͕࢝·Δ • αʔό͕૿͑Δ • ؔΘΔਓ૿͑Δ 5
ෛՙΛՄࢹԽ͢Δ
ࢹɾϞχλϦϯά • ʮͳΜͱͳ͘ෛՙߴͦ͏ʯͱ͍͏ঢ়ଶͱͯةݥ • ศརͳπʔϧ͕૿͖͍͑ͯͯΔͷͰͪΌΜͱ׆༻͢Δ • Nagios, CloudForecast, Cacti, Ganglia,
Munin, Sensu, Zabbix, Kurado, Prometheus • Mackerel, Datadog, CloudWatch, NewRelic, PagerDuty, Pingdom • Fluentd+Elasticsearch+KibanaͰϩά͔ΒάϥϑΛੜ͢ΔͷޮՌత • άϥϑຖ֬ೝ͢ΔɻཧղͰ͖ͳ͍άϥϑੜɾදࣔͯ͠ҙຯ͕ͳ͍ɻ • ຖ݄ෛՙঢ়گΛαϚϥΠζ͓ͯ͘͠ͱৼΓฦΓࠓޙͷରࡦํ͕࡞Γ͍͢ • ݟ͑ͳ͍ͷɺଌΕͳ͍ͷϦεΫ • αʔϏε࿈ಈͷاըΠϕϯτૣΊʹڞ༗ͯ͠උ͑Δ 7
εέʔϧΞοϓ͔εέʔϧΞτ͖͔͢
εέʔϧΞοϓ or εέʔϧΞτ • εέʔϧΞοϓ • ੑೳΛ্͛ͯෛՙରࡦ • εέʔϧͰ͖Δ্ݶ͕ܾ·ͬͯ͠·͏ɻ͞ΒͳΔෛՙ૿ͷରԠݫ͍͠ɻ •
PCI-ExpressͳioMemoryNVMe SSDΛͬͯμϝͳ࣌μϝɻ • εέʔϧΞτ • LBԼͷΞϓϦέʔγϣϯαʔό૿͢͜ͱͰCPUϦιʔεΛෛՙࢄ • DBͷଓͱΞΫηε͕૿͑ΔͷͰཁҙ • DBʹ͓͍ͯɺεέʔϧΞτͰ͖Δͱɺதظతͳෛՙରࡦͱͯ͠༗ޮ • Ұ࣌తͳෛՙ૿ͷରࡦͰ͋ΕεέʔϧΞοϓޮՌత 9
τϥϑΟοΫͷ૿Ճ
τϥϑΟοΫͷ૿Ճ • Ϋϥυͷ߹ • ΠϯελϯελΠϓʹΑ্ͬͯݶ͕ҟͳΔʢϕϯνϚʔΫͱ͓ͬͯ͘ͱ҆৺ʣ • ࣗࣾDCΛͬͯΔ߹ • NICͱεΠονͷଳҬ্ݶʢαʔόʔ͕ͲͷϥοΫʹ͋Δ͔Λҙࣝʣ •
ճઢͷੑʢํܥ͕མͪͯڐ༰Ͱ͖ΔଳҬઃܭʣ • NICͷੑ • Bonding: ίωΫγϣϯ୯ҐͰࢄ͞ΕΔͷͰNICx2Ͱ2ഒͷଳҬͱݶΒͳ͍ • TCPͷ࠶ૹճͷࢹ֮Խ • ಛʹΫϥυͰϨΠςϯγଳҬͷมԽ͕͋ΔͷͰཁҙ 11
αʔόʔ/Πϯελϯεͷ૿Ճ
αʔόʔ/Πϯελϯεͷ૿Ճ • σϓϩΠɺϓϩϏδϣχϯάͷޮԽɺࣗಈԽ • Capistrano, AWS CodeDeploy, Stretcher + Consul
• Chef, Ansible, Puppet, Itamae • ϕʔεͱͳΔΠϝʔδʢAMIͳͲʣߏஙͷࣗಈԽ • Packerศར • ʹґଘ͠ͳ͍ΦϖϨʔγϣϯ͕ཧܥ 13
σʔλϕʔε ΫΤϦͷ૿Ճ
σʔλϕʔε ΫΤϦͷ૿Ճ • ϘτϧωοΫREAD͔WRITE͔ • σʔλϕʔεɺςʔϒϧͷ୯ҐͰαʔόΛׂ • γϟʔσΟϯάʢIDϋογϡͷ༨Ͱׂʣ • ΩϟογϡʢMemcached,
RedisͳͲʣͷ׆༻ • ετϨʔδͷIOݶքͷݟۃΊʢΧλϩάεϖοΫΛ৴༻ͤͣܭଌ ͢Δʣ • tmp table, file sortͳͲ͕ൃੜ͍ͯ͠ͳ͍͔ • Dirty PagewaitͷൃੜසΛάϥϑ͔ΒΔ • όοϑΝϓʔϧར༻ͷঢ়گ 15
σʔλϕʔε αΠζͷ૿Ճ
σʔλϕʔε αΠζͷ૿Ճ • ҰᷓΕͯ͠·͏ͱରॲ͕ࠔ • ςʔϒϧͷσʔλɺΠϯσοΫεαΠζ • όοϑΝʔϓʔϧͷΩϟύγςΟ • ϝϞϦΛ૿ͯ͠ϓʔϧαΠζΛ͛Δͱ͍͏ख
• όΠφϦϩάͷ૿Ճɻexpire_logs_daysͷௐʢMySQLͷ߹ʣɻ • AUTO INCREMENTͷ্ݶʹҙʢint21ԯɺbigint922ژʣ • intͩͱςʔϒϧʹΑͬͯ͋ͬͱ͍͏ؒʹୡͯ͠͠·͏ͷͰҙ • ᮢΛઃఆͯ͠ࢹ͓ͯ͘͠ͱ҆৺ 17
ਓһͷ૿Ճ
ਓһͷ૿Ճ • ΞΧϯτ • ΫϥυͷΞΧϯτɺLinuxϢʔβʔΞΧϯτɺGitHubͷΞΧϯτ • AWSͷ߹ɺCloudTrailΛͬͨࠪϩά • LDAPͳͲͰϩάΠϯϢʔβʔɺϗετͷ੍ݶʢηΩϡϦςΟͷ୲อʣ •
ϓϩδΣΫτ৽ͨʹδϣΠϯˍൈ͚ΔϝϯόʔͷରԠʢνΣοΫϦετͷςϯϓϨʔτʣ • Ξϥʔτ • ൪੍ɺΤεΧϨʔγϣϯํ๏ͳͲͷཱ֬ɺPagerDutyͷ׆༻ • ϊϋखॱͷڞ༗ • Wikiͷ׆༻ʢྫ: GitHub Wiki, Qiita Team, Crowiʣ • ߏஙোൃੜ࣌ͷखॱɺϧʔϧΛυΩϡϝϯτԽʢΠϯγσϯτൃੜ࣌ʹྫྷ੩ʹରॲͰ͖ΔΑ͏ʹʣ • 4 eyesͰͷ࡞ۀ֬ೝͯ͠ࣄނࢭʢྫ: DNSߋ৽ɺTerminateɺService StopͳͲʣ • ChatOpsͰ࡞ۀͰ͖Δ͜ͱΛ૿͢ 19
·ͱΊ
·ͱΊ • نʹ͔͔ΘΒͣجຊΛ͔ͬ͠Γͱ • ى͖͍ͯΔ͜ͱΛਖ਼͘͠Ѳ͢Δ͜ͱɺΠϝʔδͰ͖Δ͜ͱ • نʹൺྫͯ͠࡞ۀྔ͕૿͑ͳ͍Α͏ʹ͢Δ͜ͱ • ਓ͕૿͑ͨͱ͖ʹ࡞ۀෛՙ͕ࢄ͞ΕΔΑ͏ʹϊϋखॱΛల։͢Δ͜ͱ •
େن͡Όͳͯͬͨ͘΄͏͕͍͍͜ͱଟ͍ • ؒืूத https://xflag.com/recruit/ 21
Thank you!