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
6
2.9k
大規模になったサービスでやるべき基本的なこと
2017年2月7日
【DMM GAMES主催!】「複雑・大規模webサービスを支える技術勉強会」
Isao Shimizu
February 07, 2017
Tweet
Share
More Decks by Isao Shimizu
See All by Isao Shimizu
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
280
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
1k
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
5
2.3k
約10年間MIXIのインフラを 支えてきたPagerDutyの活用事例 / PagerDuty on Tour 2024
isaoshimizu
6
1.2k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
2
1.8k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
18
9.1k
今年1年のEKS運用振り返り/3-shake SRE Tech Talk
isaoshimizu
2
400
ポストモーテムの基礎知識と最新事例 / Fundamentals of Postmortem
isaoshimizu
12
3.2k
全世界1,800万人が利用する「家族アルバム みてね」におけるNew Relic活用法 / FutureStack Tokyo 2023
isaoshimizu
1
600
Other Decks in Technology
See All in Technology
20251102 WordCamp Kansai 2025
chiilog
1
550
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
1
480
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
3
540
激動の2025年、Modern Data Stackの最新技術動向
sagara
0
890
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
1
690
日本のソブリンAIを支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
130
設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
kenichirokimura
1
150
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
1.9k
DMARCは導入したんだけど・・・現場のつぶやき 〜 BIMI?何それ美味しいの?
hirachan
1
160
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
120
30分でわかる!!『OCI で学ぶクラウドネイティブ実践 X 理論ガイド』
oracle4engineer
PRO
1
120
触れるけど壊れないWordPressの作り方
masakawai
0
680
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
How STYLIGHT went responsive
nonsquared
100
5.9k
Building Applications with DynamoDB
mza
96
6.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
910
Documentation Writing (for coders)
carmenintech
76
5.1k
It's Worth the Effort
3n
187
28k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Faster Mobile Websites
deanohume
310
31k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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!