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.8k
大規模になったサービスでやるべき基本的なこと
2017年2月7日
【DMM GAMES主催!】「複雑・大規模webサービスを支える技術勉強会」
Isao Shimizu
February 07, 2017
Tweet
Share
More Decks by Isao Shimizu
See All by Isao Shimizu
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
570
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
4
240
約10年間MIXIのインフラを 支えてきたPagerDutyの活用事例 / PagerDuty on Tour 2024
isaoshimizu
6
950
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
1.6k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
18
8.8k
今年1年のEKS運用振り返り/3-shake SRE Tech Talk
isaoshimizu
2
320
ポストモーテムの基礎知識と最新事例 / Fundamentals of Postmortem
isaoshimizu
11
2.7k
全世界1,800万人が利用する「家族アルバム みてね」におけるNew Relic活用法 / FutureStack Tokyo 2023
isaoshimizu
1
450
『家族アルバム みてね』で計測しているSLIの事例 / SLI as measured in FamilyAlbum
isaoshimizu
3
720
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
180
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
980
フルカイテン株式会社 採用資料
fullkaiten
0
40k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
TypeScript、上達の瞬間
sadnessojisan
46
13k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Practical Orchestrator
shlominoach
186
10k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Become a Pro
speakerdeck
PRO
25
5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
We Have a Design System, Now What?
morganepeng
50
7.2k
Happy Clients
brianwarren
98
6.7k
What's in a price? How to price your products and services
michaelherold
243
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
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!