Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Ein Unternehmen der Daimler AG
CHAOS ENGINEERING
BUGRA DERRE, SENIOR SOFTWARE ENGINEER
AGENDA
• Warum Chaos Engineering?
• Ebenen des Chaos Engineering
• Beispiele für Chaos Engineering
• Denkfallen
04.07.2019 2Chaos Engineering | Daimler TSS
DER SOFTWARE ENGINEER
DER AFFE
[Pcworld 2011]
SYSTEMAUSFÄLLE
04.07.2019
[Netflix 2012]
5Chaos Engineering | Daimler TSS
SYSTEMAUSFÄLLE
04.07.2019
[Heise 2018]
6Chaos Engineering | Daimler TSS
SYSTEMAUSFÄLLE
04.07.2019 7Chaos Engineering | Daimler TSS
[Pixa 2019]
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.”Leslie Lamport
SYSTEMAUSFÄLLE ALS REGEL
04.07.2019 8Chaos Engineering | Daimler TSS
EBENEN DES CHAOS
04.07.2019
Personen
Prozesse
Infrastruktur
Plattformen
Applikationen
9Chaos Engineering | Daimler TSS
DIE VERSCHIEDENEN SICHTWEISEN
04.07.2019
• Produkt geht
live?
• DevOps steht
an?
Engineer
10Chaos Engineering | Daimler TSS
DIE VERSCHIEDENEN SICHTWEISEN
04.07.2019
• Teameinsätze
reduzieren?
• Selbstbe-
wusstsein
stärken?• Produkt geht
live?
• DevOps steht
an?
Engineer
Teammanager
11Chaos Engineering | Daimler TSS
DIE VERSCHIEDENEN SICHTWEISEN
04.07.2019
• Teameinsätze
reduzieren?
• Selbstbe-
wusstsein
stärken?• UX ist
wichtig?
• Produkt an
den Markt?
• Produkt geht
live?
• DevOps steht
an?
Engineer
Teammanager
Auftraggeber
12Chaos Engineering | Daimler TSS
TRAINIERE DAS CHAOS
“Chaos doesn’t cause problems, it reveals them.”Nora Jones, Leading Chaos Engineering at Netflix Slack
TRAINIERE DAS CHAOS
04.07.2019 14Chaos Engineering | Daimler TSS
DIE PHASEN DES CHAOS
04.07.2019 15Chaos Engineering | Daimler TSS
Hypothesis for
Steady State
BehaviorExperiment
Adjust Verify & Learn
TRAINIERE DAS CHAOS. DIE WERKZEUGE.
04.07.2019Chaos Engineering | Daimler TSS 16
Open Source Einschränkungen Plattformen Ebenen des Chaos
Chaos Toolkit Ja Die Erweiterungen
sind die
Einschränkungen
Azure, GCE, AWS,
Service Fabric, K8s,
Pivotal etc.
Applikation,
Infrastruktur,
Plattform
Simian Army
(reloaded)
Ja AWS only /
(Spinnaker required)
AWS (AWS, GCE,
K8s)
Infrastruktur
Pumba Ja Docker Docker Plattform
Gremlin Nein Agenten laufen auf
dem Host
Egal Infrastruktur
BEISPIEL
HYPOTHESE
04.07.2019 18Chaos Engineering | Daimler TSS
„Der Webshop erhält den Warenkorb und das Bezahlsystem für den Kunden.“
Hypothesis Experiment
AdjustVerify &
Learn
Dein Dienst wartet auf eine Antwort. Aber: Kommt die Antwort pünktlich?
EXPERIMENT: LATENZEN
04.07.2019 19Chaos Engineering | Daimler TSS
Hypothesis Experiment
AdjustVerify &
Learn
• Verzögerte Antworten
• Kaskadierende Fehler
VERIFY & LEARN: LATENZEN
04.07.2019 20Chaos Engineering | Daimler TSS
Hypothesis Experiment
AdjustVerify &
Learn
• Circuit Breaker: Wahrscheinlich das am meisten zitierte Resilienzmuster.
• Entdecke wiederkehrende Verbindungsfehler.
• Blockiere den Zugriff für eine vorgegebene Zeit statt noch mehr Last auf den
Dienst auszuüben.
ADJUST: KONTROLLIERE LATENZENMIT DEM CIRCUIT BREAKER PATTERN
04.07.2019 21Chaos Engineering | Daimler TSS
Hypothesis Experiment
AdjustVerify &
Learn
CIRCUIT BREAKER PATTERN
04.07.2019 22
Erfolgreich
Erfolgreich
Fehler
Timeout
Fehler
Chaos Engineering | Daimler TSS
Geschlossen
Offen
Halboffen
• Behandlung von Timeouts
• Behandlung mehrfacher Aufrufe
• Disaster Recovery Management
• …
VERIFY & LEARN
04.07.2019 23
[Beyer 2016, Hamilton 2007, Hanmer 2007, HornsbyBlog, Nygard 2018, Pragmatic 2018, Tanenbaum 2016]
Chaos Engineering | Daimler TSS
Empfehlung: “Release It!”
von Michael T. Nygard
DENKFALLEN
INSPIRED BY NORA JONES
„You can measure your success with
Chaos Engineering by counting the
number of vulnerabilities you find.“
DENKFALLE 1
04.07.2019 25Chaos Engineering | Daimler TSS
[Jones 2019]
„You can measure your success with
Chaos Engineering by counting the
number of vulnerabilities you find.“
„You don‘t know much about safety, simply by
counting errors.“Dr. Robert L. Wears
DENKFALLE 1
04.07.2019 26Chaos Engineering | Daimler TSS
[Jones 2019]
„It‘s not ‚real‘ Chaos Engineering unless you
move beyond gamedays and experimenting
in sandbox environments.“
DENKFALLE 2
04.07.2019 27Chaos Engineering | Daimler TSS
[Jones 2019]
„It‘s not ‚real‘ Chaos Engineering unless you
move beyond gamedays and experimenting
in sandbox environments.“
Please practice at first on a sandbox experiment
before you bring down productive systems.
DENKFALLE 2
04.07.2019 28Chaos Engineering | Daimler TSS
[Jones 2019]
„The most important part of Chaos Engineering
is running the experiment.“
DENKFALLE 3
29Chaos Engineering | Daimler TSS 04.07.2019
[Jones 2019]
„The most important part of Chaos Engineering
is running the experiment.“
„Before the experiment,
during the experiment,
after the experiment.“
– all phases deserve the same attention.
DENKFALLE 3
04.07.2019 30Chaos Engineering | Daimler TSS
[Jones 2019]
FAZIT
• Warum man Chaos Engineering
trainieren sollte.
• Wie und wo man Chaos
trainieren kann.
• Beispielexperiment
• Was man beim Chaos
Engineering lieber nicht denken
sollte.
04.07.2019 31Chaos Engineering | Daimler TSS
• [Beyer 2016] Site Reliability Engineering: How Google Runs Production Systems, O’Reilly
• [Hamilton 2007] On Designing and Deploying Internet-Scale Services, Usenix
• [Hanmer 2007] Patterns for Fault Tolerant Software, Wiley
• [Heise 2018] https://www.heise.de/newsticker/meldung/Blitzschlag-in-den-USA-stoert-Azure-Active-Directory-4155496.html
• [Hornsby] https://de.slideshare.net/hornsby/chaos-engineering-why-breaking-things-should-be-practised-93761039
• [HornsbyBlog] https://medium.com/@adhorn
• [Hystrix 2019] https://github.com/Netflix/Hystrix/wiki/How-it-Works
• [Jones 2019] https://medium.com/@njones_18523/chaos-engineering-traps-e3486c526059
• [Netflix 2012] https://medium.com/netflix-techblog/a-closer-look-at-the-christmas-eve-outage-d7b409a529ee
• [Nygard 2018] Release It!: Design and Deploy Production-Ready Software
• [Pcworld 2011] https://images.pcworld.com/images/article/2011/11/fb-monkey-5241520.jpg
• [Pragmatic 2018] https://pragprog.com/book/mnee2/release-it-second-edition
• [Pixa 2019] https://pixabay.com/de/photos/technologie-computer-schwarz-code-1283624/
• [Tanenbaum 2016] Distributed Systems: Principles and Paradigms
QUELLENVERZEICHNIS
04.07.2019 32Chaos Engineering | Daimler TSS
Daimler TSS GmbH
Wilhelm-Runge-Straße 11, 89081 Ulm / Telefon +49 731 505-06 / Fax +49 731 505-65 99
[email protected] / Internet: www.daimler-tss.com/ Intranet-Portal-Code: @TSS
Sitz und Registergericht: Ulm / HRB-Nr.: 3844 / Geschäftsführung: Martin Haselbach (Vorsitzender), Steffen Bäuerle
© Daimler TSS I Template Revision
THANKS FOR HAVING ME!