Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Before Chaos Engineering
Search
Hazumi Ichijo
May 20, 2019
Programming
1
900
Before Chaos Engineering
golang.tokyo#24
https://golangtokyo.connpass.com/event/129067/
Hazumi Ichijo
May 20, 2019
Tweet
Share
More Decks by Hazumi Ichijo
See All by Hazumi Ichijo
RailsとRidgepoleの マイグレを120倍早くする
hazumirr
0
290
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
1.3k
病院の情報フローを理解して、 予約〜会計の見え方が変わった話
hazumirr
1
1.7k
Rubyのコード削除したい時 僕がやること
hazumirr
0
240
テーブル駆動テストと状態
hazumirr
5
2.1k
オンラインテストしようと思った その日に開始できる環境を目指して
hazumirr
0
1k
推薦によるプロダクト改善とマイクロサービスが噛み合った話
hazumirr
2
4.5k
ChatGPTで僕が知っていることまとめ
hazumirr
3
3.1k
プロダクトチームとどう 協業し分析環境を改善するか
hazumirr
2
1.6k
Other Decks in Programming
See All in Programming
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
360
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
340
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
750
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
440
Graviton と Nitro と私
maroon1st
0
110
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.7k
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
510
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
AIコーディングエージェント(Gemini)
kondai24
0
240
認証・認可の基本を学ぼう前編
kouyuume
0
260
Python札幌 LT資料
t3tra
3
540
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Being A Developer After 40
akosma
91
590k
Navigating Team Friction
lara
191
16k
Designing Experiences People Love
moore
143
24k
A Tale of Four Properties
chriscoyier
162
23k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Transcript
©2019 Wantedly, Inc. Chaos Engineeringͷ खલͷ golang.tokyo #24 May 20,
2019 - Hazumi Ichijo (rerost/hazumirr) ΞϓϦέʔγϣϯΤϯδχΞ͚ͩͰͰ͖Δ͜ͱ
©2018 Wantedly, Inc. ࣗݾհ Ұᑍ!IB[VNJSS!SFSPTU 4FSWFS4JEF&OHJOFFSJO8BOUFEMZ (P 3BJMT 3FBDUʜ ग़ւಓ
©2019 Wantedly, Inc. 1. αʔϏε͕ෆ҆ఆͳ࣌ɺͲΜͳӨڹ͕ͰΔ͔ 2. ґଘ͢ΔαʔϏε͕ෆ҆ఆͳ࣌ɺͲΜͳӨڹ͕ͰΔ͔
©2019 Wantedly, Inc. 1. αʔϏε͕ෆ҆ఆͳ࣌ɺͲΜͳӨڹ͕ͰΔ͔ 2. ґଘ͢ΔαʔϏε͕ෆ҆ఆͳ࣌ɺͲΜͳӨڹ͕ͰΔ͔ => Ѳ͍ͯ͠ΔͭΓ͕ͩͦΕຊ͔ʁ
©2019 Wantedly, Inc.
©2019 Wantedly, Inc. ͦ͏ͩChaos Engineeringͩ
©2019 Wantedly, Inc. ͦͦChaos Engineeringͱʁ
©2019 Wantedly, Inc. > ΧΦεΤϯδχΞϦϯάɺࢄγεςϜʹ͓͍ͯγεςϜ͕ෆ҆ ఆͳঢ়ଶʹ͑Δ͜ͱͷग़དྷΔڥΛߏங͢ΔͨΊͷݕূͷن https://principlesofchaos.org/?lang=JAcontent#
©2019 Wantedly, Inc. 1. Πϯελϯε͕μϯ͢Δ 2. DB͕٧·ΔɾΞΫηεͰ͖ͳ͘ͳΔɹ 3. ґଘ͢ΔଞͷαʔϏε͕ෆ҆ఆʹͳΔ etc…
ෆ҆ఆͳঢ়ଶͱ
©2019 Wantedly, Inc. 1. αʔϏε͕ෆ҆ఆͳ࣌ɺͲ͏͍ͬͨӨڹ͕ͰΔ͔ 2. ґଘ͢ΔαʔϏε͕ෆ҆ఆͳ࣌ɺͲΜͳӨڹ͕ͰΔ͔ Γ͍ͨ͜ͱ
©2019 Wantedly, Inc. αʔϏε͕ෆ҆ఆͳ࣌ ࣗͷαʔϏε 4FSWJDF" 4FSWJDF# 4FSWJDF$
©2019 Wantedly, Inc. ࣗͷαʔϏε 4FSWJDF" 4FSWJDF# 4FSWJDF$ αʔϏε͕ෆ҆ఆͳ࣌
©2019 Wantedly, Inc. ࣗͷαʔϏε 4FSWJDF" 4FSWJDF# 4FSWJDF$ αʔϏε͕ෆ҆ఆͳ࣌
©2019 Wantedly, Inc. ࣗͷαʔϏε 4FSWJDF" 4FSWJDF# 4FSWJDF$ αʔϏε͕ෆ҆ఆͳ࣌
©2019 Wantedly, Inc. ґଘ͢ΔαʔϏε͕ෆ҆ఆͳ࣌ ࣗͷαʔϏε ଞͷαʔϏε
©2019 Wantedly, Inc. ґଘ͢ΔαʔϏε͕ෆ҆ఆͳ࣌ ࣗͷαʔϏε ଞͷαʔϏε
©2019 Wantedly, Inc. ґଘ͢ΔαʔϏε͕ෆ҆ఆͳ࣌ ࣗͷαʔϏε ଞͷαʔϏε
©2019 Wantedly, Inc. ґଘ͢ΔαʔϏε͕ෆ҆ఆͳ࣌ ࣗͷαʔϏε ଞͷαʔϏε
©2019 Wantedly, Inc. Ͳ͏͍ͬͨ͜ͱΛ͢Δ͖͔ʁ
©2019 Wantedly, Inc. 1. ఆৗঢ়ଶʹ͓͚ΔৼΔ͍ͷԾઆΛཱͯΔ 2. ࣮ੈքͷࣄଟ༷Ͱ͋Δ 3. ຊ൪ڥͰݕূΛ࣮ߦ͢Δ 4.
ܧଓతʹ࣮ߦ͢ΔݕূͷࣗಈԽ 5. ӨڹൣғΛہॴԽ͢Δ https://principlesofchaos.org/?lang=JAcontent# Ͳ͏͍ͬͨ͜ͱΛߦ͏͔
©2019 Wantedly, Inc. 1. ఆৗঢ়ଶʹ͓͚ΔৼΔ͍ͷԾઆΛཱͯΔ 2. ࣮ੈքͷࣄଟ༷Ͱ͋Δ 3. ຊ൪ڥͰݕূΛ࣮ߦ͢Δ 4.
ܧଓతʹ࣮ߦ͢ΔݕূͷࣗಈԽ 5. ӨڹൣғΛہॴԽ͢Δ https://principlesofchaos.org/?lang=JAcontent# 43&ͱͷڠྗ৫త ͳରԠ͕ඞཁ Ͳ͏͍ͬͨ͜ͱΛߦ͏͔
©2019 Wantedly, Inc. 1. 1ඵؒͷಈը࠶ੜͳͲ 2. APIͷϨεϙϯεͳͲ 1. ఆৗঢ়ଶʹ͓͚ΔৼΔ͍ͷԾઆΛཱͯΔ =>
ͦΕΛकΔͨΊͷͷ͕ॏཁɻͦͷ֬ೝ͕Ͱ͖Ε͋Δఔ҆৺ ྫ: AWS͕region͝ͱμϯͨ͠ࡍɺଞͷregionʹfail over͢ΔͳͲ ྫ
©2019 Wantedly, Inc. 1. Πϯελϯε͕μϯ͢Δ 2. DB͕٧·ΔɾΞΫηεͰ͖ͳ͘ͳΔɹ 3. ґଘ͢ΔଞͷαʔϏε͕ෆ҆ఆʹͳΔ etc…
2. ࣮ੈքͷࣄଟ༷Ͱ͋Δ => ͜͏͍ͬͨཁૉΛೖΕΒΕΔΑ͏ʹ͢Δ = Fault Injection
©2019 Wantedly, Inc. ͜ͷ2͚ͭͩͳΒQAڥͰ ΞϓϦέʔγϣϯΤϯδχΞ͚ͩͰՄೳ
©2019 Wantedly, Inc. ࣗͷαʔϏε 4FSWJDF" 4FSWJDF# Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. ࣗͷαʔϏε 4FSWJDF" 4FSWJDF# Fault Injectionͱͦͷ֬ೝ ֬ೝ༻ͷίʔυΛೖΕΔͷ͕໘
©2019 Wantedly, Inc. ࣗͷαʔϏε JOUFSDFQUPS 4FSWJDF" 4FSWJDF# Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. ࣗͷαʔϏε ൪Λฦ͢ ͘ͳΔ ઃఆ͍ͯ͠ΔλΠϜΞ
τΑΓϨεϙϯε͕͍ JOUFSDFQUPS 4FSWJDF" 4FSWJDF# Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. ࣗͷαʔϏε ൪Λฦ͢ ͘ͳΔ ઃఆ͍ͯ͠ΔλΠϜΞ
τΑΓϨεϙϯε͕͍ JOUFSDFQUPS 4FSWJDF" 4FSWJDF# { "interval": 1, "slow_response_option": { "enable": true, "time": 5 }, "server_error_option": { "enable": true } } Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. ࣗͷαʔϏε ൪Λฦ͢ ͘ͳΔ ઃఆ͍ͯ͠ΔλΠϜΞ
τΑΓϨεϙϯε͕͍ JOUFSDFQUPS 4FSWJDF" 4FSWJDF# Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. ࣗͷαʔϏε JOUFSDFQUPS 4FSWJDF" 4FSWJDF# Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. 4FSWJDF" 4FSWJDF# $MPVE1VC4VC 1VCMJTI 4VCTDSJCF Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. 4FSWJDF" 4FSWJDF# $MPVE1VC4VC 1VCMJTI 4VCTDSJCF Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. 4FSWJDF" 4FSWJDF# $MPVE1VC4VC ॏෳ৴Λ͢Δ 1VCMJTIͨ͠ॱ൪Ͱ৴͠ͳ͍
1VCMJTI 4VCTDSJCF Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. 4FSWJDF" 4FSWJDF# $MPVE1VC4VC ॏෳ৴Λ͢Δ 1VCMJTIͨ͠ॱ൪Ͱ৴͠ͳ͍
1VCMJTI 4VCTDSJCF ϥΠϒϥϦ͕ߦ͏ͷͰ JOUFSDFQUPSΛڬΊͳ͍ Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. 4FSWJDF" 4FSWJDF# $MPVE1VC4VC 1VCMJTI 4VCTDSJCF 1SPYZ 1SPYZ
Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. 4FSWJDF" 4FSWJDF# $MPVE1VC4VC 1VCMJTI 4VCTDSJCF 1SPYZ 1SPYZ
ॏෳ৴Λ͢Δ 1VCMJTIͨ͠ॱ൪Ͱ৴͠ͳ͍ Fault Injectionͱͦͷ֬ೝ
©2019 Wantedly, Inc. https://github.com/rerost/unstable https://github.com/rerost/chaos-pubsub
©2019 Wantedly, Inc.
©2019 Wantedly, Inc. σϝϦοτ ݱঢ়ͷ֬ೝͰ͖Δ͕͍ͭյΕΔ͔Θ͔Βͳ͍ɹ ςετ͢Δͷ͕ਓखͳͷͰ֬ೝ͕໘ ςετ͕ཏͰ͖͍ͯͳ͍Մೳੑ͕͋Δ
©2019 Wantedly, Inc. ·ͱΊ खಈͰ͋ΔఔͷݕূͰ͖Δ ςετ༻ͷίʔυൈ͖͍͢ܗʹ͓ͯ͘͠ɹ 2"ڥ͚ͩͰࢼ͓ͯ͘͠ҙຯ͋Δɹ
σϝϦοτଟ͍ͷͰҰൠʹ͓͢͢ΊͰ͖Δ ํ๏Ͱͳ͍