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
エンジニアリングをちゃんとやる あるいは 人類の平和 について / wsa02-rrreeeyyy
Search
rrreeeyyy
May 12, 2018
Technology
14
3.1k
エンジニアリングをちゃんとやる あるいは 人類の平和 について / wsa02-rrreeeyyy
第 2 回 Web System Architecture 研究会で(なぜか)招待講演をさせていただいたときの資料です
rrreeeyyy
May 12, 2018
Tweet
Share
More Decks by rrreeeyyy
See All by rrreeeyyy
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
180
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
3
2.2k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
250
An Efficient Incident Response Training with AI / SRE NEXT 2024 Sponsor Session
rrreeeyyy
1
5.7k
カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy
rrreeeyyy
4
2.5k
信頼性の育て方 / mackerel-meetup-15
rrreeeyyy
10
2.8k
SRE の歩き方・進め方 / sre-walk-through-procedure
rrreeeyyy
0
8.9k
「信頼性」を保ちつつ大規模サービスをリニューアルする / cookpad-tech-kitchen-service-embedded-sres
rrreeeyyy
11
13k
Cookpad and Prometheus
rrreeeyyy
6
21k
Other Decks in Technology
See All in Technology
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
140
重厚長大企業で、顧客価値をスケールさせるためのプロダクトづくりとプロダクト開発チームづくりの裏側 / Developers X Summit 2025
mongolyy
0
140
re:Invent2025 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
140
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
55
18k
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
210
マルチドライブアーキテクチャ: 複数の駆動力でプロダクトを前進させる
knih
0
440
大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用 / JSConf JP 2025
shoota
0
190
LINEスキマニ/LINEバイトにおけるバックエンド開発
lycorptech_jp
PRO
0
290
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
10
3.6k
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
3
840
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
270
Devoxx Morocco 2025 - Like Spring but faster: The new Java Jedi
edeandrea
PRO
0
100
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
We Have a Design System, Now What?
morganepeng
54
7.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How to Ace a Technical Interview
jacobian
280
24k
RailsConf 2023
tenderlove
30
1.3k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
930
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Transcript
"ΤϯδχΞϦϯάΛͪΌΜͱΔ" ͋Δ͍ "ਓྨͷฏ" ʹ͍ͭͯ ΫοΫύουגࣜձࣾ ΠϯϑϥετϥΫνϟʔ෦ SRE άϧʔϓ ٢ ཽଠ
( @rrreeeyyy ) ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 1
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 2
!SSSFFFZZZ !SSSFFFZZZ IUUQTSSSFFFZZZDPN :PTIJLBXB3ZPUB Me • Yoshikawa Ryota ( @rrreeeyyy
[reɪ] ) • גࣜձࣾϋʔτϏʔπ (2010/11 ʙ 2016/12) • MSP ࣄۀ෦ ӡ༻{ελοϑ,ΤϯδχΞ} • ΫοΫύουגࣜձࣾ (2017/01 ʙ) • ΠϯϑϥετϥΫνϟʔ෦ SRE άϧʔϓ • ڵຯྖҬ • ϞχλϦϯάɾ࣌ܥྻσʔλϕʔε • ࢄγεςϜɾϩʔυόϥϯα • ࣍ճී௨ͷൃදͰࢀՃ͢Δͧ!! ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 3
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 4
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 5
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 6
[࠶ܝ] Site Reliability Engineering ͱ • αΠτͷ৴པੑͷશͯʹൣғΛ࣋ͭɺͱ͢ΔΤϯδχΞϦϯάख๏ • ಛʹɺιϑτΣΞɾγεςϜΤϯδχΞϦϯάΛ༻͍ͯ՝Λղܾ͢Δ •
ྫ͑ɺύϑΥʔϚϯε • ύϑΥʔϚϯεʹ͕͋Δίʔυ SRE ͕ࣗίʔυΛॻ͍ͯमਖ਼͢Δ • ྫ͑ɺεέʔϥϏϦςΟɾΞϕΠϥϏϦςΟ • ਓؒʹΑΔखಈͷ࡞ۀΛίʔυʹΑΓࣗಈԽ͢Δ • نΞΫηε͕૿େͯ҆͠ఆͯ͠αʔϏεΛఏڙͰ͖Δঢ়ଶʹ͢Δ • ΠϯϑϥΤϯδχΞͷൣғ͕૿େͨ͠தͰ͋Δछɺ৬Λ࠶ఆٛͨ͠ͱଊ͍͑ͯΔ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 7
[࠶ܝ] ӡ༻ͷݱ͔Βݟͨݚڀɾจͷੈք • ΤϯδχΞϦϯάΛͪΌΜͱΔࣄ͕ݱϨϕϧͰධՁ͞ΕΔΑ͏ʹ • ͜ͷจ຺ͷҰͭͱͯ͠ SRE ͷΑ͏ͳख๏ɾ৬छ͕ग़͖ͯͨͱ͍͏ཧղ • จΛॻ͍ͨΓಡΜͰཧղɾ࣮͢Δࣄ͕ධՁ͞ΕΔΑ͏ʹͳ͖ͬͯͨ
• ࣮ࡍͷӡ༻ͷݱͰಡΜͰཧղ͢Δࣄඞཁʹͳ͖ͬͯͨ • ٕज़બఆͷࢦඪͷҰͭͱͯ͠ϛυϧΣΞͷڍಈͷཧղͳͲ • ͍ΘΏΔݚڀ։ൃͷΑ͏ͳ෦Ͱͳͯ͘ৗతʹߦ͏Α͏ʹ • ଟ͘ͷٕज़اۀͰӡ༻ɾϛυϧΣΞͷจ͕ଟ͘ग़ͯ͘ΔΑ͏ʹ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 8
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 9
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 10
จΛެ։͢Δ͜ͱͰ༏Ґੑ͕ൃੜ͢ΔΑ͏ʹ • Google, Amazon, Facebook, Ne3lix... • ଞʹେখؔΘΒ༷ͣʑͳاۀ͔Βจ͕ग़͍ͯΔ • USENIX
ͷΧϯϑΝϨϯεͰٕज़اۀ͕ੵۃతʹൃද • FAST, OSDI, NSDI, LISA, Security ... • ΫϥυαʔϏεͷ෦࣮ͷϛυϧΣΞʹؔΘΒͣจ͕ग़Δ • 1 ΤϯδχΞͰจΛಡΉ͜ͱͰΫϥυαʔϏεɾϛυϧΣΞͷબఆΛߦ͏ • ݚڀΛ࣮ӡ༻Ͱ͑ΔΑ͏ʹ࣮͢Δ͜ͱͰޭͨ͠ Hashicorp ͷΑ͏ͳྫ͋Δ • จΛ௨ٕͯ͡ज़ΛΦʔϓϯʹ͢Δࣄ͕اۀɾίϛϡχςΟͷ༏Ґੑʹܨ͕Δ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 11
Φʔϓϯͳϓϩηεͷݚڀɾจ͕ੈքΛม͑Δ • ػցֶशͳͲͷจ຺Ͱ arXiv Ͱͷจϕʔεͷใަ͕Μ • ͍͍͢͝Ͱٕज़͕ਐา͍ͯ͘͠ͷΛͷͨΓʹग़དྷΔ • ͍ΘΏΔԾ௨՟ϒʔϜͷى͜Γͨͬͨ 9
ϖʔδͷจ͔Β • h*ps:/ /bitcoin.org/bitcoin.pdf • ϙΞϯΧϨ༧ɾABC ༧ͷΑ͏ͳֶͷະղܾ 1 ͭͷΦʔϓϯͳจ͔Βղܾ • h*ps:/ /arxiv.org/abs/math/0211159 • h*p:/ /www.kurims.kyoto-u.ac.jp/~moHzuki/Inter-universal%20Teichmuller%20Theory%20I.pdf • ʰՀཟͱόβʔϧʱͷݚڀɾจ൛͕ى͖ͭͭ͋ΔͷͰͳ͍͔ʁ • "Given enough eyeballs, all bugs are shallow" ݚڀɾจͷੈքͰద༻ՄೳͳͷͰͳ͍͔ʁ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 12
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 13
վΊͯ: Web ΤϯδχΞͷੈքʹى͖ͭͭ͋Δ͜ͱ • ݚڀɾจ͕ΦʔϓϯʹͳΓݱϨϕϧͰऔΓೖΕΒΕ͡Ίͨ • اۀίϛϡχςΟʹͱͬͯެ։͢Δ͜ͱͷ༏Ґੑ͋ΔͨΊ • Ұݸਓͱͯ͠ެ։ɾऔಘ͕༰қͱͳΓશମͱͯ͠ͷϨϕϧ্͕ͨ͠ •
ݚڀɾจ͕લఏͱͳΓΞʔΩςΫνϟ͕ਐา͍ͯ͘͠Α͏ʹͳ͖ͬͯͨ • ෳࡶͱ͞Ε͍͕ͯͨԿΒ͔ͷݚڀख๏Ͱ͋ΔఔղܾՄೳʹͳΔ • ϛυϧΣΞΫϥυαʔϏεɺ༷ʑͳݚڀɾจΛݟͯબΔ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 14
վΊͯ: Web ΤϯδχΞͷੈքʹى͖ͭͭ͋Δ͜ͱ • ཪΛฦͤ؆୯ͳࣄͲΜͲΜՁ͕ബΕͯ͘ΔΑ͏ʹͳͬͨ • ϛυϧΣΞͷઃఆΛͯ͠ɺͨͩಈ͔ͤΔ͚ͩͰμϝͳ࣌ʹͳͬͨ • Ͳ͏͍ͬͨઃఆͳͷ͔ʁ͜ͷઃఆʹ͢Δͱͳͥྑ͍ͷ͔ʁ •
ਖ਼͍͠ཧɾίʔυϨϕϧͰਖ਼֬ʹཧղ͍ͯ͠Δ͜ͱʹҙຯ͕͋Δ • ෳࡶԽ͢ΔதͰɺυϝΠϯߋʹࡉ͔͘ࡉԽ͞ΕΔΑ͏ʹͳͬͨ • ͋Δఔ·ͰڊਓͷݞʹΕΔ͕ɺ࠷దԽͷͨΊʹ࡞ΓࠐΈ͕ඞཁ • Ͳͷ "ڊਓ" ʹΔͷ͔ʁ"ڊਓ" ΛͲ͏͍͜ͳ͔͢ʁͱ͍͏ٕྔඞཁ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 15
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 16
"ΤϯδχΞϦϯάΛͪΌΜͱΔ" • "ͪΌΜͱΔ" ༷ʑ͋Δ͕...ྫ͑ "ͪΌΜͱͯ͠Δͳ͋" ͱ͍͏ಉ྅࣍ͷ͜ͱ͕Ͱ͖͍ͯΔ • ৫ϛυϧΣΞͷഎܠΛਖ਼͘͠ѲͰ͖Δ • ৫ϛυϧΣΞͷΛࣗΒൃݟͰ͖Δ
• ৫ϛυϧΣΞͷΛղܾ͢Δख๏ΛఏҊͰ͖Δ • ఏҊͨ͠ख๏ΛࣗΒ࣮ફɾ࣮ͨ͠ΓͰ͖Δ • ఏҊͨ͠ख๏Λ࣮ફɾ࣮ͨ݁͠ՌΛଞख๏ͷ݁Ռͱൺֱ͠ߟͰ͖Δ • ্هͷ߲ΛཧతͰޡΓͷগͳ͍จষʹ·ͱΊΔ͜ͱ͕Ͱ͖Δ • ·ͱΊͨจষɾ࣮ͷ݁ՌΛެ։͠ΦʔϓϯͳͰٞ͠վળͰ͖Δ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 17
"ΤϯδχΞϦϯάΛͪΌΜͱΔ" • ݚڀɾจͷख๏ʹͱ͍ͯۙ • ࣮ࡍͷۀͱݚڀɾจͷڥքݱϨϕϧͰᐆດʹͳ͖ͬͯͨ • ࣮ࡍʹձࣾͰԿ͔େ͖ͳ͜ͱΛΔͱ͖ Design Doc Λॻ͍͍ͯΔ
• খ͞ͳ͜ͱΛΔͱ͖ GitHub ͷ Issue PR Ͱٞɾ࣮Λߦ͏ • Ͳ͜·ͰຊؾͰߟ͑ൈ͍ͯɺٞͯ͠ɺखΛಈ͔ͤΔ͔ɺͱ͍͏ͱ͜Ζ͕伴ʹͳΓͦ͏ • "ΤϯδχΞϦϯάΛͪΌΜͱΔ" ͕Ͱ͖ΔͱׂͱͲͷͰ௨༻͢Δ • ͦͷͳ͔Ͱ༷ʑͳͷࣝΛऔΓೖΕͭͭઐΛਂԽͤ͞ΒΕΔ • WSA ݚͷΑ͏ͳ "ͪΌΜͱΔ" Φʔϓϯͳ͕͋Δ͜ͱૉΒ͍͠ͱࢥ͏ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 18
ͪΌΜͱΔɺͷ࿈Λͭ͘Δ • ͩΕ͔͕ΦʔϓϯͳͰ "ͪΌΜͱΔ" ͜ͱͰ ... • ٞʹࢀՃͨ͠ਓ "ͪΌΜͱΔ" ...
• ͦͷਓ͕·ͨ "ͪΌΜͱΔ" ... • ΈΜͳͪΌΜͱͰ͖Δʂ • ੈքϨϕϧͰٕज़ͷਐา͕ૣ͘ͳΔͷͰɺͱߟ͍͑ͯΔ • ͔ͤͬ͘ΤϯδχΞͳΜ͔ͩΒٕज़ͰੈքΛม͍͑ͨ • ٕज़͕ਐา͢ΕੈքฏʹͳΔʂ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 19
! ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) |
Yoshikawa Ryota ( @rrreeeyyy ) 20
One more things... ୈ 2 ճ Web System Architecture ݚڀձ
(2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 21
ͳͥΔͷ͔ ຊؾͰߟ͑ͯΈΔ • ;ͱཱͪࢭ·ͬͯ ͳͥ͜ΕΛΔͷ͔ ਂ͘ߟ͑ͯ͠ΈΔ • ͳٕͥज़ΛֶͿͷʁͳͥݚڀΛ͢Δͷʁ • ୯ʹ໘ന͍͔Βʁࣄ͔ͩΒʁ৯͍ͯͨ͘Ί͚ͩʁ
• ͜ͷٕज़ɾݚڀɾΞʔΩςΫνϟ͕࣮ݱͨ͠ઌʹͳʹ͕͋ΔͷͩΖ͏͔ʁ • ࣮ݱͨ͠ੈքͰɺࣗͲ͏ͳ͍͍ͬͯͨͷͩΖ͏͔ʁ • ࣮ݱͨ͠ੈքͰɺΈΜͳͲ͏ͳ͍ͬͯΔͷͩΖ͏͔ʁ • "ͪΌΜͱΔ" ͷ͍͕͠ɺ࠳ંͦ͠͏ʹͳͬͨͱ͖ࣗʹྗΛ༩͑ͯ͘ΕΔ • ΈΜͳ͕ਖ਼ࣗ͘͠ͷ৴೦Λٕ࣋ͬͯज़Λਐาͤ͞Δ͜ͱ͕ਓྨͷฏͳͷͰʁ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 22
ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa
Ryota ( @rrreeeyyy ) 23
"ͪΌΜͱΔ" + "ͳͥΔͷ͔" = ୈ 2 ճ Web System Architecture
ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 24
·ͱΊ • ҰݸਓͷݱϨϕϧ͔Βݟͨ࠷ۙͷۀքͷྲྀΕʹ͍ͭͯ • ݚڀจΛϕʔεʹͨ͠ख๏͕ٞ૿͖͍͑ͯͯΔ • Ұਓͷॻ͍ͨจ͕Φʔϓϯͳʹग़ͯੈքΛม͑Δ͜ͱ • Web ΤϯδχΞʹى͖ͭͭ͋Δ͜ͱʹ͍ͭͯ؆୯ʹߟ
• ؆୯ͳࣄɾ಄ΛΘͳ͍ࣄՁ͕ࣦΘΕ͍ͯ͘ • "ͪΌΜͱΔ" ͜ͱ͕ඇৗʹେࣄʹͳ͍ͬͯ͘ͱ༧ • "ͪΌΜͱΔ" ͨΊʹ "ͳͥΔͷ͔" ͷ࣠Λ࣋ͭ͜ͱͰਓྨ͕ฏʹͳΔ͔ ୈ 2 ճ Web System Architecture ݚڀձ (2018/05/12) | Yoshikawa Ryota ( @rrreeeyyy ) 25