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
130
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
3
1.6k
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.8k
「信頼性」を保ちつつ大規模サービスをリニューアルする / cookpad-tech-kitchen-service-embedded-sres
rrreeeyyy
11
12k
Cookpad and Prometheus
rrreeeyyy
6
21k
Other Decks in Technology
See All in Technology
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
300
Claude Code x Androidアプリ 開発
kgmyshin
1
570
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
2
320
Webアクセシビリティ入門
recruitengineers
PRO
1
240
夢の印税生活 / Life on Royalties
tmtms
0
280
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
420
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
190
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Postman MCP 関連機能アップデート / Postman MCP feature updates
yokawasa
0
150
TypeScript入門
recruitengineers
PRO
12
2.9k
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
340
Featured
See All Featured
KATA
mclloyd
32
14k
Gamification - CAS2011
davidbonilla
81
5.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
A Tale of Four Properties
chriscoyier
160
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Scaling GitHub
holman
462
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Done Done
chrislema
185
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Designing Experiences People Love
moore
142
24k
It's Worth the Effort
3n
187
28k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
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