SlideShare a Scribd company logo
1 of 42
Download to read offline
Der Status Quo des
Chaos Engineerings
ContainerConf 2020/21 - Cloud Native Day
Benjamin Tokgöz Josef Fuchshuber
Benjamin Tokgöz
Cloud Solution Architect
Herz schlägt für …
• Open Source
• Quantum Computing
• Wissenschaft
• Tiere
@benn0rs
Josef Fuchshuber
Director of Quality, Productivity +
Innovation
Herz schlägt für …
• Software Engineering und Handwerkstolz
• Everything as Code
Source: https://principlesofchaos.org
"Chaos Engineering ist die Disziplin des
durchdachten und geplanten
Experimentierens an einem verteilten
System, um Schwachstellen aufzudecken
und Vertrauen aufzubauen."
Warum?
Microservice Architekturen &
hochgradig verteilte Anwendungen
img source: "Resiliency through Failure" (A. Tseitlin, QCon NY, 2013)
Chaos Engineering & Chaos Testing
schließt Testabdeckungslücken
Wie neu sind die
Chaos Engineering
Ideen?
img source: https://www.gettyimages.de/detail/foto/woman-screaming-with-joy-opens-carton-parcel-box-lizenzfreies-bild
Wobei hilft uns Chaos Engineering?
§Battle Test für neue Infrastruktur und Services
§Quality Review: Kontinuierlich die Robustheit von Anwendungen verbessern
§Post Mortem: Reproduktion von Ausfällen
§On-Call Training
Die Chaos Engineering Levels
Was ist Chaos Engineering nicht?
img source: https://www.gettyimages.de/detail/foto/burning-car-lizenzfreies-bild/168266695
Step 0:
Observability
"Chaos Engineeringwithout observability … is just chaos"
@mipsytipsy, CEO of honeycomb
img source: https://www.gettyimages.de/detail/foto/burning-car-lizenzfreies-bild/168266695
Step 1:
Environment
Setup
Produktionsnah starten und nicht gleich in PROD
§ Die ersten Experimente sollte man eine Umgebung wählen, die identisch mit der in
Produktion ist. Nur dann kommt man zu aussagekräftigen Erkenntnissen.
§ Infrastruktur und integrierte Services wie in PROD (keine Mocks)
§ Applikationskonfigurationen analog zu PROD
§ Sobald die ersten Schritte getan sind und es zu Verbesserungen kam, kann der Weg
weiter in Richtung Produktion gehen.
§ Ziel sollte es aber sein, Tests in PROD zu machen:
§ Echte Kundenlast ist nie wie die von Lastgeneratoren oder Akzeptanztests.
§ Sie interagieren oftmals anders mit den Services als erwartet.
Step 2:
Experiment
&Hypothesen
Die Phasen des Chaos Testings
Steady State
Hypothese
Experiment
ausführen
Verifikation
Analysieren
und
Verbessern
Design und Ausführung von Experimenten
§ Stelle eine Hypothese auf
§ Beispiel: Wenn die Datenbank von meinem Webshop ausfällt, erscheint vor Kunde eine Fehlerseite
mit einer Kontaktmöglichkeit zum Support-Team
§ Designe den Umfang Ihres Experiments
§ Beispiel: Wie kann der Ausfall simuliert werden: Datenbank-Server herunterfahren, fehlerhafte
DNS-Routen eintragen, Netzwerkprobleme simulieren
§ Lege die für das Experiment relevanten Metriken fest
§ Beispiel: Health Check der Datenbank, HTTP Response Status Code 200
§ Informieren vor der Durchführung dein Team
§ Beispiel: Wenn ihr auf Shared-Environments experimentiert, Informiert immer das komplette Team
über eure Experimente.
Sei dir über den „Blast-Radius“ bewusst!
Man startet bei den Experimenten klein.
§Erst wenn ein Experiment erfolgreich war, wird der Blast-Radius vergrößert:
§ Weitere Komponenten oder Services werden hinzugenommen
§ Last, Fehlerquoten und Latenzen werden erhöht
§ ...
Blast-Radius
Die Eigenschaften der Chaos
Engineering Tools sind vielfältig
§ Kommerziell oder Open Source
§ API oder Operator basierend
§ Support des Chaos Engineering Levels
§ Zufallsbasiert oder experimentbasiert
Es gibt momentan nicht den "One-Stop-Shop", der alle Teams glücklich macht.
Chaos Engineering hat in der CNCF-
Landkarte eine eigene Kategorie
https://landscape.cncf.io/card-mode?category=chaos-engineering&grouping=category (Stand 01. Feb. 2021)
Step 3:
Etablieren in der
Organisation
Etablierung von Chaos Testing im Projekt
und in der Organisation.
Penetration
Testing + Chaos
Engineering
Penetration Testing + Chaos Engineering
Wissen aus dem Penetration Testing nutzen um mehr
Erkenntnisse über die eigene Infrastruktur zu gewinnen
Gezieltes einsetzen gängiger Tools um Schwachstellen zu
erkennen
Direkte Anbindung an Monitoring-Tools – wenn möglich
Use Cases für
Security Chaos
Engineering
Erkennung von Vulnerabilities in
der Software
Dediziert für jeden
Microservice
Kompetenzaufbau bei eigenen
Mitarbeiter zum Thema Exploits
Architektur und
Netzwerkentscheidungen
reviewen
Penetration Testing Phasen
Reconnaissance
Scanning
Gaining Access
Maintaining Access
Covering Tracks
Interessant für
Chaos Engineering!
Security Chaos Engineering
• Ein Event (oder auch Game day) um direkte und verwertbare Ergebnisse zu erhalten
• Angriffe auf das System beziehen sich hierbei klar auf Exploits und Vulnerabilities
• Reportings werden in Echtzeit von Penetration Testern, Security Engineers, Software
engineers, Business Stakeholdern und Mitgliedern der IT generiert und ausgewertet.
Besonderheiten beim Security CE.
Genau wie beim klassischen Chaos Engineering werden verschiedene bekannte Schritte durchlaufen
Aktuelle Bestandsaufnahme des Systems
Entwickeln einer Hypothese
Angriffsgrenzen festlegen
Fallback Pläne erstellen
In Kenntnis setzen der Organisation
Durchführung des Game days
Monitoring, Validation und Fazit
Reconfiguration des vorgesehenen Systems
Automatisiere das Experiment
Tools für SCE
Nmap
Automatisierung über bash scripts
Klassiker
https://github.com/nmap/nmap
Automatisierung über CI Plattformen wie GitHub
OWASP ZAP
Automatisierung über (z.B.) python scripts
Klassiker
https://github.com/zaproxy
Automatisierung über CI Plattformen wie GitHub
Metasploit Framework
Metasploit interaktiv nutzen während eines Game day
Metasploit automatisieren über resource scripts
Metasploit automatisieren über ruby scripts
Automatisierung über CI Plattformen wie GitHub
Klassiker
https://github.com/rapid7/metasploit-framework
Security Automatisierung
durch GitHub Actions
Empfehlungen
und
best practices
Ändert nie mehr als eine Variable zu
einer bestimmten Zeit
Kenne den Blast radius des Game
days!
Integriert die Ergebnisse in euer SIEM
Quelle: Securing chaos: How Security
Chaos Engineering tools can improve
design and response (rsa.com)
Buchempfehlung
für Secure Engineering
Author:
Ross Anderson
Title:
A guide to building dependable distributed systems
https://www.wiley.com/en-
us/Security+Engineering%3A+A+Guide+to+Building+Dependable+Di
stributed+Systems%2C+3rd+Edition-p-9781119642817
Demo
Chaos Toolkit Live-View: http://20-73-198-159.nip.io
Summary
Zusammenfassung
§ Das wichtigste am Chaos Engineering ist, dass man es macht:
§ Gamedays im gesamten Team sollten in jedem Team ein festes Ritual sein.
§ Startet in einer produktionsnahen Umgebung und prüft ob euer Monitoring ausreichend ist.
§ Werkzeuge kommen und gehen:
§ Die Chaos Engineering Werkzeuge im Cloud Native Ökosystem entwickeln sich weiter.
§ Der Kontext eurer Chaos Engineering Experimente wird sich erweitern.
Infos & Anmeldung unter: https://www.containerconf.de/lecture_workshop.php?id=12764

More Related Content

What's hot

DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes QAware GmbH
 
Quarkus Quickstart
Quarkus QuickstartQuarkus Quickstart
Quarkus QuickstartQAware GmbH
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinStephan Kaps
 
In den sicheren Hafen jax2020
In den sicheren Hafen jax2020In den sicheren Hafen jax2020
In den sicheren Hafen jax2020Stephan Kaps
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenQAware GmbH
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Title is loading ... Cache is cold.
Title is loading ... Cache is cold.Title is loading ... Cache is cold.
Title is loading ... Cache is cold.QAware GmbH
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapStephan Kaps
 
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConfA Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConfMario-Leander Reimer
 
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnDie Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnQAware GmbH
 
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017Mario-Leander Reimer
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Josef Adersberger
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneVorname Nachname
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
In-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesIn-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesQAware GmbH
 
Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeDer Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeMario-Leander Reimer
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceOPEN KNOWLEDGE GmbH
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 
Stackstorm – Event driven Automation
Stackstorm – Event driven AutomationStackstorm – Event driven Automation
Stackstorm – Event driven Automationinovex GmbH
 

What's hot (20)

DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
 
Quarkus Quickstart
Quarkus QuickstartQuarkus Quickstart
Quarkus Quickstart
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
 
In den sicheren Hafen jax2020
In den sicheren Hafen jax2020In den sicheren Hafen jax2020
In den sicheren Hafen jax2020
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice Architekturen
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Title is loading ... Cache is cold.
Title is loading ... Cache is cold.Title is loading ... Cache is cold.
Title is loading ... Cache is cold.
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment Roadmap
 
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConfA Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
 
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnDie Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
 
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
Per Anhalter durch den Cloud Native Stack (Extended Edition) #oop2017
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der Schiene
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
In-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesIn-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und Kubernetes
 
Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEuropeDer Cloud Native Stack in a Nutshell. #CloudExpoEurope
Der Cloud Native Stack in a Nutshell. #CloudExpoEurope
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Stackstorm – Event driven Automation
Stackstorm – Event driven AutomationStackstorm – Event driven Automation
Stackstorm – Event driven Automation
 

Similar to Der Status Quo des Chaos Engineerings

1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023Johannes Kleinlercher
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareAndreas Schreiber
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsRamon Anger
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018Christian Mücke
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018André Krämer
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptSebastian Springer
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineOPEN KNOWLEDGE GmbH
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebAndreas Schmidt
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen....NET User Group Rhein-Neckar
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafkagedoplan
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
Feedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungFeedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungPascal_Erni
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemachtNico Orschel
 

Similar to Der Status Quo des Chaos Engineerings (20)

1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScript
 
Integration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-PipelineIntegration von Security-Checks in die CI-Pipeline
Integration von Security-Checks in die CI-Pipeline
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
Feedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungFeedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP Softwareentwicklung
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
 

More from QAware GmbH

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdfQAware GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzQAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureQAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightQAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPQAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s AutoscalingQAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysQAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration TestsQAware GmbH
 

More from QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 

Der Status Quo des Chaos Engineerings

  • 1. Der Status Quo des Chaos Engineerings ContainerConf 2020/21 - Cloud Native Day Benjamin Tokgöz Josef Fuchshuber
  • 2. Benjamin Tokgöz Cloud Solution Architect Herz schlägt für … • Open Source • Quantum Computing • Wissenschaft • Tiere @benn0rs
  • 3. Josef Fuchshuber Director of Quality, Productivity + Innovation Herz schlägt für … • Software Engineering und Handwerkstolz • Everything as Code
  • 4. Source: https://principlesofchaos.org "Chaos Engineering ist die Disziplin des durchdachten und geplanten Experimentierens an einem verteilten System, um Schwachstellen aufzudecken und Vertrauen aufzubauen."
  • 6. Microservice Architekturen & hochgradig verteilte Anwendungen img source: "Resiliency through Failure" (A. Tseitlin, QCon NY, 2013)
  • 7. Chaos Engineering & Chaos Testing schließt Testabdeckungslücken
  • 8. Wie neu sind die Chaos Engineering Ideen? img source: https://www.gettyimages.de/detail/foto/woman-screaming-with-joy-opens-carton-parcel-box-lizenzfreies-bild
  • 9. Wobei hilft uns Chaos Engineering? §Battle Test für neue Infrastruktur und Services §Quality Review: Kontinuierlich die Robustheit von Anwendungen verbessern §Post Mortem: Reproduktion von Ausfällen §On-Call Training
  • 11. Was ist Chaos Engineering nicht? img source: https://www.gettyimages.de/detail/foto/burning-car-lizenzfreies-bild/168266695
  • 13. "Chaos Engineeringwithout observability … is just chaos" @mipsytipsy, CEO of honeycomb img source: https://www.gettyimages.de/detail/foto/burning-car-lizenzfreies-bild/168266695
  • 15. Produktionsnah starten und nicht gleich in PROD § Die ersten Experimente sollte man eine Umgebung wählen, die identisch mit der in Produktion ist. Nur dann kommt man zu aussagekräftigen Erkenntnissen. § Infrastruktur und integrierte Services wie in PROD (keine Mocks) § Applikationskonfigurationen analog zu PROD § Sobald die ersten Schritte getan sind und es zu Verbesserungen kam, kann der Weg weiter in Richtung Produktion gehen. § Ziel sollte es aber sein, Tests in PROD zu machen: § Echte Kundenlast ist nie wie die von Lastgeneratoren oder Akzeptanztests. § Sie interagieren oftmals anders mit den Services als erwartet.
  • 17. Die Phasen des Chaos Testings Steady State Hypothese Experiment ausführen Verifikation Analysieren und Verbessern
  • 18. Design und Ausführung von Experimenten § Stelle eine Hypothese auf § Beispiel: Wenn die Datenbank von meinem Webshop ausfällt, erscheint vor Kunde eine Fehlerseite mit einer Kontaktmöglichkeit zum Support-Team § Designe den Umfang Ihres Experiments § Beispiel: Wie kann der Ausfall simuliert werden: Datenbank-Server herunterfahren, fehlerhafte DNS-Routen eintragen, Netzwerkprobleme simulieren § Lege die für das Experiment relevanten Metriken fest § Beispiel: Health Check der Datenbank, HTTP Response Status Code 200 § Informieren vor der Durchführung dein Team § Beispiel: Wenn ihr auf Shared-Environments experimentiert, Informiert immer das komplette Team über eure Experimente.
  • 19. Sei dir über den „Blast-Radius“ bewusst!
  • 20. Man startet bei den Experimenten klein. §Erst wenn ein Experiment erfolgreich war, wird der Blast-Radius vergrößert: § Weitere Komponenten oder Services werden hinzugenommen § Last, Fehlerquoten und Latenzen werden erhöht § ... Blast-Radius
  • 21. Die Eigenschaften der Chaos Engineering Tools sind vielfältig § Kommerziell oder Open Source § API oder Operator basierend § Support des Chaos Engineering Levels § Zufallsbasiert oder experimentbasiert Es gibt momentan nicht den "One-Stop-Shop", der alle Teams glücklich macht.
  • 22. Chaos Engineering hat in der CNCF- Landkarte eine eigene Kategorie https://landscape.cncf.io/card-mode?category=chaos-engineering&grouping=category (Stand 01. Feb. 2021)
  • 23. Step 3: Etablieren in der Organisation
  • 24. Etablierung von Chaos Testing im Projekt und in der Organisation.
  • 26. Penetration Testing + Chaos Engineering Wissen aus dem Penetration Testing nutzen um mehr Erkenntnisse über die eigene Infrastruktur zu gewinnen Gezieltes einsetzen gängiger Tools um Schwachstellen zu erkennen Direkte Anbindung an Monitoring-Tools – wenn möglich
  • 27. Use Cases für Security Chaos Engineering Erkennung von Vulnerabilities in der Software Dediziert für jeden Microservice Kompetenzaufbau bei eigenen Mitarbeiter zum Thema Exploits Architektur und Netzwerkentscheidungen reviewen
  • 28. Penetration Testing Phasen Reconnaissance Scanning Gaining Access Maintaining Access Covering Tracks Interessant für Chaos Engineering!
  • 29. Security Chaos Engineering • Ein Event (oder auch Game day) um direkte und verwertbare Ergebnisse zu erhalten • Angriffe auf das System beziehen sich hierbei klar auf Exploits und Vulnerabilities • Reportings werden in Echtzeit von Penetration Testern, Security Engineers, Software engineers, Business Stakeholdern und Mitgliedern der IT generiert und ausgewertet.
  • 30. Besonderheiten beim Security CE. Genau wie beim klassischen Chaos Engineering werden verschiedene bekannte Schritte durchlaufen Aktuelle Bestandsaufnahme des Systems Entwickeln einer Hypothese Angriffsgrenzen festlegen Fallback Pläne erstellen In Kenntnis setzen der Organisation Durchführung des Game days Monitoring, Validation und Fazit Reconfiguration des vorgesehenen Systems Automatisiere das Experiment
  • 32. Nmap Automatisierung über bash scripts Klassiker https://github.com/nmap/nmap Automatisierung über CI Plattformen wie GitHub
  • 33. OWASP ZAP Automatisierung über (z.B.) python scripts Klassiker https://github.com/zaproxy Automatisierung über CI Plattformen wie GitHub
  • 34. Metasploit Framework Metasploit interaktiv nutzen während eines Game day Metasploit automatisieren über resource scripts Metasploit automatisieren über ruby scripts Automatisierung über CI Plattformen wie GitHub Klassiker https://github.com/rapid7/metasploit-framework
  • 36. Empfehlungen und best practices Ändert nie mehr als eine Variable zu einer bestimmten Zeit Kenne den Blast radius des Game days! Integriert die Ergebnisse in euer SIEM Quelle: Securing chaos: How Security Chaos Engineering tools can improve design and response (rsa.com)
  • 37. Buchempfehlung für Secure Engineering Author: Ross Anderson Title: A guide to building dependable distributed systems https://www.wiley.com/en- us/Security+Engineering%3A+A+Guide+to+Building+Dependable+Di stributed+Systems%2C+3rd+Edition-p-9781119642817
  • 38. Demo
  • 39. Chaos Toolkit Live-View: http://20-73-198-159.nip.io
  • 41. Zusammenfassung § Das wichtigste am Chaos Engineering ist, dass man es macht: § Gamedays im gesamten Team sollten in jedem Team ein festes Ritual sein. § Startet in einer produktionsnahen Umgebung und prüft ob euer Monitoring ausreichend ist. § Werkzeuge kommen und gehen: § Die Chaos Engineering Werkzeuge im Cloud Native Ökosystem entwickeln sich weiter. § Der Kontext eurer Chaos Engineering Experimente wird sich erweitern.
  • 42. Infos & Anmeldung unter: https://www.containerconf.de/lecture_workshop.php?id=12764