SlideShare une entreprise Scribd logo
#DevoxxFR
@BenjaminGakic
Chaos Engineer & SRE
Benjamin Gakic
#DevoxxFR
@BenjaminGakic
Chaos Engineer & SRE
Benjamin Gakic
#DevoxxFR
Le Chaos Engineering dans le monde
#DevoxxFR
Evolution de “Chaos Monkey” vs “Chaos
Engineering” depuis Juin 2010 sur Google
Trends
Chaos Engineering au sein du
Technology Radar de ThoughtWorks
…Et ce n’est que le début!
Le Chaos Testing en early adopter à la
Conference Qcon New york
#DevoxxFR
Qu’est-ce que le chaos?
#DevoxxFR
Désordre
SIMPLE
COMPLIQUÉ
CHAOTIQUE
COMPLEXE
Meilleures pratiques
Observer – Catégoriser – Répondre
Bonnes pratiques
Observer – Analyser – Répondre
Pratiques émergentes
Sonder – Observer – Répondre
Nouvelles Pratiques
Agir – Observer – Répondre
Chaos Engineering
Systémique
Cause Effet
Cause Effet
Causes
?
Effets
#DevoxxFR
Qu’est-ce que la résilience?
#DevoxxFR
La résilience est le principe de base de la vie
Faire pareil avec les systèmes informatiques?
Continuer de
vivre quoi qu’il
arrive…
#DevoxxFR
Le Chaos engineering vise à accroitre la résilience
des systèmes d’informations, des applications et
des infrastructures qui la composent, mais aussi
des équipes qui les gèrent.
Mais comment?...
#DevoxxFR
#DevoxxFR
Datacenter 2
Application A
1 2
3
4
5
Tests unitaires
Tests de régression
Tests d’intégration
Tests techniques
(Performance, charge, résilience, etc…)
Application B
Application C
Application D
non déterministe,
Ensembliste,
Déterministes
• 1 valeur en entrée
• 1 valeur en sortie
• 1 assertion
En production!
Testing & Chaos Engineering
Application centric
Hors prod
Datacenter 1
E
#DevoxxFR
#DevoxxFR
CHAOS ENGINEERING
« Discipline de l'expérimentation sur un système distribué afin de
renforcer la confiance dans la capacité du système à résister à des
conditions turbulentes en production. »
http://principlesofchaos.org/
initiée par
#DevoxxFR
Les étapes de l’expérimentation
1. Que cherche-t-on à prouver?
2. Restreindre le périmètre
3. Identifier ce qu’il faut observer
4. Communiquer!
5. Injecter le chaos
6. Analyser consciencieusement les impacts
7. Et Recommencer!
#DevoxxFR
Pour la première fois, les indisponibilités
arrivent en tête des sujets d’inquiétude
des responsables informatiques,
devançant ainsi la sécurité.
Sondage réalisé sur un échantillon de 400 entreprises en Grande-Bretagne,
Allemagne, France, Suède et Pays-Bas par Quocirca pour Splunk
Source: Master of Machines III - Réduire l’impact des incidents IT Quocirca
#DevoxxFR
Un incident majeur est si vite arrivé…
#DevoxxFR
#DevoxxFR
#DevoxxFR
Auto-scaling:
Dimensionner son architecture aux justes
besoins du moment, c’est-à-dire de
pouvoir dynamiquement augmenter ou
réduire le nombre d’instances nécessaires
au bon fonctionnement du SI sans
pénaliser les performances.
Scale up :
le système peine, il faut créer plus
d’instances pour absorber la charge.
Scale down :
le système est en sous charge, il ne sert à
rien de disposer de trop d’instances, on les
retire pour adapter la charge.
Scale initial :
C’est le nombre d’instances optimal
devant être disponible à tout moment.
On peut tester l’implémentation
avec un tir de charge
Mais on l’expérimente dans la
vraie vie avec un Chaos Monkey
#DevoxxFR
Je n’ai pas d’auto scaling, je ne suis pas chez
AWS, puis-je faire du chaos monkey?
#DevoxxFR
Conserver les mêmes concepts autour du Chaos Engineering
Redéfinir et adapter le Chaos Monkey à son infrastructure :
• Valider la résilience des applications sur le même symptôme
• Vérifier la présence d’effets inattendus
Le Chaos
Monkey c’est
une interface à
implémenter!
#DevoxxFR
L’implémentation technique?...
#DevoxxFR
{
"monkey": {
"name": "chaos monkey",
"target": {
"application": "XYZ",
"environnement": "PREP1",
"techno": "webServer",
"nodePattern": "order"
},
"delay": {
"minDelay": "0m",
"maxDelay": "7d",
"workedTime": "0-24|1234567",
"restart": "true",
"restartTime": "10m"
},
"killStyle": "brutal",
"mailTo": "toto@devoxx.fr"
}
}
Mais finalement un peu plus compliqué que ça!
On ne déchaine
pas comme ça
les feux de
l’enfer!
#DevoxxFR
Le plus important n’est pas
l’implémentation en elle-même mais la
manière dont on implémente
#DevoxxFR
POC
Squad inter-équipe dev & ops
Développement en mode expérimental,
à base de mini-hackatons
Mars 2016
Mai 2017
Aujourd’hui
Janvier 2016
Octobre 2016
Février 2017
#DevoxxFR
Communauté
Résilience et Tests Techniques
Objectifs :
• Proposer des outils de test de résilience
• Aider à la mise en place des outils et patterns
• Apporter un changement culturel
Mars 2016
Mai 2017
Aujourd’hui
Janvier 2016
Octobre 2016
Février 2017
#DevoxxFR
Grâce à la communauté
nous disposons d’un bestiaire
à l’image de la Simian army
de Netflix
Mars 2016
Mai 2017
Aujourd’hui
Janvier 2016
Octobre 2016
Février 2017
#DevoxxFR
Initiation au test en production,
La panne va-t-elle avoir un impact notable?
Pilotage et validation pour les devs Entrainement pour les ops
Chaos Monkey
Bridé
Mars 2016
Mai 2017
Aujourd’hui
Janvier 2016
Octobre 2016
Février 2017
#DevoxxFR
Chaos Monkey en production,
La finalité
Mon appli en prod
Chaos Monkey
Libéré! Délivré!
LES DEV OPS
Même pas peur
Objectif :
Aucun impact financier
Même pas mal!
Mars 2016
Mai 2017
Aujourd’hui
Janvier 2016
Octobre 2016
Février 2017
#DevoxxFR
Premier Chaos Monkey en production…
…et la production marche toujours
Mars 2016
Mai 2017
Aujourd’hui
Janvier 2016
Octobre 2016
Février 2017
#DevoxxFR
Objectif : faire du chaos engineering sur toutes
les applications critiques
Mars 2016
Mai 2017
Aujourd’hui
Janvier 2016
Octobre 2016
Février 2017
#DevoxxFR
#1 : Le Chaos Monkey n’est pas un outil de test
#DevoxxFR
#2 : Le Chaos Monkey ce n’est pas casser la prod juste pour s’amuser
#DevoxxFR
#3 : Le Chaos Monkey n’est pas un phénomène de mode, il s’inscrit
dans une démarche
#DevoxxFR
Comme toute démarche, une action unique
ne suffit pas
#DevoxxFR
Game Day
#DevoxxFR
Days of Chaos
Chapter One
Vendredi 13 Janvier 2017
#DevoxxFR
DaysofChaos
Vous allez subir des vagues de pannes en provenance des tréfonds de l’exploitation.
Votre mission est de repousser ces vagues et de
détecter, diagnostiquer et résoudre
les pannes le plus vite possible.
L’avenir de notre production dépend de vous…
Détection :
+100
Diagnostic :
+150
Résolution :
+200
Bonus 1ère proposition:
+100
Indice :
-50
Nombrederounds: 8
Récompenses:
3
#DevoxxFR
Résolution Dev
Incident Ops
Détection Dev Diagnostic Dev
Remise en état...
Validation Ops
Gestion d’une panne Question bonus Vidéo explicative1 2 3
#DevoxxFR
#DevoxxFR
frontend MYAPPPREP1TDC
bind :51702 # Port d'ecoute toutes IP confondues
#default_backend MYAPPPREP1
default_backend MYAPPPREP2
backend MYAPPPREP1 # Definit la ferme de serveurs
stats uri /stats
balance roundrobin
option httpchk GET /myapp1h/totohealthcheck/NAGIOS HTTP/1.1rnHost: www.voyages-sncf.com
#http-check disable-on-404
cookie MYAPP_TOMCAT insert indirect nocache
server MYAPPMH11 10.98.64.17:52357 cookie myappmh11 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10
server MYAPPMH12 10.98.64.17:52359 cookie myappmh12 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10
server MYAPPMH13 10.98.64.17:52361 cookie myappmh13 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10
server MYAPPMH11 10.98.65.15:52357 cookie myappmh11 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10
server MYAPPMH12 10.98.65.15:52359 cookie myappmh12 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10
server MYAPPMH13 10.98.65.15:52361 cookie myappmh13 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10
echo "-----------------KO MYAPP-----------------"
cp /HOME/chaos_user/KO/IDH/hapMYAPPPREP1.conf /HOME/chaos_user/MYAPP/Config/hapMYAPPPREP1.conf
ksh /HOME/chaos_user/MYAPP/scripts/hapctlMYAPPPREP1 reload -y
echo "-----------------OK MYAPP-----------------"
cp /HOME/chaos_user/OK/MYAPP/hapMYAPPPREP1.conf /HOME/chaos_user/MYAPP/Config/hapMYAPPPREP1.conf
ksh /HOME/chaos_user/MYAPP/scripts/hapctlMYAPPPREP1 reload -y
#DevoxxFR
43 pannes
8 short listées
#DevoxxFR
#DevoxxFR
#DevoxxFR
113 joueurs
18 équipes 2 commentateurs
2 aides de camp
8 ops
#DevoxxFR
Objectif accompli !
Détection : 87%
Diagnostic : 73%
Résolution : 45%
#DevoxxFR
Supervision et alerting
Tests techniques
Partage des connaissances
Arbres d’analyse
8 -> 6 pannes
4h -> 3h30 de jeu
80% Intérêt du jeu
70% Qualité de l’organisation
74% Prise de conscience
#DevoxxFR
Communication et marketing
Cohésion intra et inter-équipes
Gamification
Points forts
#DevoxxFR
Days of Chaos
Chapter 1
Days of Chaos
Chapter 2
CHAPTER 3
#DevoxxFR
Un Day of Chaos c’est du Chaos Engineering? Mais on est pas en prod!!!
https://medium.com/russmiles/chaos-engineering-for-the-business-17b723f26361
#DevoxxFR
En production
La vraie vie, avec des vrais utilisateurs et
potentiellement de la perte de VA.
Communication
Mettre en place du Chaos n’est pas la meilleure
façon de rencontrer vos nouveaux collègues,
mais c’est la plus rapide.
Nora Jones (@nora_js)
Gamification
Rendre l’apprentissage plus amusant
en s’appuyant sur la prédisposition
humaine au jeu
Expérimentation
Les principaux points à retenir
Validation de ce qui est important sur
votre infrastructure. Votre résilience
n’est pas celle des autres.
#DevoxxFR
https://days-of-chaos.slack.com
Paris Chaos Engineering Meetup
http://meetu.ps/c/3BMlX/xNjMx/f https://chaosengineering.slack.com
http://days-of-chaos.com/
https://medium.com/paris-
chaos-engineering-
community
#DevoxxFR
BOF (Bird of a feather)
19 avril 2018

Contenu connexe

Tendances

Organiser son CI/CD - présentation
Organiser son CI/CD - présentation Organiser son CI/CD - présentation
Organiser son CI/CD - présentation
Julien Garderon
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
Radhouen Assakra
 
Journée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsJournée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOps
Publicis Sapient Engineering
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
Ojasvi Jagtap
 
Kanban - Back to Basics
Kanban - Back to BasicsKanban - Back to Basics
Kanban - Back to Basics
Helen Meek
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
Lilia Sfaxi
 
Kafka pub sub demo
Kafka pub sub demoKafka pub sub demo
Kafka pub sub demo
Srish Kumar
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
Venkata Naga Ravi
 
클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloud클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloud
confluent
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
Araf Karsh Hamid
 
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
StreamNative
 
La DSI plateforme : DevOps, Agilité et Cloud
La DSI plateforme : DevOps, Agilité et CloudLa DSI plateforme : DevOps, Agilité et Cloud
La DSI plateforme : DevOps, Agilité et Cloud
Devoteam Revolve
 
5 Best Practices DevOps Culture
5 Best Practices DevOps Culture5 Best Practices DevOps Culture
5 Best Practices DevOps Culture
Edureka!
 
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Dimitri LEMBOKOLO
 
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSIAprès l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI
Sébastien Bourguignon
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Ravindu Fernando
 
Sprint
SprintSprint
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
Shiva Narayanaswamy
 
KEDA Overview
KEDA OverviewKEDA Overview
KEDA Overview
Jeff Hollan
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
Araf Karsh Hamid
 

Tendances (20)

Organiser son CI/CD - présentation
Organiser son CI/CD - présentation Organiser son CI/CD - présentation
Organiser son CI/CD - présentation
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
 
Journée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOpsJournée DevOps : La boite à outil d'une équipe DevOps
Journée DevOps : La boite à outil d'une équipe DevOps
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Kanban - Back to Basics
Kanban - Back to BasicsKanban - Back to Basics
Kanban - Back to Basics
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
 
Kafka pub sub demo
Kafka pub sub demoKafka pub sub demo
Kafka pub sub demo
 
Virtual Container - Docker
Virtual Container - Docker Virtual Container - Docker
Virtual Container - Docker
 
클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloud클라우드 네이티브를 위한 Confluent Cloud
클라우드 네이티브를 위한 Confluent Cloud
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
Message Redelivery: An Unexpected Journey - Pulsar Summit SF 2022
 
La DSI plateforme : DevOps, Agilité et Cloud
La DSI plateforme : DevOps, Agilité et CloudLa DSI plateforme : DevOps, Agilité et Cloud
La DSI plateforme : DevOps, Agilité et Cloud
 
5 Best Practices DevOps Culture
5 Best Practices DevOps Culture5 Best Practices DevOps Culture
5 Best Practices DevOps Culture
 
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk) Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
Tuto ToIP (Trunk SIP, IAX, Trunk CME - Asterisk)
 
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSIAprès l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Sprint
SprintSprint
Sprint
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
KEDA Overview
KEDA OverviewKEDA Overview
KEDA Overview
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 

Similaire à Devoxx 2018 : Chaos Engineering

Agile France 2018 : chaos engineering
Agile France 2018 : chaos engineeringAgile France 2018 : chaos engineering
Agile France 2018 : chaos engineering
Benjamin Gakic
 
Paris Chaos Engineering Meetup #1
Paris Chaos Engineering Meetup #1 Paris Chaos Engineering Meetup #1
Paris Chaos Engineering Meetup #1
Christophe Rochefolle
 
Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"
Christophe Rochefolle
 
Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5
Christophe Rochefolle
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Fabien Arcellier
 
Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6
Christophe Rochefolle
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
OCTO Technology
 
Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018
Nicolas VERINAUD
 
VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023
SpikeeLabs
 
Radical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptxRadical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptx
Flavian Hautbois
 
Happy dev ... & ops
Happy dev ... & opsHappy dev ... & ops
Happy dev ... & ops
Quentin Adam
 
Jftl 2018 chaos engineering
Jftl 2018   chaos engineeringJftl 2018   chaos engineering
Jftl 2018 chaos engineering
Christophe Rochefolle
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
SEO CAMP
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
LVLUP
 
Php 100k
Php 100kPhp 100k
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Publicis Sapient Engineering
 
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Benoît Lafontaine
 
Rapide introduction au concepts du Chaos Engineering
Rapide introduction au concepts du Chaos EngineeringRapide introduction au concepts du Chaos Engineering
Rapide introduction au concepts du Chaos Engineering
Sylvain Hellegouarch
 
Du craft chez les OPS
Du craft chez les OPSDu craft chez les OPS
Du craft chez les OPS
François Xavier Vende
 
DevOps, freedom to get stuff done
DevOps, freedom to get stuff doneDevOps, freedom to get stuff done
DevOps, freedom to get stuff done
Ahmed Bessifi
 

Similaire à Devoxx 2018 : Chaos Engineering (20)

Agile France 2018 : chaos engineering
Agile France 2018 : chaos engineeringAgile France 2018 : chaos engineering
Agile France 2018 : chaos engineering
 
Paris Chaos Engineering Meetup #1
Paris Chaos Engineering Meetup #1 Paris Chaos Engineering Meetup #1
Paris Chaos Engineering Meetup #1
 
Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"Cloud Expo Europe 2018 - "Et si on testait en production ?"
Cloud Expo Europe 2018 - "Et si on testait en production ?"
 
Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5Paris Chaos Engineering Meetup #5
Paris Chaos Engineering Meetup #5
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
 
Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018
 
VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023
 
Radical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptxRadical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptx
 
Happy dev ... & ops
Happy dev ... & opsHappy dev ... & ops
Happy dev ... & ops
 
Jftl 2018 chaos engineering
Jftl 2018   chaos engineeringJftl 2018   chaos engineering
Jftl 2018 chaos engineering
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
 
Php 100k
Php 100kPhp 100k
Php 100k
 
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
 
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
 
Rapide introduction au concepts du Chaos Engineering
Rapide introduction au concepts du Chaos EngineeringRapide introduction au concepts du Chaos Engineering
Rapide introduction au concepts du Chaos Engineering
 
Du craft chez les OPS
Du craft chez les OPSDu craft chez les OPS
Du craft chez les OPS
 
DevOps, freedom to get stuff done
DevOps, freedom to get stuff doneDevOps, freedom to get stuff done
DevOps, freedom to get stuff done
 

Dernier

Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Institut de l'Elevage - Idele
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
Institut de l'Elevage - Idele
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
Institut de l'Elevage - Idele
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
Institut de l'Elevage - Idele
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
imed53
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
sieousse95
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
Institut de l'Elevage - Idele
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Institut de l'Elevage - Idele
 
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Alternative - Complément  au Tramway et 3ème lien de la ville de Québec  Alternative - Complément  au Tramway et 3ème lien de la ville de Québec
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Daniel Bedard
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Institut de l'Elevage - Idele
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
Institut de l'Elevage - Idele
 

Dernier (11)

Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
 
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Alternative - Complément  au Tramway et 3ème lien de la ville de Québec  Alternative - Complément  au Tramway et 3ème lien de la ville de Québec
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
 

Devoxx 2018 : Chaos Engineering

  • 1. #DevoxxFR @BenjaminGakic Chaos Engineer & SRE Benjamin Gakic #DevoxxFR @BenjaminGakic Chaos Engineer & SRE Benjamin Gakic
  • 3. #DevoxxFR Evolution de “Chaos Monkey” vs “Chaos Engineering” depuis Juin 2010 sur Google Trends Chaos Engineering au sein du Technology Radar de ThoughtWorks …Et ce n’est que le début! Le Chaos Testing en early adopter à la Conference Qcon New york
  • 5. #DevoxxFR Désordre SIMPLE COMPLIQUÉ CHAOTIQUE COMPLEXE Meilleures pratiques Observer – Catégoriser – Répondre Bonnes pratiques Observer – Analyser – Répondre Pratiques émergentes Sonder – Observer – Répondre Nouvelles Pratiques Agir – Observer – Répondre Chaos Engineering Systémique Cause Effet Cause Effet Causes ? Effets
  • 7. #DevoxxFR La résilience est le principe de base de la vie Faire pareil avec les systèmes informatiques? Continuer de vivre quoi qu’il arrive…
  • 8. #DevoxxFR Le Chaos engineering vise à accroitre la résilience des systèmes d’informations, des applications et des infrastructures qui la composent, mais aussi des équipes qui les gèrent. Mais comment?...
  • 10. #DevoxxFR Datacenter 2 Application A 1 2 3 4 5 Tests unitaires Tests de régression Tests d’intégration Tests techniques (Performance, charge, résilience, etc…) Application B Application C Application D non déterministe, Ensembliste, Déterministes • 1 valeur en entrée • 1 valeur en sortie • 1 assertion En production! Testing & Chaos Engineering Application centric Hors prod Datacenter 1 E
  • 12. #DevoxxFR CHAOS ENGINEERING « Discipline de l'expérimentation sur un système distribué afin de renforcer la confiance dans la capacité du système à résister à des conditions turbulentes en production. » http://principlesofchaos.org/ initiée par
  • 13. #DevoxxFR Les étapes de l’expérimentation 1. Que cherche-t-on à prouver? 2. Restreindre le périmètre 3. Identifier ce qu’il faut observer 4. Communiquer! 5. Injecter le chaos 6. Analyser consciencieusement les impacts 7. Et Recommencer!
  • 14. #DevoxxFR Pour la première fois, les indisponibilités arrivent en tête des sujets d’inquiétude des responsables informatiques, devançant ainsi la sécurité. Sondage réalisé sur un échantillon de 400 entreprises en Grande-Bretagne, Allemagne, France, Suède et Pays-Bas par Quocirca pour Splunk Source: Master of Machines III - Réduire l’impact des incidents IT Quocirca
  • 15. #DevoxxFR Un incident majeur est si vite arrivé…
  • 18. #DevoxxFR Auto-scaling: Dimensionner son architecture aux justes besoins du moment, c’est-à-dire de pouvoir dynamiquement augmenter ou réduire le nombre d’instances nécessaires au bon fonctionnement du SI sans pénaliser les performances. Scale up : le système peine, il faut créer plus d’instances pour absorber la charge. Scale down : le système est en sous charge, il ne sert à rien de disposer de trop d’instances, on les retire pour adapter la charge. Scale initial : C’est le nombre d’instances optimal devant être disponible à tout moment. On peut tester l’implémentation avec un tir de charge Mais on l’expérimente dans la vraie vie avec un Chaos Monkey
  • 19. #DevoxxFR Je n’ai pas d’auto scaling, je ne suis pas chez AWS, puis-je faire du chaos monkey?
  • 20. #DevoxxFR Conserver les mêmes concepts autour du Chaos Engineering Redéfinir et adapter le Chaos Monkey à son infrastructure : • Valider la résilience des applications sur le même symptôme • Vérifier la présence d’effets inattendus Le Chaos Monkey c’est une interface à implémenter!
  • 22. #DevoxxFR { "monkey": { "name": "chaos monkey", "target": { "application": "XYZ", "environnement": "PREP1", "techno": "webServer", "nodePattern": "order" }, "delay": { "minDelay": "0m", "maxDelay": "7d", "workedTime": "0-24|1234567", "restart": "true", "restartTime": "10m" }, "killStyle": "brutal", "mailTo": "toto@devoxx.fr" } } Mais finalement un peu plus compliqué que ça! On ne déchaine pas comme ça les feux de l’enfer!
  • 23. #DevoxxFR Le plus important n’est pas l’implémentation en elle-même mais la manière dont on implémente
  • 24. #DevoxxFR POC Squad inter-équipe dev & ops Développement en mode expérimental, à base de mini-hackatons Mars 2016 Mai 2017 Aujourd’hui Janvier 2016 Octobre 2016 Février 2017
  • 25. #DevoxxFR Communauté Résilience et Tests Techniques Objectifs : • Proposer des outils de test de résilience • Aider à la mise en place des outils et patterns • Apporter un changement culturel Mars 2016 Mai 2017 Aujourd’hui Janvier 2016 Octobre 2016 Février 2017
  • 26. #DevoxxFR Grâce à la communauté nous disposons d’un bestiaire à l’image de la Simian army de Netflix Mars 2016 Mai 2017 Aujourd’hui Janvier 2016 Octobre 2016 Février 2017
  • 27. #DevoxxFR Initiation au test en production, La panne va-t-elle avoir un impact notable? Pilotage et validation pour les devs Entrainement pour les ops Chaos Monkey Bridé Mars 2016 Mai 2017 Aujourd’hui Janvier 2016 Octobre 2016 Février 2017
  • 28. #DevoxxFR Chaos Monkey en production, La finalité Mon appli en prod Chaos Monkey Libéré! Délivré! LES DEV OPS Même pas peur Objectif : Aucun impact financier Même pas mal! Mars 2016 Mai 2017 Aujourd’hui Janvier 2016 Octobre 2016 Février 2017
  • 29. #DevoxxFR Premier Chaos Monkey en production… …et la production marche toujours Mars 2016 Mai 2017 Aujourd’hui Janvier 2016 Octobre 2016 Février 2017
  • 30. #DevoxxFR Objectif : faire du chaos engineering sur toutes les applications critiques Mars 2016 Mai 2017 Aujourd’hui Janvier 2016 Octobre 2016 Février 2017
  • 31. #DevoxxFR #1 : Le Chaos Monkey n’est pas un outil de test
  • 32. #DevoxxFR #2 : Le Chaos Monkey ce n’est pas casser la prod juste pour s’amuser
  • 33. #DevoxxFR #3 : Le Chaos Monkey n’est pas un phénomène de mode, il s’inscrit dans une démarche
  • 34. #DevoxxFR Comme toute démarche, une action unique ne suffit pas
  • 36. #DevoxxFR Days of Chaos Chapter One Vendredi 13 Janvier 2017
  • 37. #DevoxxFR DaysofChaos Vous allez subir des vagues de pannes en provenance des tréfonds de l’exploitation. Votre mission est de repousser ces vagues et de détecter, diagnostiquer et résoudre les pannes le plus vite possible. L’avenir de notre production dépend de vous… Détection : +100 Diagnostic : +150 Résolution : +200 Bonus 1ère proposition: +100 Indice : -50 Nombrederounds: 8 Récompenses: 3
  • 38. #DevoxxFR Résolution Dev Incident Ops Détection Dev Diagnostic Dev Remise en état... Validation Ops Gestion d’une panne Question bonus Vidéo explicative1 2 3
  • 40. #DevoxxFR frontend MYAPPPREP1TDC bind :51702 # Port d'ecoute toutes IP confondues #default_backend MYAPPPREP1 default_backend MYAPPPREP2 backend MYAPPPREP1 # Definit la ferme de serveurs stats uri /stats balance roundrobin option httpchk GET /myapp1h/totohealthcheck/NAGIOS HTTP/1.1rnHost: www.voyages-sncf.com #http-check disable-on-404 cookie MYAPP_TOMCAT insert indirect nocache server MYAPPMH11 10.98.64.17:52357 cookie myappmh11 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10 server MYAPPMH12 10.98.64.17:52359 cookie myappmh12 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10 server MYAPPMH13 10.98.64.17:52361 cookie myappmh13 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10 server MYAPPMH11 10.98.65.15:52357 cookie myappmh11 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10 server MYAPPMH12 10.98.65.15:52359 cookie myappmh12 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10 server MYAPPMH13 10.98.65.15:52361 cookie myappmh13 check inter 10s fastinter 1s fall 3 rise 2 maxconn 160 slowstart 30s weight 10 echo "-----------------KO MYAPP-----------------" cp /HOME/chaos_user/KO/IDH/hapMYAPPPREP1.conf /HOME/chaos_user/MYAPP/Config/hapMYAPPPREP1.conf ksh /HOME/chaos_user/MYAPP/scripts/hapctlMYAPPPREP1 reload -y echo "-----------------OK MYAPP-----------------" cp /HOME/chaos_user/OK/MYAPP/hapMYAPPPREP1.conf /HOME/chaos_user/MYAPP/Config/hapMYAPPPREP1.conf ksh /HOME/chaos_user/MYAPP/scripts/hapctlMYAPPPREP1 reload -y
  • 44. #DevoxxFR 113 joueurs 18 équipes 2 commentateurs 2 aides de camp 8 ops
  • 45. #DevoxxFR Objectif accompli ! Détection : 87% Diagnostic : 73% Résolution : 45%
  • 46. #DevoxxFR Supervision et alerting Tests techniques Partage des connaissances Arbres d’analyse 8 -> 6 pannes 4h -> 3h30 de jeu 80% Intérêt du jeu 70% Qualité de l’organisation 74% Prise de conscience
  • 47. #DevoxxFR Communication et marketing Cohésion intra et inter-équipes Gamification Points forts
  • 48. #DevoxxFR Days of Chaos Chapter 1 Days of Chaos Chapter 2 CHAPTER 3
  • 49. #DevoxxFR Un Day of Chaos c’est du Chaos Engineering? Mais on est pas en prod!!! https://medium.com/russmiles/chaos-engineering-for-the-business-17b723f26361
  • 50. #DevoxxFR En production La vraie vie, avec des vrais utilisateurs et potentiellement de la perte de VA. Communication Mettre en place du Chaos n’est pas la meilleure façon de rencontrer vos nouveaux collègues, mais c’est la plus rapide. Nora Jones (@nora_js) Gamification Rendre l’apprentissage plus amusant en s’appuyant sur la prédisposition humaine au jeu Expérimentation Les principaux points à retenir Validation de ce qui est important sur votre infrastructure. Votre résilience n’est pas celle des autres.
  • 51. #DevoxxFR https://days-of-chaos.slack.com Paris Chaos Engineering Meetup http://meetu.ps/c/3BMlX/xNjMx/f https://chaosengineering.slack.com http://days-of-chaos.com/ https://medium.com/paris- chaos-engineering- community
  • 52. #DevoxxFR BOF (Bird of a feather) 19 avril 2018

Notes de l'éditeur

  1. Les organisations européennes connaissent en moyenne 3 incidents IT par mois. 2/3 (65%) des organisations européennes rapportent qu’un incident IT a déjà eu des conséquences sur leur réputation, engendrant des répercutions financières (115 k€).
  2. On veut de la séduction? Préparons notre jeu comme un jeu vidéo avec une vrai jaquette!
  3. Rappel objectif : Sdf Devops (faire une sorte de mini subit ma vie) Marquer les esprits Pannes Système! Celles que vivent les ops. Ceci aura été l’hameçonnage pour les ops. Faites subir aux devs ce que vous vivez!
  4. Rappel objectif : Sdf Devops (faire une sorte de mini subit ma vie) Marquer les esprits Pannes Système! Celles que vivent les ops. Ceci aura été l’hameçonnage pour les ops. Faites subir aux devs ce que vous vivez!
  5. Besoin d’implication forte de la partie ops. Présentation comme un jeu mais aussi comme une opportunité de faire un « vie ma vie d’exploitant ». Permettre de sensibiliser les équipes au travail fait et aux pannes les plus fréquentes ou au besoin de bien communiquer et développer les applications. 2 ateliers de création des pannes : 20 exploitants mobilisés en 2 sessions d’une heure. 40 pannes proposées. 15 short listées pour leur pertinence. 8 sélectionnées par facilité de mise en oeuvre et possibilité de résolution par les équipes de dev (il faut rester pragmatique). Désignation d’une équipe de choc pour gérer le scripting et la réalisation des pannes
  6. Phase de com’ – Opération séduction Des affiches de teasing créant une rupture avec toutes les autres opérations de com’ réalisées jusqu’à présent. Le thème principal : le jeu de guerre en reprenant comme support culturel « Ender’s Game (la strategie Ender) » de Scott Orson card. Des affiches posées avec très peu d’information, juste un « engagez-vous ». Un ajout à un moment donné d’une adresse vers un site interne réalisé pour l’événement avec sa propre charte graphique et son formulaire d’engagement. Une com’ réglementaire par mail venant compléter le tout et enfonçant le clou.
  7. Phase de jeu – Le jour J Début à 9h 4 + 8 + 5 personnes dédiées au déroulement. Deux commentateurs maitres de cérémonie (un à Paris, un à Nantes), une aide ops, une chargée de classement et de décompte de points, 8 ops à 150%, 2 com’ interne, 3 services généraux. Une conf Skype avec deux commentateurs donnant des informations sur le déroulement et les avancées du jeu Une room hipchat pour les communications officielles et les réponses Une conf Skype dediée ops 7 pannes déroulées dont une a râté. Une dernière annulée suite à un incident sur la preprod. Fin à 12h30 Remise des prix à 14h. Plus de 200 spectateurs
  8. War room côté ops pour éviter une conf dédiée parallèle + effet je suis dédié à l’événement. Possibilité pour les ops de participer à la conf gobale Prévoir plus d’ops pour faciliter le traitement des demandes des équipes. Descendre de 4h à 3h d’événement. Pousser peu plus loin les répétitions et les préparations des pannes. Planifier la fin des inscriptions plus tôt. Laisser un délais de un mois entre la fin des inscriptions et l’événement.
  9. Un sujet difficile, peu motivant rendu plus accessible par la gamification