Partager via


Considérations relatives à DevOps

Cet article fournit des considérations et des recommandations pour DevOps dans les zones d’atterrissage Azure.

Qu’est-ce que DevOps ?

DevOps est l’union de personnes, de processus et de technologies qui continue à fournir de la valeur au développement (dev) et aux opérations (ops). L’approche DevOps encourage la collaboration d’équipe qui crée des processus reproductibles pour aider les organisations à fonctionner efficacement et à grande échelle.

Dans le contexte des zones d’atterrissage Azure, DevOps devient l’infrastructure qui guide votre équipe responsable de l’ensemble de votre gestion du cycle de vie des zones d’atterrissage Azure dans des domaines comme :

  • Comment auto-organiser et définir des limites avec les autres équipes pour obtenir l’équilibre approprié entre autonomie et gouvernance
  • Comment faire évoluer en permanence la conception de l’architecture de zone d’atterrissage Azure (Loi de Conway)
  • Comment planifier, hiérarchiser et itérer l’implémentation de l’architecture conçue
  • Comment implémenter le contrôle de version, l’intégration continue et le déploiement continu pour le code de zone d’atterrissage Azure
  • Comment utiliser et répondre aux incidents pour les systèmes et plateformes dont vous êtes propriétaire
  • Niveau d’automatisation que vous appliquez au provisionnement de zone d’atterrissage Azure et à la réparation automatique
  • Comment collaborer avec d’autres équipes de votre organisation de manière agile et orientée vers les résultats
  • Comment créer une culture générative de sécurité, de qualité, d’orientation utilisateur et d’apprentissage continu

Les décisions que vous prenez lorsque vous examinez les modèles d’exploitation cloud peuvent avoir une incidence sur la façon dont vous utilisez votre infrastructure DevOps.

Considérations en matière de conception DevOps

  • Définissez votre infrastructure DevOps ou alignez-la avec la stratégie DevOps et d’adoption du cloud de votre organisation. Incluez la définition de DevOps et les principes et pratiques que votre équipe doit suivre. Veillez à connecter votre stratégie DevOps à votre stratégie métier.

  • Établissez des métriques qui permettent à votre équipe d’améliorer ses performances DevOps. Les équipes hautes performances utilisent une hypothèse pour tester leurs idées, la mesurer pour voir comment elle fonctionne, puis apporter des modifications en fonction des besoins. L’intention finale de DevOps est d’améliorer des aspects comme la fréquence de déploiement, le temps moyen d’application d’une modification ou le temps de restauration d’un service détérioré. Vous devez concevoir toutes ces métriques pour avoir au final un impact sur les performances globales de l’entreprise.

  • Déterminez les pratiques DevOps que votre équipe doit implémenter en premier en fonction de ses compétences actuelles, et concevez une feuille de route pour appliquer de manière incrémentielle de nouvelles pratiques qui aideront votre équipe à améliorer ses métriques DevOps. L’investissement dans des ressources et capacités d’ingénierie est essentiel.

  • Déterminez la chaîne d’outils DevOps que votre équipe doit utiliser pour implémenter les pratiques DevOps. Assurez-vous que les outils sont cohérents avec votre stratégie DevOps globale pour éviter les scénarios d’écosystèmes DevOps hétérogènes augmentant la complexité des déploiements de zone d’atterrissage Azure ou de charge de travail.

  • Évaluez l’effet que vos pratiques DevOps implémentées et vos outils DevOps ont sur la conception de vos zones d’atterrissage Azure.

  • Créez un plan de préparation pour développer en permanence les compétences de votre équipe. L’application sans discernement d’un modèle de DevOps n’a pas pour effet de mettre en place instantanément des équipes de DevOps compétentes.

  • Déterminez la topologie d’équipe qui s’aligne le mieux avec la stratégie DevOps de votre organisation et le modèle d’exploitation cloud, et établissez clairement les limites, les responsabilités et les dépendances entre les équipes.

  • Déterminez comment l’équipe responsable des zones d’atterrissage Azure doit collaborer avec les autres équipes de votre organisation pour capturer les nouvelles exigences de zone d’atterrissage Azure pour mettre à jour la conception et l’implémentation, résoudre les incidents, réduire les dépendances et s’aligner sur les priorités de l’entreprise.

Recommandations de DevOps

Les sections suivantes contiennent des recommandations pour vous aider à implémenter l’infrastructure DevOps au sein de votre organisation.

Définir votre infrastructure DevOps

Pour établir votre infrastructure DevOps, envisagez d’utiliser les infrastructures déjà disponibles pour commencer avec un ensemble de pratiques éprouvées prédéfinies :

Définir des pratiques DevOps pour la gestion de vos zones d’atterrissage Azure

Tenez compte des pratiques DevOps suivantes pour vos zones d’atterrissage Azure :

Planifier votre parcours d’implémentation DevOps

Définissez et alignez votre parcours d’implémentation DevOps avec le plan d’adoption du cloud de votre organisation.

  • Déterminez comment se situe votre équipe aujourd’hui dans les domaines suivants :
  • Utilisez le plan d’adoption du cloud de votre organisation pour définir un modèle souhaité pour votre équipe.
  • Établissez une feuille de route itérative pour implémenter le modèle souhaité dans un mode itératif et incrémentiel qui s’aligne sur la chronologie de transformation de votre organisation.

Implémenter les métriques DevOps souhaitées

Identifiez les métriques que vous allez utiliser pour mesurer les performances DevOps de votre équipe. Utilisez des métriques pour favoriser les habitudes souhaitées dans votre équipe en rapport avec les résultats métier. Établissez des métriques pour permettre à votre équipe de mesurer l’impact sur les activités. Rendez les métriques clés visibles par tous, car la transparence favorise l’approbation et l’alignement avec les objectifs de l’organisation.

Voici quelques exemples de métriques qui mesurent les performances DevOps pour améliorer l’impact sur l’entreprise :

  • Résultats opérationnels :

    • Utilisez des objectifs et résultats clés comme outil pour éloigner vos équipes d’une mentalité de « sortie » vers une mentalité de « résultat ». Par exemple, vous pouvez utiliser le nombre de charges de travail qui ont amélioré leur évaluation de conformité par rapport au nombre de stratégies déployées sur Azure.
    • Satisfaction des clients ou des utilisateurs finaux. Il peut s’agir, par exemple, du Net Promoter Score (NPS), d’enquêtes, d’entrevues.
    • Croissance de l’entreprise. Par exemple, rentabilité accrue, augmentation du chiffre d’affaires et acquisition de nouvelles sources de revenus.
    • Métriques liées aux personnes. Il peut s’agir, par exemple, du score eNPS (Employee Net Promoter Score), de l’utilisation, de la rétention et de la satisfaction.
    • Coûts. Par exemple, vous pouvez utiliser la réduction des coûts.
  • Performances de livraison de logiciels :

    • Le délai de changement, le temps nécessaire à la résolution d’un bogue, à la création d’une nouvelle fonctionnalité, ou à toute autre modification, entre l’idée et le déploiement en production.
    • Fréquence de déploiement, déploiements par jour de modification de code en production.
    • Durée moyenne de restauration, temps nécessaire pour restaurer le service en production après un incident.
    • Pourcentage d’échec des modifications, pourcentage des modifications apportées à la production (comme les modifications de configuration) qui entraînent un échec.
  • Qualité :

    • Taux de prévention des défauts, nombre de défauts identifiés par vos utilisateurs finaux.
    • Travail non planifié ou correctif, pourcentage de temps passé à effectuer un travail non planifié ou correctif.
    • Bogues actifs, nombre de bogues qui ne sont pas encore corrigés.
    • Intégrité du code, pourcentage de code qui n’a pas été testé unitairement.

Définir votre écosystème technologique DevOps

La chaîne d’outils DevOps que vous choisissez pour gérer le cycle de vie de vos zones d’atterrissage Azure affecte :

  • Vos stratégies d’implémentation des principes et pratiques DevOps
  • Considérations relatives à la sécurité pour votre cycle de vie DevOps
  • Conception globale de l’architecture de votre gestion du cycle de vie des zones d’atterrissage Azure

Utilisez l’infrastructure DevOps que vous avez définie précédemment pour identifier les outils à utiliser pour chacun de vos processus DevOps. Choisissez les technologies DevOps qui conviennent le mieux aux besoins de vos équipes, mais trouvez un équilibre qui vous permet d’atteindre la normalisation au sein de votre organisation, tout en évitant une complexité ou une hétérogénéité dans vos écosystèmes DevOps.

Voici quelques exemples de technologies DevOps au sein de différentes phases de DevOps :

  • Planification : Atlassian Jira, Atlassian Trello, Azure Boards, GitHub
  • Intégration continue (CI) et tests : Atlassian Bitbucket, Azure Repos, GitHub Repos, npm, NuGet, Selenium, SmartBear Cucumber, SonarSource SonarQube, Zed Attack Proxy
  • Livraison continue (CD) : Atlassian Bamboo, Azure Pipelines, GitHub Actions, Jenkins, Octopus Deploy, Perforce Puppet, RedHat Ansible
    • Infrastructure en tant que code : Bicep, Pulumi, Terraform
    • Amorçage : ArgoCD GitOps, Flux GitOps, Progress Chef, PowerShell Desired State Configuration (DSC)
  • Opérations : Azure Automation, Azure Monitor, CISCO Splunk, Grafana, Microsoft Power BI
  • Collaboration et retour d’expérience : Atlassian Confluence, Azure DevOps Wikis, GitHub Discussions, GitHub Wikis, Microsoft Teams, Slack, Stack Overflow

Le diagramme suivant montre un exemple d’infrastructure DevOps avec la sélection de chaîne d’outils Azure DevOps :

Diagramme d’infrastructure DevOps avec la sélection de chaîne d’outils Azure DevOps.

Le diagramme suivant montre un exemple d’infrastructure DevOps avec la sélection de chaîne d’outils Azure DevOps et GitHub :

Diagramme d’infrastructure DevOps avec la sélection de chaîne d’outils Azure DevOps et GitHub.

Étape suivante