Didacticiel sur le DevOps – Introduction

Le DevOps englobant un grand nombre d’étapes, de concepts et de composants, ce didacticiel constitue un excellent moyen de découvrir ce qu’est le DevOps et comment il peut contribuer à améliorer votre processus de livraison de logiciels.

Compréhension du DevOps

À l’entame de ce didacticiel sur le DevOps, nous allons présenter quelques définitions de base afin de vous aider à comprendre ce qu’est le DevOps et sa relation avec votre processus global de développement de logiciels.

  • Le DevOps est une pratique de développement de logiciels qui favorise la collaboration entre les équipes de développement et d’exploitation, et permet ainsi une livraison plus rapide et fiable des logiciels. Souvent considéré comme une forme de culture, le DevOps regroupe les personnes, les processus et les technologies pour produire une valeur ajoutée continue.

    En savoir plus sur DevOps

  • Le processus de développement de logiciel peut être très manuel, entraînant un nombre important d’erreurs de code. Les équipes de développement et d’exploitation peuvent souvent être désynchronisées, ce qui a pour effet de ralentir la livraison de logiciels et de frustrer les intervenants. Le DevOps est un facteur d’efficacité dans toutes les tâches liées au développement, au déploiement et à la maintenance de logiciels.

    La connexion entre le développement et l’exploitation conduit à une visibilité accrue, à des exigences plus précises, à une meilleure communication et à un délai de commercialisation plus court.

  • En comblant le fossé entre les équipes de développement et d’exploitation, le DevOps contribue de manière significative à l’efficacité du développement et du déploiement des logiciels. Le DevOps met fortement l’accent sur l’automatisation qui contribue à réduire le nombre d’erreurs.

  • La philosophie du DevOps consiste à assumer la responsabilité de bout en bout de tous les aspects du projet. Contrairement à des méthodes plus traditionnelles de développement de logiciels, le DevOps comble le fossé entre les équipes de développement et d’exploitation, qui peut considérablement entraver le processus de livraison des logiciels.

    En fournissant une infrastructure complète pour développer et publier des logiciels, le DevOps connecte les équipes de développement et d’exploitation, comblant ainsi un fossé occasionnant des problèmes et des inefficacités dans le processus de fourniture de logiciels.

  • Les pratiques du DevOps et du développement agile visent des objectifs légèrement différents. Le DevOps est une culture axée sur l’efficacité de toutes les parties impliquées dans le développement, le déploiement et la maintenance des logiciels. Le développement agile est un processus de fabrication allégée qui permet de fournir une infrastructure de production pour le développement de logiciels. Le développement agile est souvent spécifique d’une équipe de développement, tandis que le DevOps s’étend à toutes les parties impliquées dans la production et la maintenance des logiciels. Le DevOps et le développement agile peuvent être utilisés conjointement pour créer un environnement de développement de logiciels extrêmement efficace.

    En savoir plus sur l’approche DevOps et l’approche agile

Approfondissez l’apprentissage du DevOps à l’aide des tâches suivantes

Chaque section de ce didacticiel sur le DevOps présente quelques tâches qui vous aideront à instaurer une pratique du DevOps. Prenez le temps de répondre aux questions suivantes :

  • Quels sont les difficultés que vous avez rencontrées dans le cadre du développement et du déploiement de logiciels ?
  • Dans quels domaines souhaiteriez-vous voir des améliorations en termes d’efficacité dans le cadre du développement et du déploiement de logiciels ?

Fondamentaux de la pratique du DevOps

La suite de ce manuel du DevOps présente les principaux concepts utilisés dans le cadre de la pratique du DevOps. Cette section explique et à clarifie les principaux composants.

  • Généralement utilisé au sein des équipes travaillant sur les logiciels, le développement agile est une approche de la livraison liée à la fabrication allégée. Le développement est accompli au travers d’une série de sprints incrémentiels. Bien que différente du DevOps, l’approche du développement agile n’est pas antagoniste à celui-ci : les pratiques et outils agiles peuvent contribuer à améliorer l’efficacité de l’équipe de développement, contribuant ainsi à la culture globale du DevOps.

    Commencer à planifier de manière agile à l’aide d’Azure Boards

  • Dans le cadre d’un travail d’équipe, la gestion de version est indispensable pour garantir la précision et l’efficacité du développement. Un système de gestion de version tel que Git, prend des instantanés de vos fichiers qui vous permettent de revenir à tout moment à n’importe quelle version de ceux-ci. Avec un système de gestion de version, vous êtes sûr de ne rencontrer aucun conflit en lien avec les modifications sur lesquelles vous travaillez.

    Commencer à utiliser une gestion de version avec Azure Repos

  • L’intégration continue est le processus d’automatisation des générations et des tests effectués à mesure que le code est produit et validé dans le système. Une fois validé, le code suit un processus automatisé de validation. Seul les éléments de code dûment testés et validés sont introduit dans le code source principal, souvent appelé branche maîtresse, maître, master ou principale, voire tronc. L’intégration continue automatise ce processus, ce qui conduit à des gains d’efficacité significatifs. Tous les bogues sont identifiés à un stade précoce, avant la fusion du code avec la branche principale.

    Commencer à implémenter une intégration continue avec Azure Pipelines

  • La livraison continue est la pratique fondamentale du DevOps permettant la livraison rapide de logiciels fiables. Bien que son processus soit similaire au concept global de DevOps, la livraison continue est le cadre dans lequel les composants de code sont systématiquement testés et validés au fur et à mesure de leur production, ce qui permet de livrer des logiciels à tout moment. L’intégration continue est un processus qui fait partie de la livraison continue.

    Commencer à implémenter une livraison continue avec Azure Pipelines

  • Que ce soit en local ou dans le cloud, l’approvisionnement et la configuration des ressources sont les pierres angulaires des opérations d’environnement. L’automatisation du processus et la disponibilité d’outils fournissant une définition déclarative de l’infrastructure (par exemple, des fichiers de définition textuelle), permettent aux équipes de déployer et configurer des ressources de manière fiable et reproductible. Des fichiers de définition textuelle peuvent être gérés en tant que code avec gestion de version, facilitant ainsi la restauration, la recréation et le démantèlement d’environnements complexes. Des technologies telles que Terraform ou Ansible sont des solutions courantes pour l’implémentation d’infrastructure en tant que code.

    Créer une infrastructure sur Azure avec Terraform

    En savoir plus sur Ansible avec Azure

  • Le DevOps s’étend au-delà du développement, en assumant la responsabilité du logiciel jusqu’à sa livraison, y compris sur le plan des performances. L’ensemble du processus de DevOps crée une boucle de rétroaction, qui fournit en définitive des points de données pouvant contribuer à l’amélioration d’un projet futur et à la validation de la décision de déployer le logiciel. La surveillance et la journalisation sont des aspects clés qui sous-tendent un apprentissage validé sur lequel s’appuie l’initiative globale visant à rechercher systématiquement une plus grande efficacité du processus de développement et de fourniture de logiciels.

    Apprendre à collecter et à analyser des données de télémétrie avec Azure Monitor

  • Durant un cycle, des données de rétroaction et de télémétrie sont collectées pour éclairer les décisions en lien avec le cycle suivant. Ces informations constituent l’apprentissage validé. Un apprentissage validé aide à comprendre comment réduire le temps de cycle. Les données collectées permettent d’accroître l’automatisation, d’améliorer les processus et de préparer le déploiement plus rapidement et efficacement.

Approfondissez l’apprentissage du DevOps à l’aide des tâches suivantes

À présent que vous connaissez les concepts clés de la pratique du DevOps, prenez le temps de répondre aux questions suivantes :

  • Quelles parties de votre processus de développement sont manuelles et pourraient bénéficier d’une automatisation ?
  • Est-il possible d’introduire l’intégration continue dans le processus de génération de votre équipe ?
  • Comment votre équipe gère-t-elle l’infrastructure aujourd’hui ? Le processus est-il reproductible et fiable ou pourrait-il être amélioré en utilisant une infrastructure en tant que code ?
  • Quelles données de télémétrie pourraient contribuer à éclairer votre travail ?
  • Quels autres points de données pourraient étayer votre apprentissage validé ?

Instauration de votre culture du DevOps

La partie suivante de ce didacticiel sur le DevOps explique comment instaurer une culture du DevOps. Lors de la préparation de l’introduction du DevOps dans votre entreprise, vous rencontrerez probablement des différences par rapport à votre approche habituelle de la fourniture de logiciels.

L’instauration d’une nouvelle culture ne se fait pas du jour au lendemain, et n’est pas aussi simple que l’achat d’un nouvel ensemble d’outils. Pour permettre à votre équipe d’apprendre et de pratiquer le DevOps, il se peut que vous deviez modifier vos structures d’équipe, flux de travail et habitudes actuels.

Découvrez comment Microsoft a instauré une culture du DevOps

Approfondissez l’apprentissage du DevOps à l’aide des tâches suivantes

Lorsque vous envisagez d’instaurer une culture du DevOps au sein de votre entreprise, prenez le temps de vous poser les questions suivantes et d’y répondre :

  • Le DevOps aide à coordonner toutes les personnes intervenant dans le développement, la livraison et la maintenance des logiciels : Qui est concerné au sein de votre organisation ? Dressez la liste de toutes les personnes qui collaboreront.
  • Comment pouvez-vous améliorer la communication entre les équipes de développement et d’exploitation ? Réfléchissez aux moyens d’améliorer la coopération entre les intervenants.

Vidéos sur le DevOps

Regardez ces vidéos pour mieux comprendre le DevOps au-delà du contenu de ce manuel. Découvrez comment intégrer pleinement le DevOps dans votre processus de développement de logiciels.

Présentation d’Azure DevOps

Découvrez les fonctionnalités et capacités d’Azure DevOps avec Donovan Brown.

Création et déploiement de votre code avec Azure Pipelines

Découvrez pourquoi Azure Pipelines est un excellent outil pour gérer l’intégration et la livraison continues (CI/CD) de votre code.

Introduction à l’utilisation de HashiCorp Terraform avec Azure

Suivez ce didacticiel rapide sur le DevOps pour apprendre à configurer Terraform de manière à gérer l’infrastructure en tant que code Azure.

Bien démarrer avec Azure DevOps

Fournissez des logiciels plus rapidement et de manière plus fiable grâce à un ensemble moderne de services de développement. Planifiez plus intelligemment, collaborez mieux et livrez plus rapidement : utilisez toutes les fonctionnalités DevOps ou choisissez celles qui vous conviennent.