Explorer les opérations continues
Les opérations continues sont l’une des huit fonctionnalités de la taxonomie DevOps.
Découvrir pourquoi les opérations continues sont nécessaires
Les systèmes complexes sont confrontés à l’échec et peuvent subir des pannes et interruptions coûteuses. Prenons quelques exemples.
| Sociétés | Événement |
|---|---|
Delta Air Lines |
En août 2016, Delta Air Lines a été forcé d’annuler 2 300 vols parce qu’une seule petite pièce d’un équipement défectueux avait provoqué une coupure de courant dans son centre des opérations à Atlanta. Le coût déclaré pour l’entreprise s’est élevé à 150 millions de dollars US. |
FedEx et le service de santé public du Royaume-Uni (National Health Service) |
En mai 2017, le ransomware WannaCry a provoqué des perturbations opérationnelles chez FedEx. Une filiale de FedEx a déclaré des pertes s’élevant à 300 millions de dollars US. Le service de santé public du Royaume-Uni (National Health Service) a également été victime de ce rançongiciel, qui a bloqué l’accès à ses ordinateurs, verrouillé du matériel médical vital et contraint certains hôpitaux à rediriger des ambulances vers d’autres établissements. |
Amazon S3 |
En février 2017, une erreur d’opérateur a entraîné une interruption pendant quatre heures des principaux services de stockage d’Amazon. Les répercussions ont été multiples sur plusieurs propriétés web majeures, comme Alexa, IFTTT, Quora et Trello. |
| LinkedIn a subi un problème qui a empêché tout travail de développement pendant deux mois. | |
Equifax |
Equifax a fait l’objet d’une violation de la sécurité en 2017, qui a entraîné l’exposition des informations personnelles de plus de 160 millions de consommateurs. Nous avons décrit ce problème plus précisément dans la section sur la sécurité continue. |
L’impact et le coût d’une violation de la sécurité pour l’entreprise
Les coûts d’une violation de la sécurité vont souvent bien au-delà de la perte de chiffre d’affaires et de la perte de confiance en une entreprise. Ces coûts peuvent inclure d’autres éléments :
- Réponse et notification
- Il existe des coûts opérationnels et de service pour notifier les parties concernées conformément à la législation. Ces coûts incluent aussi souvent des coûts supplémentaires liés aux centres d’appels, aux relations publics et aux services d’analyse des crédits.
- Perte de productivité et rotation du personnel
- L’avocat-conseil général de Yahoo a démissionné et le PDG n’a pas reçu son bonus annuel pour 2016.
- Actions en justice et conciliations
- Le défendeur a versé 18,5 millions de dollars US à 47 états des États-Unis.
- Amendes et sanctions légales
- Avec les nouvelles stratégies de protection des données en vigueur au sein de l’Union européenne depuis 2018, l’amende s’élève à 4 % du chiffre d’affaires annuel ou à 20 millions d’euros, la valeur la plus élevée étant retenue.
- Coûts de relance de la marque
- L’entreprise de technologies d’exploitation minière Codan a vu son chiffre d’affaires passer de 45 millions de dollars US à 9,2 millions de dollars US en une année.
- Autres dettes
- Verizon a versé 350 millions de moins pour Yahoo après deux piratages massifs.
Des exigences de sécurité et d’audit supplémentaires peuvent aussi s’avérer nécessaires.
Disponibilité et récupération dans les opérations continues
Selon une enquête menée par Gartner, les leaders économiques et informatiques s’attendaient à ce que 47 % des applications de production s’exécutent sur des emplacements cloud publics d’ici 2020.
Quand des centres de données entiers peuvent être détruits par une seule ligne de code, les dirigeants se concentrent sur les besoins de faire évoluer la disponibilité et la récupération des environnements de production. De nouveaux modèles de déploiement modifient la façon dont nous garantissons la disponibilité des applications et de l’infrastructure ainsi que les fonctionnalités de récupération.

Un nombre croissant d’applications et de mises en production
Les indicateurs de performance clés pour la livraison de logiciels sont les suivants :
- Délai de modification
- Fréquence de déploiement
- Temps moyen avant restauration
- Taux d’échec de modification
Les équipes qui s’efforcent d’accélérer le rythme sans investir suffisamment dans la qualité du processus vont subir des échecs plus importants et des délais de restauration du service plus longs. Les équipes qui développent la qualité dans le processus récoltent à la fois vitesse et stabilité.
Le nombre d’applications web et mobiles, ainsi que la fréquence des mises en production d’applications, ont considérablement augmenté. Le code est également devenu de plus en plus complexe.

Remarque
Une grande partie de la valeur de DevOps en général consiste à trouver le juste équilibre entre l’innovation (vitesse) et la continuité de l’activité (contrôle).
Que sont les opérations continues ?
Important
Les opérations continues réduisent ou éliminent le recours nécessaire à des temps d’arrêt ou interruptions planifiés, comme la maintenance planifiée. La supervision continue de l’infrastructure, des applications et des services doit être liée à une correction automatisée, dans la mesure du possible. Un utilisateur ne doit jamais savoir quand une mise à jour ou une version incrémentielle se produisent.

Comparer les pratiques traditionnelles à celles des opérations continues
Dans un modèle d’entreprise traditionnel, le service informatique applique ce qui est mis en production et contrôle tout le monde selon des processus et procédures stricts.
Cette approche entraîne une discordance entre les équipes de développement et la gouvernance informatique. Les équipes de développement sont pour la plupart agiles, concentrées sur la vitesse et prédisposées à mettre en production aussi souvent qu’elles le souhaitent. Pour elles, la gouvernance informatique s’apparente à un goulot d’étranglement qui n’est pas en phase avec les objectifs attendus de délai de commercialisation qui correspondent aux besoins des entreprises d’aujourd’hui.

Important
Implémenté correctement, DevOps peut à la fois assurer l’innovation (vitesse) et la continuité de l’activité (contrôle).
Dans un cycle de vie du développement traditionnel :
- Les tests sont effectués juste avant la mise en ligne.
- La supervision est souvent transférée.
- La sécurité est souvent consultée pendant les phases de test.
- Lors du transfert, des vérifications de sécurité du code et tous les contrôles de management des services doivent être effectuées.
- La conformité ne fait souvent pas partie du transfert, mais « surgit » pendant l’état opérationnel d’un service.
- La planification de la résilience et de la continuité s’effectue pendant la phase de conception, mais les tests réels des scénarios associés sont souvent effectués uniquement pendant la phase des opérations ou des tests, ce qui peut entraîner des modifications de configuration, des remaniements et des efforts inutiles.
- La collaboration entre les opérations, les services de sécurité et conformité et les développeurs s’effectue souvent de manière réactive par le biais de processus de gestion des incidents et de gestion des problèmes.
- Ne pas traiter l’automatisation avant les phases finales ne laisse souvent que peu de ressources pour le faire.

Les méthodes, les technologies et les modes de travail nouveaux appellent une nouvelle approche des opérations continues. Les huit pratiques principales suivantes sont apparues et continuent d’évoluer pour les opérations continues :
- Par définition, la sécurité et la conformité reconnaissent que certaines normes, législations, mais aussi certains besoins métier comme la traçabilité et capacité d’audit doivent être pris en considération au moment du design, en cas de conception pour des environnements cloud hautement automatisés.
- La continuité et la résilience exigent une collaboration étroite avec l’organisation pour veiller à ce que les besoins métier soient réfléchis dans la conception et l’implémentation.
- La télémétrie et la supervision peuvent servir à découvrir des modèles d’utilisation chez les clients, d’éventuels nouveaux besoins et des informations détaillées sur les erreurs rencontrées par les utilisateurs. Ces outils permettent aussi de vérifier que la valeur attendue est livrée.
- Le management des services est une autre conversation dans une culture DevOps :
- Une transition signifie une propriété. Vous créez, vous exécutez et, en cas de panne, vous réparez.
- Concentrez-vous sur ce qui est nécessaire.
- Autorisez la gouvernance.
- Facilitez la transparence.
- La culture et la collaboration sont essentielles aux opérations continues. Les organisations sont souvent amenées à changer leur façon de travailler pour faciliter la transition vers des équipes DevOps. La collaboration est également essentielle lors de la conception de la sécurité et de la résilience.
- L’automatisation et les opérations IA/ML occupent une place importante dans les différences entre les équipes DevOps (et cloud) et les équipes des opérations traditionnelles. La priorité doit être donnée au système automatisé dans son ensemble (automatisation systémique) et non à un seul composant.
- Le déploiement continu utilise des pipelines de mise en production modernes pour permettre aux équipes de développement de déployer de nouvelles fonctionnalités rapidement et en toute sécurité. Ainsi, le flux de valeur apportée au client est continu et le délai de résolution des problèmes raccourci.
- Les tests selon l’approche shift-right utilise des pratiques comme le « dark launch », les indicateurs de fonctionnalités, la supervision et les tests A/B. Les équipes sont alors en mesure de poursuivre les tests pour vérifier qu’une application répond aux attentes en termes de comportement, de performances et de disponibilité pendant une utilisation en ligne.

Pour évoluer vers une approche DevOps, un changement majeur de paradigme doit se produire dans la culture pour fournir de la valeur métier avec une approche informatique moderne.
| Informatique traditionnelle | Informatique moderne | |
|---|---|---|
| DNA | Intermédiation | Suppression de l’intermédiation |
| Prestation de services | Par vague | Par itération continue |
| Stabilité du service | Conception pour la réussite (haute disponibilité/redondance) | Conception pour l’échec (résilience) |
| Niveaux de délégation | Silos d’informations | Services de bout en bout |
| Processus | Dans des documents, optimisés, reconçus | Libre-service, connaissances, consensuels, automatisés |
| Automation | Isolée, lancée manuellement | Systémique, déclenchée, automatique |
| Supervision | Élément, centrée sur les défaillances | Service, centrée sur les fonctionnalités de bout en bout |
| Soutien | Service Desk/Centre de contacts | Service clientèle/Libre-service |
| Cycle de vie | N-1 ou plus ancien | N, N+1 |
| Configuration/Gestion des ressources | Découverte/Configuration manuelle | Prescrite, déclarative, automatisée |
Ces modifications débouchent sur des processus simplifiés et automatisés, des résultats cohérents, des risques réduits et une approche centrée sur le client.