Outages in 2017
• 2017-01-31: GitLab database outage
• 2017-02-28: Amazon S3 service disruption in us-east-1
• 2017-05-16: Starbucks server outage ☕
• ...
• Add your incidents here
4
Slide 5
Slide 5 text
Sooner or later,
all complex
systems
will fail
5
Slide 6
Slide 6 text
There's always something
with Docker in production.
— Henning Jacobs, Zalando
(ContainerDays 2017)
6
Slide 7
Slide 7 text
Accept it and create a
quality product that is
resilient to failures
7
Slide 8
Slide 8 text
Building
resilient systems
requires
experience
with failure
8
Slide 9
Slide 9 text
Chaos Engineering 101
• Proactively inject failures by simulating real-world events
• Verify that our systems behave as we expect
• Fix them if they don't
• Discover new properties of our systems
• Netflix: http://principlesofchaos.org/
9
GameDays at Jimdo
1. Gather the team in front of a big screen
2. Think up failure modes and estimate expected impact
3. Go through chaos experiments together
4. Write down measured impact
5. Create follow-up tickets for all flaws
11
How does it work?
$ docker run --rm \
--cap-add NET_ADMIN \
--net=container:ubuntu \
gaiadocker/iproute2 qdisc add dev eth0 root netem delay 3000ms
$ docker run --rm \
--cap-add NET_ADMIN \
--net=container:ubuntu \
gaiadocker/iproute2 qdisc del dev eth0 root netem
21
Slide 22
Slide 22 text
22
Slide 23
Slide 23 text
Gremlin
• Failure as a Service
• Attack hosts, containers, applications
• Impact CPU, RAM, I/O, network traffic, system time, etc.
• Web UI + CLI
• Safe and secure
23
Slide 24
Slide 24 text
Takeaways
• Building resilient systems requires experience with failure
• Don't wait for things to break in production
• Proactively inject failures in a controlled way
• Use existing chaos tools
• ⾠ Start small! ⾠
24
Slide 25
Slide 25 text
Production Ready mailing list
https://tinyletter.com/production-ready
34 articles, including:
The Discipline of Chaos Engineering
A Little Story about Amazon ECS, systemd, and Chaos Monkey
The Power of Less Code
Writing Your First Postmortem
Go, Mental Models, and Side Effects
25