Présentation des technologies DevOps

Automatisez la livraison de logiciels pour fournir une valeur continue aux utilisateurs

Vous utilisez déjà Azure ? Lancer un projet DevOps

Les promesses de l’approche DevOps

DevOps automatise et accélère la livraison de logiciels. Votre processus et vos produits sont ainsi plus fiables. Lorsque vous implémentez des technologies et pratiques DevOps, vous offrez de la valeur à vos clients plus rapidement, sous la forme de produits nouveaux et innovants, ou d’améliorations apportées aux produits actuels.

Quelle est la définition de DevOps ?

DevOps est une pratique qui unifie les individus, les processus et les technologies participant aux opérations informatiques et de développement dans cinq pratiques de base : planification et suivi, développement, développement et test, livraison, et monitoring et opérations. Lors de la mise en œuvre de DevOps, les équipes de développement, informatiques, d’ingénierie qualité et de sécurité travaillent en étroite collaboration, en décloisonnant les pratiques qui étaient autrefois compartimentées. Une coordination et une collaboration améliorées entre ces disciplines réduisent le délai entre le moment où un changement est validé dans un système et le moment où le changement est mis en production. De plus, ce processus garantit que les standards de sécurité et de fiabilité sont respectés. Résultat : de meilleurs produits, une livraison plus rapide, une satisfaction accrue des clients.

Comment mettre en pratique un modèle DevOps ?

Les équipes interdisciplinaires suivent ces phases DevOps via leur pipeline de livraison pour mettre les produits sur le marché rapidement.

Planifier et suivre

Identifiez et suivez le travail effectué en utilisant des pratiques et des processus tels que les tableaux Kanban et la méthode Agile. Lorsque le travail est suivi visuellement, les parties prenantes ont un aperçu clair de la capacité de l’équipe de développement. Elles peuvent ainsi mieux planifier et hiérarchiser les tâches, et éviter les exercices d’urgence (« fire drills »).

Développement

Écrivez le code en utilisant des systèmes de gestion de version modernes tels que Git pour effectuer une intégration continue et sécurisée à la branche maîtresse. Quand une fonctionnalité est complète, le développeur soumet une demande de tirage (pull request) et, une fois l’approbation reçue, les modifications sont fusionnées dans la branche principale et l’ancienne branche est supprimée.

Générer et tester

La validation du code dans Git ou un autre système de gestion de version déclenche un processus de génération automatisé. Le code est testé et validé, ce qui garantit que les bogues sont détectés tôt dans le développement, lorsqu’ils sont frais dans l’esprit du développeur et moins onéreux à réparer. Ce processus d’automatisation des builds et des tests est appelé intégration continue. Un artefact déployable en production est le résultat d’une génération et d’une intégration réussies, en activant une livraison continue, ce qui permet de déployer en production à tout moment.

Déployer

Une fois testée et validée, chaque modification peut être déployée dans l’environnement de production. En utilisant des pratiques de livraison continue, le déploiement final en production est une décision contrôlée manuellement.

Grâce au déploiement continu, automatisez l’ensemble du processus, de la validation du code à la production. Lorsque votre code est automatiquement déployé, vos clients ont accès aux nouvelles fonctionnalités dès qu’elles sont prêtes.

Surveiller et exploiter

Une fois que la mise en production est effective, le monitoring fournit des informations sur les performances et les modèles d’utilisation de votre application. Bénéficiez d’une haute disponibilité en obtenant des données de diagnostic immédiates et riches que votre équipe peut exploiter rapidement. Atténuez les problèmes pour les utilisateurs et collectez des données pour prendre des décisions éclairées au sujet du développement futur. De plus, avec des stratégies de conformité automatisées utilisant l’infrastructure en tant que code et la stratégie en tant que code, vous êtes certain que les applications que vous déployez en production utilisent des configurations d’état souhaité qui correspondent aux meilleures pratiques de sécurité.

En savoir plus

Commencez à suivre des procédures DevOps avec Azure

Azure propose une solution automatisée de bout en bout pour DevOps qui inclut une sécurité et un monitoring intégrés. Suivez une procédure simple pour le développement et l’exploitation de vos applications dans le cloud. L’expérience de développement Azure DevOps s’intègre aux outils de votre choix. Si vous êtes développeur Java, Azure fournit des intégrations natives avec Eclipse. Si vous développez avec Jenkins, utilisez-le pour déployer facilement et directement sur Azure. Rassemblez vos équipes de développement, d’opérations informatiques et d’ingénierie qualité pour créer, tester, déployer, surveiller et gérer des applications dans le cloud. Pour les applications et les charges de travail ayant des exigences de latence, réglementaires ou personnalisées, Azure, associé à Azure Stack, fournit une expérience DevOps hybride cohérente. Utilisez vos compétences, vos processus et vos outils dans l’environnement dans lequel votre application doit s’exécuter.

Offrez une innovation continue

Simplifiez et accélérez le développement cloud

Passez moins de temps à créer des pipelines de livraison et plus de temps à développer des logiciels. Utilisez une solution DevOps de bout en bout pour développer et exploiter des applications dans le cloud, que vous souhaitiez améliorer un pipeline de livraison existant ou partir de zéro. Utilisez Node.js ou .NET, Azure DevOps ou Jenkins. Azure est le moyen le plus simple de développer et d’exploiter des applications dans le cloud.

Améliorez la fiabilité et la répétabilité

Passez moins de temps à gérer l’infrastructure et la sécurité et plus de temps à développer des solutions innovantes. Avec Azure, déployez en continu avec une sécurité et un monitoring intégrés de classe Entreprise. Tirez parti des outils d’infrastructure en tant que code, tels qu’Azure Resource Manager ou Terraform, pour créer des déploiements fiables et reproductibles, conformes aux standards de conformité.

Développez et déployez à votre façon

Utilisez les outils de votre choix. Un processus DevOps ouvert et de bout en bout s’adapte à tous les outils, notamment open source, sur l’ensemble de votre flux de travail. Utilisez Ansible, Docker, Kubernetes ou tout autre outil que vous aimez avec Azure.

Azure et DevOps permettent aux clients de faire des choses incroyables

Simplifier le développement et la livraison

Une jeune entreprise de commerce électronique cherchant à occuper la première place s’exécute sur le cloud Microsoft

"Being able to leverage so many off-the-shelf services and tools from Azure enabled us to go from zero to a full- fledged e-commerce marketplace in just about 12 months."

Mike Hanrahan, Responsable informatique

Lire le témoignage

Jet.com

Éliminer les temps d’arrêt et booster la fiabilité

Geico booste l’innovation dans le secteur des assurances dans le cloud

"With DevOps and Azure, we’re able to reduce our new-feature release cycle down to one week, and we think we can even speed that up."

Fikri Larguet, Directeur Services cloud

Lire le témoignage

Geico

Atteindre l’automatisation avec l’open source

Un fournisseur d’énergie électrise le rythme de l’innovation et de l’expansion

"Azure support for Docker, Kubernetes, Puppet, Terraform, Cassandra, and other open source tools has become very important to us and has really accelerated our move into Azure.”

Robert Rudduck, Directeur Architecture et DevOps

Lire le témoignage

Ambit Energy

Explorer Azure pour DevOps

Continuez à utiliser les outils open source et tiers que vous aimez, dans votre pipeline. Ou, profitez d’Azure DevOps pour orchestrer et compléter votre chaîne d’outils DevOps de bout en bout.

Développement

Simplifiez l’expérience de développement grâce aux intégrations natives d’Azure avec Visual Studio et Visual Studio Code. Si vous êtes développeur Java, profitez des expériences Azure enrichies dans des environnements IDE tiers tels qu’Eclipse et IntelliJ à l’aide du kit de ressources Azure.

Partagez du code, générez et livrez des logiciels avec des dépôts Git illimités, et utilisez la gestion de travail agile avec Azure DevOps. Provisionnez des environnements en quelques minutes pour les développeurs avec DevTest Labs.

Générer et tester

Configurez des pipelines d’intégration et de déploiement continus (CI/CD) et gérez les packages avec Azure DevOps. Intégrez les pipelines et les builds Jenkins existants vers Azure et utilisez des plug-ins d’agents dynamiques pour réduire les besoins et les coûts liés à l’infrastructure.

Livrez à temps avec une qualité optimale en utilisant DevTest Labs pour configurer et gérer vos environnements de test. Créez, testez et livrez des applications iOS, macOS, Android et Windows plus rapidement et avec plus de confiance en automatisant leurs cycles de vie avec Visual Studio App Center. Testez vos jeux sur des milliers d’appareils réels, distribuez à des bêta-testeurs et des App Stores et surveillez l’utilisation avec des données analytiques et sur les incidents.

Déployer

L’infrastructure en tant que code capture les définitions d’environnement en tant que code déclaratif, tel que JSON ou YAML, pour le provisionnement et la configuration automatiques. Utilisez Azure Resource Manager ou Terraform pour provisionner de manière fiable les environnements dupliqués. Azure Automation et des outils tels que Ansible, Chef ou Puppet offrent l’automatisation et la gestion de la configuration.

Automatisez les tests et la livraison de votre logiciel dans plusieurs environnements, jusqu’à la production avec des portes d’approbation, avec la gestion des mises en production Azure DevOps. Vous pouvez également déployer directement de vos pipelines Jenkins vers des machines virtuelles, des applications web ou Azure Container Service.

Surveiller et exploiter

Assurez le monitoring de l’intégrité de l’infrastructure et intégrez les résultats aux tableaux de bord existants dans Grafana, Kibana ou le portail Azure avec Azure Monitor. Connectez, collectez et transformez rapidement des données de journaux à partir de plusieurs emplacements et convertissez-les en insights et actions avec Log Analytics. Diagnostiquez les problèmes et optimisez votre application avec Application Insights.

Assurez-vous que votre infrastructure et vos applications provisionnées sont conformes à Azure Policy ou à Chef Automate. En association avec Security Center, limitez l’exposition aux menaces et détectez et corrigez rapidement les vulnérabilités.

Assurer la cohérence du processus DevOps dans le cloud hybride

Azure Stack est une extension d’Azure qui intègre des fonctionnalités cloud aux environnement locaux. Fournissez des services Azure à partir de votre centre de données, tout en trouvant le bon équilibre entre flexibilité et contrôle afin de procéder à des déploiements de clouds hybrides véritablement cohérents.

Utilisez Azure DevOps Server pour obtenir la même suite complète de services et de fonctionnalités DevOps que Team Services, mais avec la possibilité de les exécuter localement.

Vidéo

La culture Agile chez Microsoft

Voir la vidéo

Vidéo

Présentation de Visual Studio App Center

Voir la vidéo

Documentation

Azure DevOps Projects pour GitHub

Explorer la documentation

Faites vos premiers pas avec DevOps selon vos propres conditions

Commencer facilement à implémenter votre solution DevOps dans Azure. Intégrez automatiquement votre pipeline, déployez sur la plateforme de votre choix et commencez le monitoring avec Azure DevOps Projects.

Si vous utilisez des outils open source et tiers, essayez les solutions Azure DevOps. Explorez des pratiques et une architecture de solution ayant fait leurs preuves pour implémenter vos solutions DevOps dans Azure.