Explorer les opérations continues

Effectué

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
Icône pour le problème affectant Delta Airlines
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.
Icône pour le problème affectant FedEx
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.
Icône pour le problème affectant Amazon S3
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.
Icône pour le problème affectant LinkedIn
LinkedIn
LinkedIn a subi un problème qui a empêché tout travail de développement pendant deux mois.
Icône pour le problème affectant Equifax
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.

Diagramme montrant les opérations continues prenant en charge la disponibilité, la résilience, la récupération et la fiabilité. Nous détectons les problèmes, les trions, agissons sur eux et apprenons de nos actions. Le cycle est pris en charge par les personnes et la technologie.

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.

Le diagramme montre l’augmentation du nombre d’applications et de la fréquence de mise en production de 2010 à 2020.

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.

Le diagramme illustre la manière dont la supervision de l’expérience AIOps et numérique, l’orchestration des mises en production des applications et la supervision basée sur la durée de bon fonctionnement prennent en charge les insights de l’expérience client, le déploiement rapide des applications, la scalabilité dynamique et les stratégies qui donnent la priorité au cloud.

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.

Diagramme montrant l’incompatibilité entre les équipes de développement et la gouvernance informatique. Les équipes de développement se concentrent sur la vitesse grâce à l’accès en libre-service, à l’accès en production et aux versions rapides. La gouvernance se concentre sur le contrôle par le biais de stratégies, de sécurité et de gestion des coûts.

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.

Le diagramme illustre le cycle de vie du développement traditionnel.

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.

Diagramme montrant comment effectuer des opérations continues. Vous devez appliquer un changement de paradigme et utiliser les principes des opérations continues de DevOps.

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.