En ce début d'année scolaire nous avons encore un peu la tête en vacances. Du coup nous avons décidé de jouer un peu. Mais en bon DevOps que nous sommes, nous allons jouer avec la production ;-)
Frederic Leger de Build-And-Run vous présentera le concept de "Game Day" et comment tout casser votre production pour vous assurer de sa résilience.
Nous aborderons également comment l'intégrer dans votre chaîne de tests pour qu'elle devienne une pratique courante.
Nous vous attendons nombreux !
5. #build-and-run.fr
- Groupement d’OPS freelances sur Aix-Marseille
- Expérience de la production
- Orientés DevOps
- Agiles
- Passionnés
https://www.build-and-run.fr/
6.
7. Théorie du chaos
Wikipedia
Etude du comportement des systèmes très sensibles aux
conditions initiales (météo, sociologie, informatique ...) ->
effet papillon
Pour de tels systèmes des différences infimes dans les
conditions initiales entraînent des résultats totalement
différents, rendant en général toute prédiction impossible à
long terme.
8. Architectures résilientes
Résilience:
● (Physique) Propriété physique d’un matériau de retrouver
sa forme après avoir été comprimé ou déformé, élasticité.
● (Psychologie) Résistance psychique face aux aléas de la
vie.
Architectures résilientes:
● Capable de se remettre automatiquement d’un incident ?
9. Wrapping up ...
Du coup, est il possible de construire des
applications qui soient résilientes face à un
système imprévisible sur le long terme ?
10. Le concept de Game Day
- Introduit (entre autre) à l’AWS summit 2018
- Concept : “mettre en conditions réelles et générer des
catastrophes, on met les équipes en compétition, beaucoup
de fun”
11. - Et si c’était GameDay tous les jours ?
- Lun-Jeu
- 9h-19h
- Pas les jours fériés
- Pas les vacances
Et si ?
12. Quel intérêt ?
1) Avant tout parce que c’est “Fun” ?
2) Le test unitaire du DevOps ?
3) Permet d’anticiper les problèmes et de trouver les
solutions ensemble !
4) Prévoir l’imprévisible ! (le chaos)
5) Tester des cas “limites”
6) Sh… happens ! #OVHgate(x2) #S3-outage #gitlab-postgress
15. - Beanstalk
- Un des premiers services AWS
- Permet de déployer des applications sans gérer la partie serveurs
- Automatisation des déploiements et de la configuration
- Résilience
- Basés sur les Auto Scalling Groups + ELBs
Architectures résilientes: un exemple chez AWS
18. Démo sur AWS
- 1 app Symfony 4 (sondages en AJAX)
- 1 base de donnée RDS (MySQL)
- Déploiement automatisé via Beanstalk
19.
20. SimianArmy
- Netflix basé sur AWS
- 2011
- Chaosmonkey: cible des instances EC2
- JanitorMonkey: Supprime des ressources AWS non utilisées
- ConformityMonkey: cible des instances “non conformes”
- Important: Le projet n’est plus maintenu ! Mais
fonctionne toujours …
- Java / Graddle
- https://github.com/Netflix/SimianArmy
21. Demo - Skeddly
- Service web qui permet d’automatiser des actions aws
- https://www.skeddly.com/
23. Démo - Kubernetes
Si vous êtes sur une infra basée sur les containers. Le chaos
à aussi des solutions pour vous.
- chaoskube | https://github.com/linki/chaoskube
- kube monkey | https://github.com/asobti/kube-monkey
La même app + minikube + helm + chaoskube !
25. Conclusions
- Assez facile à mettre en place
- S’adapte en fonction des différents types
d’infrastructures
- Concept de cercle vertueux
- Responsabilisations des équipes (you build it, you run
it)
- Ludique
- Vertueux
- Ecrire ses propres monkeys ? OUI !