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
Chaos Engineering - W-JAX 2018
Search
Benjamin Wilms
November 08, 2018
Technology
0
290
Chaos Engineering - W-JAX 2018
Chaos Engineering @ W-JAX 2018
- ChaosToolkit
- ChaosHub
- Chaos Monkey for Spring Boot
Benjamin Wilms
November 08, 2018
Tweet
Share
More Decks by Benjamin Wilms
See All by Benjamin Wilms
Chaos Engineering @ Spring I/O 2019 Barcelona
mrbw
1
430
Chaos Engineering - AWS Community Days 2018
mrbw
0
750
Chaos Engineering @ JUG Bonn
mrbw
0
140
Chaos Engineering @ Microservices Meetup Berlin
mrbw
0
120
Spring Cloud Netf
mrbw
1
170
Hysterie in verteilten Systemen - Hystrix im Einsatz
mrbw
0
320
Resilience mit Hystrix: Fehlertoleranz statt Hochverfügbarkeit
mrbw
0
230
Hystrix @ Vaadin Meetup Düsseldorf
mrbw
0
62
Hystrix Warstories
mrbw
0
54
Other Decks in Technology
See All in Technology
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
970
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
150
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
350
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
120
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
720
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
AndroidデバイスにFTPサーバを建立する
e10dokup
0
250
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
分解して理解する Aspire
nenonaninu
1
130
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
6
750
Culture Deck
optfit
0
420
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
What's in a price? How to price your products and services
michaelherold
244
12k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Building Adaptive Systems
keathley
40
2.4k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Building Your Own Lightsaber
phodgson
104
6.2k
For a Future-Friendly Web
brad_frost
176
9.5k
The Language of Interfaces
destraynor
156
24k
A designer walks into a library…
pauljervisheath
205
24k
Transcript
WITHSTANDING TURBULENT CONDITIONS IN PRODUCTION
BENJAMIN WILMS CODECENTRIC @MRBWILMS GITHUB.COM/MRBW
None
None
FROM A DEVELOPER'S POINT OF VIEW
None
None
None
80% - 90% ...
HOW OUR BABY BEHAVES IN PRODUCTION?
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
JEPSEN IS AN EFFORT TO IMPROVE THE SAFETY OF DISTRIBUTED
DATABASES, QUEUES, CONSENSUS SYSTEMS, ETC.
None
None
CHAOS ENGINEERING IS NOT... ...TO CAUSE CHAOS!
CHAOS ENGINEERING IS NOT... ...BREAKING THINGS JUST TO BREAK THEM!
CHAOS ENGINEERING IS NOT... ...TO RUN A CHAOS MONKEY!
CHAOS ENGINEERING IS NOT... ...TO LET THE WHOLE SIMIAN ARMY
OUT OF THE CAGE!
CHAOS ENGINEERING IS NOT... ...TO USE IT IN PRODUCTION!
CHAOS ENGINEERING IS NOT... ...TO USE IT IN PRODUCTION, FIRST!
CHAOS ENGINEERING IS NOT... ...TO REPLACE OTHER KINDS OF TESTS!
CHAOS ENGINEERING IS NOT... ...TO DO IT ALONE AND WITHOUT
ANY ARRANGEMENT!
None
None
THIS IS BOB
HE IS RESPONSIBLE FOR SERVICE A
THESE ARE BOB'S TEAMMATES
THEY DEPEND ON BOB'S SERVICE
THEY BLAME BOB FOR THE BAD PERFORMANCE OF SERVICE A
BE SOCIAL AND COMMUNICATIVE SHARE YOUR EXPERIENCES AND THOUGHTS STOP
BLAMING EACH OTHER WORK TOGETHER
None
None
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.
None
None
None
STEADY STATE ORDERS PER MINUTE ON A TYPICAL MONDAY MORNING
STEADY STATE ORDERS PER MINUTE
STEADY STATE EXPERIMENT WAS CANCELED
WHAT SHOULD HAPPEN WHEN...
None
None
IF YOU KNOW YOUR CHAOS EXPERIMENT WILL FAIL... ...DON'T DO
IT!!!
None
CPU BURNING - INSPIRED BY TAMMY BUTOW # burn.zsh while
true; do openssl speed; done EOF # cpu_burning.zsh for i in {1..32} do nohup /bin/zsh burn.zsh & done
STRESS CPU stress cpu 2 io 1 vm 1 vmbytes
128M timeout 10s verbose
TRAFFIC CONTROL (TC) PACKAGE IPROUTE2
None
PLATFORMS
CHAOS TOOLKIT FELT IN LOVE WITH CHAOS MONKEY FOR SPRING
BOOT
HOW DOES IT WORK <dependency> <groupid>de.codecentric</groupid> <artifactid>chaosmonkeyspringboot</artifactid> <version>2.0.1</version> </dependency>
(SIDECAR PATTERN) java cp yourapp.jar Dloader.path=chaosmonkeyspringboot2.0.1jarwithdependencies.jar org.springframework.boot.loader.PropertiesLauncher spring.profiles.active=chaosmonkey spring.config.location=file:./chaosmonkey.properties
WATCHER
ASSAULTS
SPRING BOOT ACTUATOR ENDPOINT CONTROL VIA REST ENDPOINT AT RUNTIME
None
None
None
None
None
None
None
None
None
None
None
FINDINGS?
None
None
None
None
BENJAMIN WILMS @MRBWILMS
[email protected]
SHOPPING DEMO CHAOS MONKEY FOR SPRING
BOOT CHAOSTOOLKIT & CHAOSHUB