Lorsque nous créons des choses que nous souhaitons voir durer, nous devons non seulement concevoir comment elles fonctionnent, mais aussi comment elles survivent à long terme.
Imaginez que vous voulez rendre votre voiture résiliente. Vous commencez par la renforcer, en ajoutant toutes les mesures de sécurité possibles : du verre pare-balles au freinage automatique et aux dispositifs de retenue supplémentaires. La robustesse est un élément nécessaire, mais insuffisant de la résilience : ce n'est pas parce qu'une chose est robuste qu'elle est résiliente.
Vous ajoutez donc de la redondance. Vous achetez plusieurs de ces voitures, au cas où l'une d'elles tomberait en panne ou serait en réparation. Vous faites des copies des clés et les confiez à des personnes de confiance. Vous stockez de l’essence supplémentaire chez vous. Votre système de conduite a ainsi moins de points de défaillance uniques. Comme la robustesse, la redondance est une base importante de la résilience. Si vous avez des sauvegardes d’un document important, vous pouvez supporter la perte d’une seule copie. Bien que les systèmes Internet modernes soient composés de nombreux éléments, nous apprenons à les concevoir de manière redondante. Nous utilisons plusieurs serveurs DNS, nous redirigeons le trafic à travers plusieurs systèmes autonomes, vers des centres de données parallèles, où des instances de serveurs traitent les demandes. Chaque couche est conçue pour répartir la charge sur des couches inférieures capables de la gérer.
La résilience va au-delà de la robustesse (rendre quelque chose solide) ou de la redondance (faire plusieurs copies d’une chose pour avoir un secours en cas de panne). Les systèmes véritablement résilients nous alertent en cas de défaillance et s'auto-réparent. Ils sont conçus de façon à revenir à un état d'équilibre et de bon fonctionnement après un échec.
Le NIST dit qu’un système résilient « fonctionne dans des conditions défavorables ou sous stress, même dans un état dégradé ou affaibli, tout en maintenant les capacités opérationnelles essentielles », et « retrouve un état opérationnel efficace dans un délai conforme aux besoins de la mission».
Le changement est la seule constante réelle, et créer quelque chose qui survit au changement est difficile. Tout système résilient doit supporter quatre types d’interruptions :
Le système se défend contre des forces extérieures qui cherchent à le modifier, soit intentionnellement, soit dans le cadre d’un événement défavorable. Il résiste aussi aux erreurs humaines et aux fautes, et limite les activités de ceux qui voudraient l’endommager ou l’utiliser de manière abusive. En fin de compte, le système ne se contente pas de continuer à fonctionner, mais il conserve sa structure et sa fonctionnalité prévue malgré les forces extérieures.
Au-delà de la robustesse et de la redondance, les systèmes résilients incluent :
-
Une documentation pour la restauration du service.
-
Une anticipation des défaillances accidentelles et intentionnelles auxquelles le système pourrait être confronté, avec des procédures pour atténuer et se remettre de ces défaillances.
-
Une surveillance et des alertes pour avertir les opérateurs lorsque le système tombe en panne.
-
Des dispositifs de sécurité ou des mécanismes d’arrêt d’urgence pour désactiver le système s'il se comporte de manière inattendue.
-
Une dégradation progressive (par exemple, un système de messagerie surchargé peut envoyer des messages sans pièces jointes ; un hôpital peut trier les patients en cas de coupure de courant).
-
Des procédures pour mettre à jour les procédures elles-mêmes, au fur et à mesure que le système évolue.
Alors que nous nous appuyons de plus en plus sur des services numériques, la conception résiliente devient essentielle. Lors du FWD50, nous discutons de la manière d’apporter la résilience à la prestation de services et à la création de processus, en intégrant ces types d'exigences dans le service public.Nous avons déjà confirmé des conférenciers incroyables pour la conférence de cette année, comme Bryon Kroger, qui aborde ce thème central dans sa prochaine session.