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
150
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
3
2k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
240
An Efficient Incident Response Training with AI / SRE NEXT 2024 Sponsor Session
rrreeeyyy
1
5.5k
カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy
rrreeeyyy
4
2.4k
信頼性の育て方 / mackerel-meetup-15
rrreeeyyy
10
2.7k
SRE の歩き方・進め方 / sre-walk-through-procedure
rrreeeyyy
0
8.9k
「信頼性」を保ちつつ大規模サービスをリニューアルする / cookpad-tech-kitchen-service-embedded-sres
rrreeeyyy
11
12k
Cookpad and Prometheus
rrreeeyyy
6
21k
Other Decks in Technology
See All in Technology
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
390
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
240
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.1k
人工衛星のファームウェアをRustで書く理由
koba789
15
7.8k
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
AWSで始める実践Dagster入門
kitagawaz
1
610
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
160
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Typedesign – Prime Four
hannesfritz
42
2.8k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Statistics for Hackers
jakevdp
799
220k
Building Adaptive Systems
keathley
43
2.7k
Speed Design
sergeychernyshev
32
1.1k
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