Présentation | Le développement logiciel agile a fait tomber les barrières entre l'analyse des exigences, les tests et le développement. Dans le processus de développement logiciel, le développement, l'exploitation et la maintenance sont confrontés au même problème d'isolement. L'objectif du mouvement DevOps est de briser les barrières entre le développement et les opérations et d'encourager la collaboration entre le développement et les opérations. |
Le développement logiciel agile a fait tomber les barrières entre l'analyse des exigences, les tests et le développement. Dans le processus de développement logiciel, le développement, l'exploitation et la maintenance sont confrontés au même problème d'isolement. L'objectif du mouvement DevOps est de briser les barrières entre le développement et les opérations et d'encourager la collaboration entre le développement et les opérations.
L'émergence de nouveaux outils d'exploitation et de maintenance et la mise en place de pratiques d'ingénierie agiles ont rendu le DevOps possible [1], mais la compréhension des avantages du DevOps est loin d'être suffisante, même avec les meilleurs outils, si l'on n'en a pas les droits. culture, DevOps ne fera que C'est juste un mot à la mode.
Une caractéristique essentielle d'une culture DevOps est la collaboration toujours croissante entre les rôles de développement et d'exploitation. Un changement culturel est nécessaire au niveau de l’équipe et de l’organisation pour soutenir cette collaboration.
Les responsabilités partagées sont l'une des cultures d'équipe de DevOps, et les responsabilités partagées encouragent une collaboration accrue en équipe. Si les travaux d'exploitation et de maintenance du système sont confiés à d'autres équipes, l'équipe de développement ne se souciera généralement pas des travaux spécifiques d'exploitation et de maintenance.
Lorsque l'équipe de développement partage le travail et les responsabilités d'exploitation et de maintenance dans le cycle de vie du système, l'équipe de développement peut comprendre la douleur de l'équipe d'exploitation et de maintenance et peut simplifier de manière proactive le travail fastidieux de développement, d'exploitation et de maintenance (comme l'automatisation déploiement et journaux améliorés).
Ils peuvent également obtenir des exigences supplémentaires grâce à la surveillance du système de l'environnement de production. Lorsque l'équipe d'exploitation et de maintenance prend l'initiative d'assumer les objectifs commerciaux du système, l'équipe d'exploitation et de maintenance peut travailler plus étroitement avec l'équipe de développement pour comprendre les besoins d'exploitation et de maintenance et fournir une assistance.
En pratique, la collaboration commence souvent lorsque l'équipe de développement se rend compte qu'elle a besoin d'en savoir plus sur le travail opérationnel (tel que le déploiement et la surveillance) ou lorsque l'équipe opérationnelle adopte de nouveaux outils et pratiques d'automatisation.
Réunir les équipes de développement et d'exploitationUne culture de responsabilité partagée nécessite également certains changements organisationnels. Il ne devrait y avoir aucune barrière entre les équipes de développement et d’exploitation. Au départ, la transmission de la documentation ne peut pas remplacer la collaboration. La structure des ressources organisationnelles doit aider l'équipe opérationnelle à intervenir le plus tôt possible dans le processus de livraison du produit et à travailler avec d'autres équipes.
Réunir les équipes de développement et d'exploitation peut promouvoir efficacement leur travail ensemble. « Transférer et approuver » n'aide pas les équipes à partager les responsabilités et peut conduire à une culture du blâme. Au lieu de cela, les équipes de développement et d’exploitation devraient être conjointement responsables du succès et de l’échec du produit.
La culture DevOps brouille les frontières entre le développement et les opérations, et finira par les éliminer. Un anti-modèle courant lors de l’introduction de DevOps dans une organisation consiste à créer un rôle DevOps ou une équipe DevOps. Cela ne fera que créer davantage d’obstacles et empêchera la culture et les pratiques DevOps de se propager et d’être utilisées au sein de l’ensemble de l’équipe.
Soutenir les équipes auto-organiséesUn autre changement organisationnel précieux consiste à soutenir les équipes auto-organisées. Pour une collaboration plus efficace, les équipes de développement, d'exploitation et de maintenance doivent prendre des décisions de manière indépendante et n'ont pas besoin de longs processus de gestion du changement lors de l'adoption des changements. Cela implique la confiance dans l'équipe, des changements dans les méthodes de gestion des risques et la nécessité de créer un environnement dans lequel l'échec n'est pas un problème.
Par exemple, une équipe qui doit dresser une liste de modifications et obtenir de nombreuses approbations avant de pouvoir publier dans un environnement de test est souvent repoussée. Nous devrions nous appuyer sur un contrôle de version auditable plutôt que sur une vérification manuelle approfondie. Les modifications apportées au contrôle de version peuvent être liées à l'outil de gestion des tâches de l'équipe sans signature ni approbation manuelle. L'équipe peut déployer automatiquement les modifications et raccourcir le cycle de test.
L'un des impacts du changement de culture DevOps est qu'il deviendra facile de déployer du code en production. Cela nécessite un changement culturel supplémentaire. Pour garantir la fiabilité des modifications apportées à l’environnement de production, les équipes doivent se concentrer sur l’intégration de la qualité dans le processus de développement. Cela inclut des préoccupations interfonctionnelles telles que les performances et la sécurité. Les techniques de livraison continue (y compris l'auto-test du code) permettent des déploiements de routine et à faible risque.
Il est également important que l'équipe valorise les commentaires. Afin de continuer à promouvoir le développement, l'exploitation et la maintenance en équipe, la surveillance de l'environnement de production est une boucle de rétroaction très utile, qui peut aider à diagnostiquer les problèmes et à découvrir des points d'amélioration potentiels.
L'automatisation est la pierre angulaire des opérations DevOps et accélère la collaboration. L'automatisation des tests, de la configuration et du déploiement permet aux équipes de disposer de plus de temps pour se concentrer sur d'autres activités importantes et réduit les erreurs humaines. Un autre avantage des scripts et des tests automatisés est de garantir toujours que la documentation du système est à jour. Par exemple, la configuration automatisée du serveur signifie que les équipes de développement et d'exploitation peuvent comprendre et modifier les configurations du serveur.
Remarque :
[1] : Les outils d'exploitation et de maintenance incluent la virtualisation, le cloud computing et la gestion automatisée de la configuration. Ces outils sont pris en charge dans les pratiques d'ingénierie telles que l'intégration continue, la conception incrémentielle et la purification du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!