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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Isao Shimizu
February 07, 2017
Technology
3k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
大規模になったサービスでやるべき基本的なこと
2017年2月7日
【DMM GAMES主催!】「複雑・大規模webサービスを支える技術勉強会」
Isao Shimizu
February 07, 2017
More Decks by Isao Shimizu
See All by Isao Shimizu
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
240
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
390
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
1.1k
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
5
4.5k
約10年間MIXIのインフラを 支えてきたPagerDutyの活用事例 / PagerDuty on Tour 2024
isaoshimizu
6
1.3k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
2
1.9k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
18
9.2k
今年1年のEKS運用振り返り/3-shake SRE Tech Talk
isaoshimizu
2
460
ポストモーテムの基礎知識と最新事例 / Fundamentals of Postmortem
isaoshimizu
12
3.4k
Other Decks in Technology
See All in Technology
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.7k
第3回しろおびセキュリティスポンサーセッション
log0417
0
160
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
140
システム思考で問題に対処する
yussak
0
200
Flutterをカメラで動かしたかった話
sony
1
130
ホームラボ紹介
y_sera15
0
120
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
SmartHR Engineering Team Deck
smarthr
1
950
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
6
2.1k
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
970
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
200
Music & Morning Musume
bryan
47
7.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
470
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
540
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
680
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!