Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Devoxx 2018 : Chaos Engineering

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 52 Publicité

Plus De Contenu Connexe

Similaire à Devoxx 2018 : Chaos Engineering (20)

Plus récents (20)

Publicité

Devoxx 2018 : Chaos Engineering

  1. 1. #DevoxxFR @BenjaminGakic Chaos Engineer & SRE Benjamin Gakic #DevoxxFR @BenjaminGakic Chaos Engineer & SRE Benjamin Gakic
  2. 2. #DevoxxFR Le Chaos Engineering dans le monde
  3. 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
  4. 4. #DevoxxFR Qu’est-ce que le chaos?
  5. 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
  6. 6. #DevoxxFR Qu’est-ce que la résilience?
  7. 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. 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?...
  9. 9. #DevoxxFR
  10. 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
  11. 11. #DevoxxFR
  12. 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. 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. 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. 15. #DevoxxFR Un incident majeur est si vite arrivé…
  16. 16. #DevoxxFR
  17. 17. #DevoxxFR
  18. 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. 19. #DevoxxFR Je n’ai pas d’auto scaling, je ne suis pas chez AWS, puis-je faire du chaos monkey?
  20. 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!
  21. 21. #DevoxxFR L’implémentation technique?...
  22. 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. 23. #DevoxxFR Le plus important n’est pas l’implémentation en elle-même mais la manière dont on implémente
  24. 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. 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. 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. 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. 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. 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. 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. 31. #DevoxxFR #1 : Le Chaos Monkey n’est pas un outil de test
  32. 32. #DevoxxFR #2 : Le Chaos Monkey ce n’est pas casser la prod juste pour s’amuser
  33. 33. #DevoxxFR #3 : Le Chaos Monkey n’est pas un phénomène de mode, il s’inscrit dans une démarche
  34. 34. #DevoxxFR Comme toute démarche, une action unique ne suffit pas
  35. 35. #DevoxxFR Game Day
  36. 36. #DevoxxFR Days of Chaos Chapter One Vendredi 13 Janvier 2017
  37. 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. 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
  39. 39. #DevoxxFR
  40. 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
  41. 41. #DevoxxFR 43 pannes 8 short listées
  42. 42. #DevoxxFR
  43. 43. #DevoxxFR
  44. 44. #DevoxxFR 113 joueurs 18 équipes 2 commentateurs 2 aides de camp 8 ops
  45. 45. #DevoxxFR Objectif accompli ! Détection : 87% Diagnostic : 73% Résolution : 45%
  46. 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. 47. #DevoxxFR Communication et marketing Cohésion intra et inter-équipes Gamification Points forts
  48. 48. #DevoxxFR Days of Chaos Chapter 1 Days of Chaos Chapter 2 CHAPTER 3
  49. 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. 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. 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. 52. #DevoxxFR BOF (Bird of a feather) 19 avril 2018

Notes de l'éditeur

  • 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€).
  • On veut de la séduction?
    Préparons notre jeu comme un jeu vidéo avec une vrai jaquette!
  • 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!
  • 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!
  • 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
  • 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.
  • 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
  • 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.
  • Un sujet difficile, peu motivant rendu plus accessible par la gamification

×