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
300
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
460
Chaos Engineering - AWS Community Days 2018
mrbw
0
770
Chaos Engineering @ JUG Bonn
mrbw
0
160
Chaos Engineering @ Microservices Meetup Berlin
mrbw
0
130
Spring Cloud Netf
mrbw
1
190
Hysterie in verteilten Systemen - Hystrix im Einsatz
mrbw
0
340
Resilience mit Hystrix: Fehlertoleranz statt Hochverfügbarkeit
mrbw
0
240
Hystrix @ Vaadin Meetup Düsseldorf
mrbw
0
72
Hystrix Warstories
mrbw
0
55
Other Decks in Technology
See All in Technology
Amazon Qで2Dゲームを作成してみた
siromi
0
140
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
170
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
360
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
370
ZOZOTOWNの大規模マーケティングメール配信を支えるアーキテクチャ
zozotech
PRO
0
340
Amazon Inspector コードセキュリティで手軽に実現するシフトレフト
maimyyym
0
110
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
9
2.2k
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
150
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
750
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
Serverless Meetup #21
yoshidashingo
1
120
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
200
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
For a Future-Friendly Web
brad_frost
179
9.9k
Practical Orchestrator
shlominoach
190
11k
How GitHub (no longer) Works
holman
314
140k
The Cost Of JavaScript in 2023
addyosmani
51
8.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
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