Voyages-sncf.com a abordé les sujets d’agilité depuis plusieurs années et a ainsi pu en 2016 effectuer 233 mise en production sur son site web et ses applications mobiles grâce à une démarche basée sur 3 piliers :
· Agilité
· Usine Logicielle DevOps
· Feature Team
Cependant, avec la démultiplication des équipes applicatives autonomes et responsables, l’accélération des mises en productions, nous avons dû faire évoluer nos démarches pour maintenir la stabilité du système.
Pour cela, nous nous sommes fixés comme objectifs de passer de l’exploitabilité (conformité aux Normes d’Exploitation) assurant la Qualité de Service (capacité d’un réseau à fournir un service : performance et disponibilité) à de la sûreté de fonctionnement en garantissant un niveau de confiance justifiée dans les évolutions que nous apportons pour nous permettre d’améliorer le degré de plaisir de nos utilisateurs dans l’usage de nos applications ou services (Qualité d’Expérience – QoE).
Pour que les équipes comprennent les enjeux d’une telle démarche, Netflix a créé un Chaos Monkey : il s’agit d’une application, en production, qui débranche des flux réseau ou des machines aléatoirement, sans que personne ne puisse le contrôler. Avec un tel programme en environnement de production, les équipes sont obligées d’imaginer tous les scénarios et les démarches à appliquer en cas de problème. La sûreté de fonctionnement devient un vrai enjeu.
Nous venons de déployer un tel programme en production.
Nous nous sommes également inspirée des GameDays d’AWS pour tester la résilience de ses applications. Le vendredi 13 janvier, les équipes applicatives volontaires ont participé à un Day of Chaos. Toutes les 30 minutes, des exploitants simulaient des pannes en pré-production. Les équipes obtenaient des points en fonction des détections, des diagnostics et des résolutions. Ce type d’événement gamifié a permis d’initier les équipes de développement à ces concepts.
L’objectif de REX est donc de vous partager ce que nous avons appris du début de l’initiative à sa réalisation, et les enseignements que nous en avons tirer.
9. Confidentialité
« CNIL is watching you, NSA can’t »
Concevoir des applications et
architectures qui protègent et
n’exposent pas les informations sensibles
et confidentielles, les associer à des
processus adaptés.
Continuous delivery
« Installer & tester sans y penser »
Connaître l’état de mon application et de
ses développements grâce à un cycle de
vie pensé pour l’automatisation.
Rendre plus simple et plus accessible les
tests des produits ou solutions.
Diagnosticabilité
« Ce ne sont pas les problèmes que vous
recherchez »
Historiser les évènements permettant
de comprendre, reproduire, analyser une
situation client.
Alerter sur la base de cette historisation
en fonction d’indicateurs techniques et
business
Supervisabilité
« La casserole qu’on surveille ne déborde
jamais »
Pouvoir à chaque instant informer sur
l’état d’une application. Suivre au
quotidien les métriques applicatives.
Audace
« Sortir de nos zones
de confort »
Proposer des produits
inédits à forte valeur
ajoutée, qui anticipent les
besoins du client et le
rendent heureux.
Clientologie
« Qui parle, sème.
Qui écoute, récolte »
Assumer une information «
vivante », pertinente
et cohérente sur chaque canal.
Respecter et intégrer les
remarques de mon client en lui
proposant un service simple et
compréhensible dans le respect
de la marque et de ses valeurs.
Simplicité,
fluidité
& cohérence
« Don’t make me think»
Imaginer des applications
intuitives, fluides et
cohérentes sur l’ensemble
de nos produits, accessibles
à tous,
avec accès immédiat aux
informations dont le client
a besoin.
Disponibilité
« Je serai toujours là
pour toi »
Assurer un service continu des
services critiques par une
architecture scalée et redondée
Minimiser les impacts des
défaillances internes et
externes.
Offrir une expérience qui
s’adapte aux limitations de
l’environnement client.
Résilience
« Même pas mal»
Construire une application en
laquelle j’ai confiance, toujours
en état de fonctionnement
optimal. Quelles que soient les
perturbations, les applications
me proposent des services et
des solutions concrètes à mes
demandes en toute sécurité,
quitte à se placer en mode
dégradé.
IT-Bilité
« Aussitôt dit,
aussitôt fait,
aussitôt sûr»
Amener notre SI à un état
souhaité et le maintenir dans
cet état facilement, rapidement
et avec la certitude d’avoir le
résultat recherché.
Disposer d’outils simples,
flexibles, réactifs et évolutifs,
permettant de détecter et de
corriger rapidement les
anomalies
Diagnosticabilité
« Ce ne sont pas les problèmes que vous
recherchez »
Historiser les évènements permettant
de comprendre, reproduire, analyser une
situation client.
Alerter sur la base de cette historisation
en fonction d’indicateurs techniques et
business
Supervisabilité
« La casserole qu’on surveille ne déborde
jamais »
Pouvoir à chaque instant informer sur
l’état d’une application. Suivre au
quotidien les métriques applicatives.
Résilience
« Même pas mal»
Construire une application en
laquelle j’ai confiance, toujours
en état de fonctionnement
optimal. Quelles que soient les
perturbations, les applications
me proposent des services et
des solutions concrètes à mes
demandes en toute sécurité,
quitte à se placer en mode
dégradé.
Fédération &
synergie
« Un pour tous et tous pour
un »
Mettre en commun les
initiatives pour concevoir un
produit facile à corriger et à
faire évoluer grâce à des
pratiques et des outils
partagés par tous.
12. 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
Nombre de rounds :
8
Récompenses :
3
21. 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
• Disponibilité
• Préparation des pannes
• Trop peu pour gérer autant de joueurs
• Quelques ratés organisationnels
• Ambiance
• Nouveauté
• Intérêt
• Jeu bien calibré pour une première