Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自然のごとく複雑化したウェブシステムの運用自律化に向けて / Experimentable I...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuuki Tsubouchi (yuuk1)
November 24, 2017
Technology
13k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自然のごとく複雑化したウェブシステムの運用自律化に向けて / Experimentable Infrastructure
2017/11/24 人工知能学会 合同研究会 第3回ウェブサイエンス研究会: 自然現象としてのウェブ 招待講演
Yuuki Tsubouchi (yuuk1)
November 24, 2017
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
「アラーティング」の話をしよう— SREconや論文等の最先端とのギャップをみる
yuukit
7
2.1k
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
670
AIスーパーコンピュータにおけるLLM学習処理性能の計測と可観測性 / AI Supercomputer LLM Benchmarking and Observability
yuukit
1
1.2k
SREはサイバネティクスの夢をみるか? / Do SREs Dream of Cybernetics?
yuukit
3
850
SREのためのテレメトリー技術の探究 / Telemetry for SRE
yuukit
14
4k
AIスパコン「さくらONE」の オブザーバビリティ / Observability for AI Supercomputer SAKURAONE
yuukit
2
1.6k
AIスパコン「さくらONE」のLLM学習ベンチマークによる性能評価 / SAKURAONE LLM Training Benchmarking
yuukit
2
1.3k
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
7.7k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
1.9k
Other Decks in Technology
See All in Technology
会社説明資料
persolserverworks
0
9.7k
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
Kiro Crewをはじめよう
kizawa2020
1
120
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
220
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
360
SREでアラート疲れを 解決しよう!
kairim0
1
220
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
450
Running Kotlin + Quarkus with Lambda
nealle
0
230
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
330
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.2k
Deep Data Security 機能解説
oracle4engineer
PRO
2
760
Featured
See All Featured
HDC tutorial
michielstock
2
950
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Ethics towards AI in product and experience design
skipperchong
2
420
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
A Soul's Torment
seathinner
8
3.7k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Writing Fast Ruby
sferik
630
63k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
How STYLIGHT went responsive
nonsquared
100
6.3k
Transcript
ࣗવͷ͝ͱ͘ෳࡶԽͨ͠ ΣϒγεςϜͷӡ༻ࣗԽ ʹ͚ͯ גࣜձࣾͯͳ ௶ ༎थ id:y_uuki / @y_uuk1 2017/11/24
ਓೳֶձ ߹ಉݚڀձ ୈ̏ճΣϒαΠΤϯεݚڀձ: ࣗવݱͱͯ͠ͷΣϒ টߨԋ
id:y_uuki / @y_uuk1 ௶ ༎थ https://yuuk.io/ 2012 େࡕେֶ جૅֶ෦ใՊֶݚڀՊ ଔۀ
2013 େࡕେֶ ใՊֶݚڀՊത࢜લظ՝ఔ ୀֶ ಉ גࣜձࣾͯͳ ৽ଔೖࣾ 2017ݱࡏ γχΞΤϯδχΞɺςοΫϦʔυ
ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ͷݚڀձ
None
http://blog.yuuk.io/entry/ipsjone2017
ෳࡶͳΣϒγεςϜ ͳʹ͔ҟৗ͕ى͖ͯ ࣗવͷؾ·͙ΕʹΈ͑Δ
ݱࡏͷΣϒγεςϜࣗಈԽ͞Εͭͭ͋ ΔҰํͰඇৗʹෳࡶͰ͋Δ ͦͷৼΔ͍·ΔͰࣗવݱͷΑ͏ʹ ײ͡ΒΕΔ ݱͷϝΧχζϜͷѲ͍͠
ෆ໌Ͱ͋Δ͜ͱʮා͞ʯʹͭͳ͕Δ ۙՊֶͷΞϓϩʔνͰ͋Δ ʮ؍ଌͱ࣮ݧʯΛಥ͖٧Ί ΣϒγεςϜͷӡ༻͔Β ਓؒΛղ์͍ͨ͠
ࣗવͷ͝ͱ͘ෳࡶԽͨ͠ ΣϒγεςϜͷӡ༻ࣗԽ ʹ͚ͯ
ຊߨԋͰͷʮ͍ʯ • ٕज़֊ͱͯ͠ͷΣϒγεςϜͷࣗੑͲͷΑ͏ʹ ࣮ݱ͞Ε͍ͯΔͷ͔ɺ͜Ε͔ΒԿΛࢦ͢ͷ͔ • ΣϒγεςϜ͕ɺ͍ΘΏΔෳࡶܥՊֶͷจ຺ʹ͓͚Δ ੜ໋ΧΦεͳͲͷੑ࣭Λຬͨ͢ͷ͔ • ΣϒγεςϜͷࣗԽͷઌʹͳʹ͕͋Δͷ͔
ΞδΣϯμ 1. ΣϒγεςϜͷ৴པੑΛकΔࣄ 2. ΣϒγεςϜӡ༻ͷݱঢ়ͱ՝ 3. ΣϒγεςϜͷࣗӡ༻ͷΞϓϩʔν 4. ӡ༻͔Βղ์͞Εͨͦͷઌʹ͋ΔΣϒαΠΤϯε 5.
·ͱΊ
1. ΣϒγεςϜͷ৴པੑΛ कΔࣄ
ຊߨԋͰͷʮΣϒγεςϜʯ • ΣϒαʔϏεΛߏ͢Δٕज़ཁૉͱཁૉͷͭͳ͕Γ • ٕज़ཁૉͱʮϒϥβʯʮΠϯλʔωοτόοΫϘʔϯʯ ʮΣϒαʔόʯʮσʔλϕʔεʯʮσʔληϯλʔωο τϫʔΫʯͳͲ • ಛʹσʔληϯλʔͷαʔόɾωοτϫʔΫ͓Αͼͦͷ ্Ͱಈ࡞͢ΔΣϒΞϓϦέʔγϣϯΛࢦ͢
• ૯ମͱͯ͠ͷΣϒͰͳ͘ɺ୯Ұ৫͕ఏڙ͢ΔγεςϜ
σʔληϯλʔ Πϯλʔ ωοτ 1$ ਓʑ *P5ػث εϚʔτ ϑΥϯ αʔό αʔό
αʔό σʔληϯλʔ αʔό αʔό αʔό
ΣϒγεςϜͷ։ൃͱӡ༻ • ࣄۀͷ։ൃͱӡ༻ΛʮSoftware Engineerʯ͕୲͏ • ΣϒγεςϜͷ৴པੑΛ୲อ͢ΔͨΊͷ։ൃͱӡ༻Λ ʮSite Reliability Engineer(SRE)ʯ͕୲͏ •
ҰੲલͷදݱʮΣϒΦϖϨʔγϣϯΤϯδχΞʯ • ͞ΒʹͦͷੲɺʮγεςϜཧऀʯʮαʔόཧऀʯ • ࡉ͔ͳࠩҟ͋ΕͲɺେ·͔ͳ2ߏΣϒۀքͰ ීวత
αʔϏε։ൃɾӡ༻ 4PGUXBSF &OHJOFFST γεςϜ։ൃɾӡ༻ 4JUF3FMJBCJMJUZ &OHJOFFST
Site Reliability Engineering HOW GOOGLE RUNS PRODUCTION SYSTEMS Photo by
O’reilly Media / CC by 3.0 http://shop.oreilly.com/product/0636920041528.do https://creativecommons.org/licenses/by/3.0/deed
ΣϒγεςϜͷ৴པੑͱ • γεςϜ͕ఏڙ͢Δͷͷ͏ͪɺ࠷جຊతͳػೳ • γεςϜ͕ٻΊΒΕΔػೳΛɺఆΊΒΕͨ݅ͷԼͰɺఆΊ ΒΕͨظؒʹΘͨΓɺোΛى͜͢͜ͱͳ࣮͘ߦ͢Δ֬ • ʮఆΊΒΕͨ݅ʯʹɺʮԠ͕࣌ؒ˓msҎԼʯͳͲΛؚΉ • ͨͩ͠ɺ100%ͷ৴པੑΛࢦ͍͚ͯ͠ͳ͍
• ϢʔβͷϥοϓτοϓɺࣗͷWifiɺISPͳͲཧ֎ͷγεςϜ͕͋Δ • ৴པੑࣄۀεϐʔυͱͷτϨʔυΦϑʹͳΓ͍͢ [1] [1]: P. O'Connor and A. Kleyner, Practical Reliability Engineering, 5th edition: Wiley, 2012.
৴པੑΛकΔࣄ • αʔϏεͷՄ༻ੑɺϨΠςϯγɺύϑΥʔϚϯεɺޮ ੑɺมߋཧɺϞχλϦϯάɺΩϟύγςΟϓϥϯχϯ άʹΛͭ • ඞཁͳεΩϧଟذʹΘͨΔ • ίϯϐϡʔλΞʔΩςΫνϟɺωοτϫʔΫɺOSɺࢄγες Ϝɺσʔλϕʔεٕज़ɺΣϒαʔόͷઐࣝ
• ιϑτΣΞΤϯδχΞϦϯά [1] [1]: Betsy Beyer, et al.ฤ ᖒాஉ, et al.༁ Skyגࣜձࣾ ۄཽ࢘༁,ʮSRE αΠτϦϥΠΞϏϦςΟΤϯδχΞϦϯά ――Googleͷ ৴པੑΛࢧ͑ΔΤϯδχΞϦϯάνʔϜʯ,ΦϥΠϦʔɾδϟύϯ,2017/08
৴པੑΛकΓͭͭɺඅ༻Λ࠷খʹ͢Δ • ৴པੑΛकΔ͚ͩͰͳ͘ɺਓ݅අσʔληϯλʔඅ༻Λখ ͘͢͞Δ͜ͱٻΊΒΕΔ • ਓ݅අιϑτΣΞʹΑΔӡ༻ޮԽʹΑΓݮ • σʔληϯλʔඅ༻ιϑτΣΞͷ࣮ߦޮͷ্ʹΑΓݮ • ৴པੑΛ੍݅ͱͯ͠ɺඅ༻Λ࠷খʹ͢Δ࠷దԽΛղ
͍͍ͯΔͱ͍͑Δ • ಛʹఆܕ࡞ۀ(τΠϧ)ΛࣗಈԽ͠ɺਓؒͰͳ͘ίϯϐϡʔλ Λεέʔϧͤ͞ΔΑ͏ʹ͢Δ͜ͱ͕େ͖ͳࣄ
ਓؒͱίϯϐϡʔλʹΑΔࣗγεςϜ • Ұൠͷਓʑ͔ΒΈΕɺΣϒγεςϜेʹࣗಈ ࡞͍ͯ͠Δ • ͨͩ͠ɺͦͷཪͰਓؒͷख࡞ۀஅʹΑΓ৴པੑΛ ୲อ͍ͯ͠Δ • ਓ͕ؒͳʹ͠ͳ͚Εɺ͓Αͦ1िؒఔͰ৴པੑ ଛͳΘΕΔ͜ͱ͋Δ
• िظٳՋதΦϯίʔϧ൪Λෑ͘
ΣϒγεςϜ ਓؒ 1$ ਓʑ *P5ػث εϚʔτ ϑΥϯ ίϯϐϡʔλ
ΣϒγεςϜ ਓؒ 1$ ਓʑ *P5ػث εϚʔτ ϑΥϯ ίϯϐϡʔλ
ίϯϐϡʔλͷΈͰγεςϜΛ ӡ༻Ͱ͖Δঢ়ଶʹ͢Δ͜ͱ͕ඪ
2. ΣϒγεςϜӡ༻ͷݱঢ়ͱ ՝
(ຊͷ) ΣϒγεςϜӡ༻ٕज़ ͷมભ
ࣗ࡞αʔό࣌ ~2010 • ळ༿ݪͰύʔπΛߪೖ͠ɺαʔόΛਓ͕Έཱ͍ͯͯͨ • ΈཱͯͨαʔόΛϥοΫʹख࡞ۀͰஔ͍ͯͨ͠ • ࣗ࡞ͰյΕ͍ͨ͢ΊɺԽػߏεέʔϧΞτػ ߏͳͲ৴པੑΛߴΊΔجૅػೳͷਁಁ •
ͷͪʹϕϯμʔαʔόΫϥυҠߦ͕ਐΉ • XenKVMͳͲͷαʔόԾԽٕज़ʹΑΓɺঃʑʹαʔ όΛϞϊ͔Βσʔλͱͯ͠ѻ͏ྲྀΕ͕Ͱ͖͡ΊΔ
Ϋϥυ࣌ 2011ʙ • 2011AWS౦ژϦʔδϣϯ։ઃ͠ɺ༗໊Σϒاۀ͕Ҡߦ ͠͡ΊΔ • ඞཁͳͱ͖ʹ͙͢ʹϋʔυΣΞϦιʔε͕खʹೖΔ࣌ • ैདྷ୯ҐͷϦʔυλΠϜ͕୯Ґʹ •
αʔόΛϓϩάϥϚϒϧʹ࡞͢Δ֓೦͕ొ • ෛՙʹԠͯࣗ͡ಈͰαʔόΛ૿͢ͳͲͷಈతͳΠϯϑϥ ετϥΫνϟΛߏஙͰ͖ΔΑ͏ʹͳ͖ͬͯͨ https://aws.amazon.com/jp/aws_history/details/
ίϯςφܕԾԽٕज़ͷ಄ 2013ʙ • DockerͷొʹΑΓιϑτΣΞͷಈ࡞ڥΛؙ͝ͱ ύοέʔδԽ͠ɺ͞·͟·ͳڥʹͰ͖ΔΑ͏ʹ • VMͱҟͳΓɺඵ୯ҐͰىಈ͢ΔͨΊɺΑΓಈతͳΠϯ ϑϥετϥΫνϟͷߏங͕Մೳʹͳͬͨ • Immutable
Infrastructure(͍ࣺͯαʔό)ͷ֓೦ొ
Site Reliability Engineering(SRE)ͷొ • ʮ৴པੑʯΛ୲อ͢ΔΤϯδχΞϦϯάͱ͍͏ɺԿΛ͢Δ ٕज़ΤϯδχΞͳͷ͔͕͖ͬΓఆٛ͞Εͨ • ͦΕ·ͰɺʮΠϯϑϥʯʮԼճΓʯͳͲͱ͍͏ݺΕํ • ΣϒΦϖϨʔγϣϯͱ͍͏୯ޠ͕͋ͬͨɺΦϖϨʔγϣ
ϯ=ӡ༻ͷΠϝʔδ͕ڧ͍ • SREιϑτΣΞ։ൃΛॏࢹ͍ͯ͠Δ “ΠϯϑϥνʔϜվΊ Site Reliability Engineering (SRE) νʔϜʹͳΓ·ͨ͠” http://tech.mercari.com/entry/2015/11/18/153421
มભ·ͱΊ • ੲϋʔυΣΞΛௐୡ͠ɺख࡞ۀͰϥοΩϯά͍ͯͨ͠ • αʔόͷԾԽٕज़ͷൃୡͱΞϓϦέʔγϣϯಈ࡞ڥύο έʔδϯάͷ֓೦ʹΑΓɺμΠφϛοΫͳΠϯϑϥετϥ Ϋνϟ͕ߏஙՄೳʹ • ιϑτΣΞΤϯδχΞϦϯάΛॏࢹͨ͠৫จԽͷਁಁ •
͜ͷ10ͰιϑτΣΞʹΑΔӡ༻ࣗಈԽ͕େ෯ʹਐΜ Ͱ͖ͨ
ຊා͍ ΣϒγεςϜ
ຊා͍ΣϒγεςϜ • ҟৗ͕ൃੜͯ͠ݪҼ͕Θ͔Βͳ͍͜ͱ͕͋Δ • γεςϜʹର͢Δૢ࡞͕҆શ͔Ͳ͏͔อূ͞Ε͍ͯͳ͍ • ࣗಈԽ͕ਐΜͰ͍Δ͔Βͦ͜ɺෆ໌Ͱ͋Δ͜ͱ͕ҟৗʹ ର͢ΔʮڪාʯΛ͏Ή • γεςϜͷৼΔ͍͕·ΔͰʮࣗવݱʯʹײ͡ΒΕΔ
• ৼΔ͍ͷղ໌ʹଟ͘ͷ࣌ؒΛͱΒΕͨΓɺΘ͟ͱࣗಈ ԽΛආ͚ͯɺਓؒͷஅΛ͞͏ͱ͢Δ͜ͱ͕͋Δ
ຊා͍ΣϒγεςϜӡ༻: ྫ1 • ϋʔυΣΞͷΩϟύγςΟʹ·ͩ༨༟͕͋Δʹ͔͔ΘΒͣɺ 1͋ͨΓͷॲཧೳྗ͕಄ଧͪʹͳΔέʔε • Λࣗಈ૿Ճͤ͞Δͷɺಛఆϊʔυͷଓͷڐ༰ྔΛ ͑ͯ͠·͏ • ϚϧνεϨουϞσϧͷWebαʔόͰɺڞ༗ϝϞϦ্Ͱάϩʔό
ϧϩοΫΛͱ͍ͬͯΔՕॴ͕͋Γɺಉ࣌ॲཧ͕΄΅1 • ScalaͷॲཧܥϨϕϧͷͰಛఆʹ͕͔͔࣌ؒͬͨ
Σϒ αʔό ϦΫΤετ ϩʔυ όϥϯα Ϩεϙϯε σʔλϕʔε αʔό
Σϒ αʔό ϦΫΤετ ϩʔυ όϥϯα Ϩεϙϯε σʔλϕʔε αʔό $16༨͍ͬͯΔ ͷʹੑೳ͕಄ଧͪ
Σϒ αʔό ϦΫΤετ ϩʔυ όϥϯα Ϩεϙϯε σʔλϕʔε αʔό ࣗಈεέʔϧ
Σϒ αʔό ϦΫΤετ ϩʔυ όϥϯα Ϩεϙϯε σʔλϕʔε αʔό ଓ ্ݶʹ͋ͨΔ
αʔό͋ͨΓͷ ଓΛݮΒͯ͠ௐઅ Σϒ αʔό ϦΫΤετ ϩʔυ όϥϯα Ϩεϙϯε σʔλϕʔε αʔό
ੑೳݶք͕Θ͔Βͳ͍ ܥશମͷڍಈΛΓ ੍ޚ͠ͳ͚Ε͍͚ͳ͍
• ࢄσʔλϕʔεͷωοτϫʔΫஅ • ϚελʔɾεϨʔϒͷ2ߏͷσʔλϕʔεαʔό • Ϛελʔ=>εϨʔϒϦΞϧλΠϜʹσʔλΛෳ • Ϛελʔϊʔυ͕μϯ͢ΔͱϑΥϩϫʔϊʔυ͕Ϛε λʔঢ֨ •
ωοτϫʔΫ͕அ͞ΕΔͱɺ྆ํͱϚελʔ • ͲͪΒ͔Ұํσʔλ͕ॻ͖ࠐ·ΕɺҰ؏ੑ͕ͳ͘ͳΔ ຊා͍ΣϒγεςϜӡ༻: ྫ2
Σϒαʔό ϦΫΤετ Ϩεϙϯε Ϛελʔ εϨʔϒ
Σϒαʔό ϦΫΤετ Ϩεϙϯε Ϛελʔ εϨʔϒ அ
Σϒαʔό ϦΫΤετ Ϩεϙϯε Ϛελʔ ྆ํ Ϛ ε λ ʔ Ϛελʔ
Σϒαʔό ϦΫΤετ Ϩεϙϯε Ϛελʔ ֬తʹͲͪΒ͔ ʹॻ͖ࠐΉ Ϛελʔ
ࣗಈԽʹΑΔฐ • අ༻Λগͳ͘͢Δ͜ͱͰɺࣗಈԽԽػߏΛඋ͑Δ͜ͱ Ͱ৴པੑ͕Լ͕Δ͜ͱ͕͋Δ • ࣗಈεέʔϧ͢Δͱผͷ෦͕٧·Δ • ԽػߏʹΑΓɺҰ؏ੑ͕ࣦΘΕΔ͜ͱ͕͋Δ • ܥશମͷਫ਼៛ͳཧղͱΤϥʔέʔεͷ໖ີͳચ͍ग़͕͠ඞཁ
• ࠷ۙίϯϙʔωϯτΛ૿͢ํٕज़͕ਐΜͰ͍Δͨ Ίɺύλʔϯ͕૿େ͠ਓ͕ཧղ͢Δ͜ͱ͕͘͠ͳ͍ͬͯΔ
ΣϒγεςϜͷෳࡶੑ
ෳࡶཁҼͳʹ͔ • ιϑτΣΞґଘؔͷෳࡶ͞ • ࢄγεςϜͱͯ͠ͷෳࡶ͞ • ೖྗύλʔϯͷෳࡶ͞
ιϑτΣΞґଘؔͷෳࡶ͞ • ΣϒγεςϜଟͷιϑτΣΞͷॏͶ߹ΘͤʹΑ Γߏ͞ΕΔ • ݴޠॲཧܥɺOSɺυϥΠόɺڞ༗ϥΠϒϥϦɺϛυϧΣΞɺ ΞϓϦέʔγϣϯϥΠϒϥϦɺΞϓϦέʔγϣϯ • ιϑτΣΞͷΈ߹Θͤ •
όʔδϣϯޓɺϓϩτίϧޓͳͲΛؚΉ
ࢄγεςϜͷෳࡶ͞ • ҎԼͷࢄγεςϜͷલఏ͕͋Γɺཧ๏ଇʹͤΒΕΔ • ϊʔυ(ϋʔυΣΞ)յΕ͏Δ • ωοτϫʔΫஅɾԆ͕͋ΓɺଳҬ༗ݶͰ͋Δ • ͜ΕΒͷΤϥʔ͔Βͷճ෮ػߏෳࡶʹͳΓ͕ͪ •
TCPͷϑϩʔ੍ޚ࠶ૹ੍ޚͳͲ͕Α͍ྫ • σʔλϕʔεʹ͓͍ͯɺωοτϫʔΫஅ͞ΕͯՄ༻ੑͱҰ ؏ੑΛҡ࣋͢Δ͜ͱ͍͠ (CAPఆཧ)
ೖྗύλʔϯͷෳࡶ͞ • ਓؒɺݕࡧΫϩʔϥɺεύϚʔͳͲͷ׆ಈʹԠͯ͡γεςϜͷ ೖྗύλʔϯಥൃతʹมԽ͢Δ • ੍ޚֶͰ͍͏ͱ͜Ζͷ֎ཚ • γεςϜͷڍಈΛ༧ଌ͢Δʹ࠶ݱੑ͕ඞཁ • ͔͠͠ɺΣϒγεςϜʹର͢Δ͋ΔظؒͷೖྗύλʔϯΛશ
ʹ࠶ݱ͢Δ͜ͱ͍͠ • σʔλϕʔεͳͲͷอଘঢ়ଶΛ࣌ͷظؒʹ্ͨ͠Ͱɺೖྗ ύλʔϯΛྲྀ͠ࠐΉ
γεςϜͷෳࡶੑͷ ߹͍
ୈ7ষ ෳࡶੑͷఆٛͱ ଌఆج४
ෳࡶੑͷج४ • αΠζ • Τϯτϩϐʔ • ΞϧΰϦζϜใྔ • ཧਂ •
ྗֶਂ • ܭࢉೳྗ • ౷ܭతͳෳࡶੑ • ϑϥΫλϧ࣍ݩ • ֊
ෳࡶੑͷج४: αΠζ • ͯͳͷγεςϜαΠζ த~େنఔ • αʔϏε: 100+ (෦ؚ͚Ή) •
ϩʔϧ: 1000+ • ϗετ: 1000+ • ϓϩηε/εϨου: 10000+ • SRE: 10ਓऑ • GoogleAmazonେنͰ͓ͦΒ͘100~1000ഒͷαΠζ
֊ - ϓϩάϥϜ࣮ߦ୯Ґ - 10લ • Ϩϕϧ1: ϓϩηε/εϨου • Ϩϕϧ2:
αʔό (ෳͷϓϩηεͷू߹ମ) • Ϩϕϧ3: ϩʔϧ (ΫϥελϩʔυόϥϯαԼͷαʔό܈) • Ϩϕϧ4: αʔϏε: (ϩʔϧ·ͨϚΠΫϩαʔϏεͷू߹ମ) • Ϩϕϧ5: ϓϥοτϑΥʔϜ: (ෳͷαʔϏεͷू߹ମ) • Ϩϕϧ6: Σϒ
֊ - ϓϩάϥϜ࣮ߦ୯Ґ - ࠷ۙ • Ϩϕϧ1: ϓϩηε/εϨου • Ϩϕϧ2:
ίϯςφ • Ϩϕϧ3: αʔό (ෳͷϓϩηεͷू߹ମ) • Ϩϕϧ4: ϩʔϧ (ΫϥελϩʔυόϥϯαԼͷαʔό܈) • Ϩϕϧ5: ϚΠΫϩαʔϏε • Ϩϕϧ6: αʔϏε: (ϩʔϧ·ͨϚΠΫϩαʔϏεͷू߹ମ) • Ϩϕϧ7: ϓϥοτϑΥʔϜ: (ෳͷαʔϏεͷू߹ମ) • Ϩϕϧ8: Σϒ
͋Δଆ໘Ͱ ࠷ۙͷج൫ٕज़ͷมԽʹΑΓ ෳࡶԽ͍ͯ͠Δͱ͍͑Δ
ෳࡶ͕ͨ͞Β͢ͷ • γεςϜͷঢ়ଶ༧ଌ͕ࠔʹͳΓɺͦͷ݁ՌɺਓؒʹஅΛ ʑٻΊΔΑ͏ʹͳΔ • ͜Ε͔Β࣮ࢪ͢Δมߋ͕҆શ͔Ͳ͏͔ΛอূͰ͖ͳ͍ɺ·ͨ อূ͢ΔͨΊʹखؒΛ͔͚ͳ͚Ε͍͚ͳ͍ • ֎ཚͷ࠶ݱ͕͍ͨ͠ΊɺҰख͕͔͔ؒΔ •
͍ͭεέʔϧͷݶքʹ͋ͨΔ͔Θ͔Βͳ͍ • ݶքʹ͋ͨͬͯɺͲ͕͜ϘτϧωοΫ͔Θ͔Βͳ͍ • ΤϯδχΞͷܦݧΛجʹٕͨܳ͠Ͱղܾ͍ͯ͠Δ
ෳࡶ͞ʹ Ͳ͏ର߅͍ͯ͘͠ͷ͔
3.ΣϒγεςϜͷࣗతӡ༻ Ξϓϩʔν
؍ଌ Observation
؍ଌͱ • ΣϒγεςϜͷʮաڈͱݱࡏʯͷঢ়گΛਓؒ/ίϯ ϐϡʔλ͕ѲͰ͖ΔΑ͏ʹ͢Δ • 20ۙ͘લ͔ΒʮࢹʯΛ͢ΔͨΊͷπʔϧ͋Δ • Θ͔Βͳ͍ͷΛΘ͔ΔΑ͏ʹ͢Δ͜ͱͯ͢؍ଌ • ʮࢹ(ping)ɺ࣌ܥྻσʔλͷऩूɺϩάσʔλͷऩ
ूɺߏཁૉͱཁૉͷͭͳ͕ΓɺೖྗͷʯͳͲ
ΣϒγεςϜͷ͞·͟·ͳࢦඪ • ݸʑͷϋʔυΣΞϦιʔεࢦඪ • CPUར༻ɺϝϞϦ༻ྔɺωοτϫʔΫଳҬͳͲ • ݸʑͷϛυϧΣΞ/ΞϓϦέʔγϣϯϦιʔεࢦඪ • εϨουɺΫΤϦɺͪߦྻͷ͞ͳͲ •
ܥશମΛදݱ͢Δࢦඪ • αʔϏεશମͷԠ࣌ؒɺΤϥʔϨʔτͳͲ
Mackerel https://mackerel.io/
αʔόͷϝτϦοΫՄ ࢹԽ
؍ଌ݁ՌΛͱʹͨ͠φΠʔϒͳ੍ࣗޚ • Ϋϥυͷ಄ʹΑΓαʔόͷੜͱഇغΛϓϩάϥϜԽ • ࢦඪͷมಈʹԠͯ͡αʔόͷݸੑೳΛࣗಈௐ • ෆௐϓϩηε/αʔόͷ৽ँ • ύϥϝʔλΤϯδχΞͷܦݧΛݩʹΛઃఆ •
ݱࡏͰɺ͜ͷ͋ͨΓ͕ΣϒγεςϜͷݱͰਁಁதͷٕ ज़Ϩϕϧ • ͨͩ͜͠ͷΑ͏ͳφΠʔϒͳ੍ࣗޚʹ͕ى͖͍͢
ͪߦྻཧΛར༻੍ͨࣗ͠ޚ • ฏۉԠ࣌ؒͱฏۉϦΫΤετΛ؍ଌ͠ɺͦΕΒΛॲ ཧ͢ΔͨΊͷ߹ܭϓϩηε/αʔόΛׂΓग़ࣗ͠ಈௐ Ͱ͖Δ • ࢦඪΛ؍ଌ͚ͭͮ͠ɺ౸ணͱॲཧ͔ΒඞཁͳϦ ιʔεΛܧଓతʹܭࢉ͠ɺௐ͠ଓ͚Δ #SFOEBO(SFHH l4ZTUFNT1FSGPSNBODF&OUFSQSJTFBOEUIF$MPVEz
1SFOUJDF)BMM Ϧτϧͷ๏ଇ: ҆ఆঢ়ଶʹ͋Δܥʹ͓͍ͯɺγεςϜͷฏۉϦΫΤε τLɺฏۉ౸ணλͱฏۉͪ࣌ؒͷੵʹ͍͠ (L=λW)
ͪߦྻཧͷ • ͦͦରΣϒγεςϜͷ౸ண͕Θ͔Βͳ͍ • Ծఆ͢Δͷൣғ֎ͷɺ༧ଌͷͰ͖ͳ͍ಥൃతͳ֎ཚʹରԠ͠ ͮΒ͍ • Θ͔Γ͍͢֎ཚɺྫ͑Yahoo!๒ͳͲ • ֎ཚࣄۀػձͱͳΔ͜ͱ͕͋ΔͨΊɺ͔Β֎ΕͨҟৗͰ
ແࢹͰ͖ͳ͍ • ͨͩ͠ɺఆৗঢ়ଶͰͷΛ༻͍ͯɺΩϟύγςΟϓϥϯχϯά ʹར༻͢Δ͜ͱͰ͖Δ
ϑΟʔυόοΫ੍ޚ ཧ
ϑΟʔυόοΫ੍ޚɺେنͰෳࡶ ͳγεςϜΛɺͨͱ͑γεςϜ͕֎ཚ ʹӨڹΛड͚Α͏ͱɺ͋Δ͍ɺݶ ΒΕͨࢿݯΛ༗ޮར༻ͭͭ͠ɺͦͷੑ ೳΛอͬͯಈ࡞ͤ͞ΔͨΊͷख๏Ͱ͢ɻ Philipp K. Janert ஶ, ʮΤϯδχΞͷͨΊͷϑΟʔυόοΫ੍ޚೖʯ,ΦϥΠϦʔɾδϟύϯ,
2014/07
ϑΟʔυόοΫ੍ޚͷ • ੍ޚରϒϥοΫϘοΫεͰ͋Γɺதෆ໌ͰΑ͍ • SRE͕ΞϓϦέʔγϣϯͷதΛΒͣʹϞχλϦϯά݁ Ռ͚ͩΛΈͯোରԠ͢Δ༷ࢠʹࣅ͍ͯΔ • ͪߦྻཧͰͰ͖ͳ͍μΠφϛΫεΛѻ͑Δ • ݱ࣮ͷΣϒγεςϜͰɺղੳతʹϞσϧΛಋग़͢Δͷ
͍ͨ͠Ίɺύϥϝʔλͷܾఆʹʮ࣮ݧʯʹΑΔܭଌ ͕ඞཁ [1]: େ࡚ ത೭, େنωοτϫʔΫͷ ઃܭɾϞσϧԽɾ੍ޚ, http://www.ieice.org/~netsci/wp-content/uploads/2013/08/NetSci201308_Ohsaki.pdf [1]
ϑΟʔυόοΫ੍ޚͷಋೖΠϝʔδ • ੍ޚೖྗ: αʔόͷɺαʔόͷϝϞϦྔͳͲ • ੍ޚग़ྗ: ϨεϙϯελΠϜɺΤϥʔͳͲ • ੍ޚग़ྗΛࢹ͠ଓ͚ɺඪ͔Β֎ΕͨΒ੍ޚೖྗΛม ߋ͠ɺݩʹ͢Α͏ͳૢ࡞Λ͢Δ
• ੍ޚೖྗʹରͯ͠ୡؔΛద༻͠ɺ੍ޚग़ྗΛಘΔ • ୡؔͷಉఆνϡʔχϯάɺ࣮γεςϜͰԠΛΈΔ ඞཁ͕͋Δ
None
Real Worldͷ ੍ޚཧͷಋೖʹ ࣮Ԡͷσʔλ͕ඞཁ
࣮ݧ Experiment
੍ޚϞσϧͷύϥϝʔλਪఆ • ࣮γεςϜͷ؍ଌ݁ՌʹΑΓɺ੍ޚثͷؔͱύϥϝʔλ Λਪఆ͢Δ • ҟৗݕͷͨΊͷ֬ͷύϥϝʔλΛਪఆ͢ΔͨΊͷ ֶशͳͲ࣮ݧʹؚΉ • ͨͩ͠ɺྫ͑1͋ͨΓͷαʔόͷݶքੑೳͱ͍͏ͷ ࣮ࡍʹݶք·ͰෛՙΛ͔͚ͳ͍ͱΘ͔Βͳ͍͜ͱ͕ଟ͍
• ૉͳൃͩͱɺखಈͰ࣮ݧ͢Δ͜ͱʹͳΔ
࣮ݧΛࣗಈԽ͍ͨ͠
࣮ݧͷࣗಈԽ • ख࡞ۀʹΑΔ࣮ݧਓख͕ඞཁͰ݁ہଓ͖͠ͳ͍ • γεςϜʹʑมߋ͕Ճ͑ΒΕΔͨΊɺ࣮ݧͷܧଓԽ ͕ඞཁ • ࣮ݧΛࣗಈԽ͍ͨ͠ • ࢄγεςϜͷࣗಈ࣮ݧͷ֓೦ͱͯ͠Netflix͕ఏএ͢Δ
Chaos Engineering͕͋Δ
“PRINCIPLES OF CHAOS ENGINEERING”, http://principlesofchaos.org/ Chaos Engineering is the discipline
of experimenting on a distributed system in order to build confidence in the system’s capability to withstand turbulent conditions in production.
Θ͟ͱҟৗΛى͜͢ൃ • αʔόμϯͳͲΘ͟ͱҟৗΛى͜͢͜ͱͰ࣮ݧ͢Δ • ͔͠͠ɺຊ൪ڥͰҟৗΛىͨ͜͠Γɺݶք·ͰෛՙΛ͔͚Δ ͷෆ҆ • ΫϥυίϯςφͳͲݶΓͳ͘ຊ൪ʹ͍ۙڥΛΦϯσϚϯ υʹߏங͢Δٕज़͕ൃୡ͖͍ͯͯ͠Δ •
ຊ൪ڥͷෛՙΛ࠶ݱ͢Δͷ·͍͕ͩ͠… • ࣮ݧڥΛߴʹ࡞͠ഇغ͢Δ͜ͱͰ҆શʹ࣮ݧΛࣗಈԽ͢Δ
੍ޚҎ֎ͷखಈ࣮ݧ
੍ޚҎ֎ͷ࣮ݧ • ಈ࡞ςετ • ෛՙςετ • Τϥʔςετ • ϋʔυΣΞނোωοτϫʔΫԆͷ૿େͳͲ •
ύϥϝʔλνϡʔχϯά • OSͳͲͷύϥϝʔλ(όοϑΝαΠζͳͲ)νϡʔχϯά • ͜ΕΒʹ͍ͭͯࣗಈԽ͢Δ
؍ଌͱ࣮ݧ
؍ͱ࣮ݧͷࣗಈԽ ۙՊֶͷख๏ͷࣗಈԽ
Ծઆԋ៷๏ • (1) ؍ʹج͍ͮͨͷൃݟ (؍ଌ) • (2) Λղܾ͢ΔԾઆͷఏى • (3)
Ծઆ͔Βͷςετ໋ͷԋ៷ • (4) ςετ໋ͷ࣮ݧతݕূ·ͨূ (࣮ݧ) • (5) ςετͷ݁Ռʹجͮ͘Ծઆͷड༰ɺमਖ਼·ͨ์غ ՈܒҰஶʮՊֶֶͷটʯͪ͘·ֶܳจݿ 2015
Ծઆԋ៷๏ͷϧʔϓΛߴʹճ͠ มԽʹదԠ͠ଓ͚ΔγεςϜ
Experimentable Infrastructure
4. ࣗӡ༻ͷนͱΣϒαΠΤ ϯε
ࣗӡ༻ͷͨΊͷେ͖ͳน • ϋʔυΣΞϦιʔε੍ • ༧Ί༻ҙͨ͠ϦιʔεϓʔϧͰ͚͞ΔҎ্ͷෛՙʹ͑ΒΕ ͳ͍ • Ϋϥυʹ্ݶଘࡏ͢Δ • ֎ཚͷେ͖ͳมԽΛ༧Ͱ͖ͳ͍
• αʔόͷ૿ՃͳͲʹσΟϨΠ͕ଘࡏ͢ΔͨΊɺϑΟʔυόοΫ ͕ؒʹ߹Θͳ͍έʔε͋Γ͑Δ • ΣϒαΠΤϯεͷݚڀΛϑΟʔυϑΥϫʔυ੍ޚʹ͑Δ͔
ࣗൃతʹൃల͢ΔαʔϏεͷಛΛଊ͑ɺྫ͑ɺ Web αʔϏε͕ࠓޙൃల͍ͯ͘͠ͷ͔ɺݩؾΛ ͳ͍ͯ͘͘͠ͷ͔ɺͦ͏ͨ͠ঢ়ଶ༧ଌΛࢦ͠ɺ ࣗతͳਓγεςϜͷμΠφϛΫεΛଊ͑Δී วతͳํ๏Λͭ͘ΓɺࣗવՊֶͱͯ͠ͷਓγ εςϜݱͱ͍͏ͷཱ֬Λࢦ͍ͯ͠Δɻ 106 ਓ
ೳɹ31 ר 1 ߸ʢ2016 1 ݄ʣʮΣϒαΠΤϯεݚڀձʢSIG-WebSciʣʯ ൃ
৴པੑΛ੍݅ͱͯ͠ අ༻Λ࠷খʹ͢Δ࠷దԽ ※අ༻ = ਓ݅අ + αʔόɾωοτϫʔΫඅ༻
ࣗӡ༻ • ͜͜·Ͱͷʮࣗʯͷఆٛʮࣗಈम෮ʯʮࣗӡ༻ʯ • ༩͑ΒΕ੍ͨ݅=৴པੑ Λຬͨ͢Α͏ʹࣗಈ࡞͢Δ ͜ͱΛࢦ͍ͯ͠Δ • ৴པੑΛࣗతʹຬͨͤΕɺඅ༻ͷ͏ͪਓ݅අ͋Δఔ ݮͰ͖Δ
• ৴པੑͷ݅ઃఆɺΞʔΩςΫνϟͷܾఆɺιϑτΣΞ ͷޮԽͳͲҎલͱͯ͠ਓͷࣄ
ࣗ։ൃ
ࣗ։ൃ • ࣗతʹඅ༻Λ࠷খԽ͢ΔγεςϜ • ਐԽɾదԠͷ֓೦͕ඞཁ • ࢄγεςϜΞʔΩςΫνϟͷઃܭɾվળ • ιϑτΣΞޮվળͷࣗԽ •
ref. ιϑτΣΞਐԽͷݚڀͳͲ
ΣϒγεςϜෳࡶͰ͋Δ͕ ίϯϐϡʔλ͚ͩͰࣗͨ͠ܥͰͳ͍ ΣϒγεςϜͱ͍͏ਓΛ ࣗવͷΑ͏ʹৼΔΘͤ ਓؒΛӡ༻͔Βղ์͍ͨ͠
͜͜·Ͱ ֶతϞνϕʔγϣϯ
͍͔ͭԕ͍ະདྷͰ ӡ༻͔Βղ์͞ΕͨΒ ԿΛΔͷ͔
༡ΜͰΒ͢
༡ΜͰΒ͢͜ͱʹ ͦΜͳʹڵຯ͕ͳ͍
ʮγεςϜʯ͕͖
ਓͷखΛհͣ͞ʹಈ͖ଓ͚Δ ΣϒγεςϜΛ୳ڀ͢Δ͜ͱͰ ෳࡶͳܥʹର͢Δ౷Ұతͳ๏ଇΛൃݟ͠ ࣗવՊֶߩݙͰ͖Δ͜ͱͳ͍͔
ωοτϫʔΫͷٕज़֊ΛؚΉ Webͷଘࡏͦͷͷ Λ৽͍͠ʮࣗવݱʯͱͯ͠ଊ͑ɺྫ͑ɺͦͷʮੜ ଶܥʯͱͯ͠ͷߏΛ໌Β͔ʹ͢Δ͜ͱͰɺීวతͳ μΠφϛΫεύλʔϯΛ໌Β͔ʹ͠ɺैདྷͷࣗવՊ ֶɾਓจՊֶͷߟ͑Λൃలͤ͞Δ͜ͱΛࢦ͍ͯ͠ Δɻ 106 ਓ
ೳɹ31 ר 1 ߸ʢ2016 1 ݄ʣʮΣϒαΠΤϯεݚڀձʢSIG-WebSciʣʯ ൃ
5. ·ͱΊ
·ͱΊ • ඪγεςϜͷӡ༻͔Βਓ͕ؒղ์͞ΕΔ͜ͱ • ΫϥυͷొͳͲͰӡ༻ʮࣗಈԽʯ͕ਐΜͰ͖͕ͨɺ ʮࣗԽʯʹ͍ͭͯ·ͩ·ͩ͜Ε͔Β • ࣗӡ༻ʹ͚ͯɺۙࣗવՊֶͷํ๏Λώϯτʹ͠ ͨExperimentable InfrastructureߏΛհ
• ࣗӡ༻ͷେ͖ͳนͱΣϒαΠΤϯεͷՄೳੑ
͓·͚
ΣϒγεςϜΞʔΩςΫνϟݚڀձ • ຊʹίϯϐϡʔλωοτϫʔΫͷݚڀձͨ͘͞Μ͋Δ • ΣϒγεςϜͷΞʔΩςΫνϟϦΞϧϫʔϧυͷӡ༻·Ͱؚ Ίͨݚڀձ͕͋·Γͳ͍ • ࠷͍ۙͷใॲཧֶձIOTݚڀձ • ւ֎ͩͱUSENIXͷLISASREconͳͲ
• ͦ͜ͰݚڀձΛ্ཱͪ͛Α͏ͱ͍ͯ͠Δ => 12/23@ژ • ϋογϡλά #wsaݚ
ΣϒΦϖϨʔγϣϯٕܳ Ͱ͋ΓՊֶͰͳ͍ John Allspaw,Jesse Robbinsฤ, ֯ య༁ ΣϒΦϖϨʔγϣϯʔʔαΠτӡ༻ཧͷ࣮ફςΫχοΫ, ΦϥΠϦʔɾδϟύϯ, 2011/05
ٕ͔ܳΒՊֶ