Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
エンジニアリングをちゃんとやる あるいは 人類の平和 について / wsa02-rrreeeyyy
rrreeeyyy
May 12, 2018
Technology
13
2.6k
エンジニアリングをちゃんとやる あるいは 人類の平和 について / wsa02-rrreeeyyy
第 2 回 Web System Architecture 研究会で(なぜか)招待講演をさせていただいたときの資料です
rrreeeyyy
May 12, 2018
Tweet
Share
More Decks by rrreeeyyy
See All by rrreeeyyy
SRE の歩き方・進め方 / sre-walk-through-procedure
rrreeeyyy
0
6.3k
「信頼性」を保ちつつ大規模サービスをリニューアルする / cookpad-tech-kitchen-service-embedded-sres
rrreeeyyy
11
10k
Cookpad and Prometheus
rrreeeyyy
6
19k
SRE-Lounge-8-Cookpad-Microservice-Architecture-Overview
rrreeeyyy
5
4.5k
A survey of anomaly detection methodologies for web system
rrreeeyyy
5
870
「自立」したWebシステムを創る。自分の好きなことをする世界を目指して。/ ipsj-one-2018-rrreeeyyy
rrreeeyyy
3
1.5k
Web サービスの信頼性と運用の自動化について / iot40-rrreeeyyy
rrreeeyyy
12
6.9k
SRE at Cookpad
rrreeeyyy
1
1k
Prometheus 実践入門 #hbstudy 79 / introduction-to-prometheus-practice
rrreeeyyy
16
2.8k
Other Decks in Technology
See All in Technology
エンタープライズ領域でのブロックチェーン・インターオペラビリティの発展 / Enterprise Blockchain Interoperability
gakumura
0
100
PCL (Point Cloud Library)の基本となぜ点群処理か_2023年_第2版.pdf
cvmlexpertguide
0
120
インフラ技術基礎勉強会 開催概要
toru_kubota
0
120
20230121_データ分析系コミュニティ_サテライト企画
doradora09
0
350
マイクロサービス宣言から8年 振り返りとこれから / Eight Years After the Microservices Declaration A Look Back and A Look Ahead
eisuke
2
120
Oktaの管理者権限を適切に移譲してみた
shimosyan
2
230
マネーフォワードクラウドを支える事業者基盤
machisuke
0
220
plotlyで動くグラフを作る
kosshi
0
580
ERC3525 Semi-Fungible token
sbtechnight
0
330
エアドロップ for オープンソースプロジェクト
epicsdao
0
160
小さなお葬式をAWSに移行したお話
moriryouta
2
150
なぜ変化を起こすのが難しいのか? - 数年以上にわたって難しさに向き合い・考え取り組んできたこと / The reason why changing organization is so hard - What I thought and faced for more than several years
iwashi86
26
17k
Featured
See All Featured
The Mythical Team-Month
searls
210
40k
4 Signs Your Business is Dying
shpigford
171
20k
What’s in a name? Adding method to the madness
productmarketing
12
1.9k
Adopting Sorbet at Scale
ufuk
65
7.8k
Ruby is Unlike a Banana
tanoku
93
9.5k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.1k
The Pragmatic Product Professional
lauravandoore
21
3.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
254
12k
For a Future-Friendly Web
brad_frost
166
7.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
Practical Orchestrator
shlominoach
178
8.9k
Unsuck your backbone
ammeep
659
56k
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