Pourquoi vous devez établir une culture DevOps
Il s’agit du premier article d’une série destinée à aider votre équipe d’ingénierie à effectuer la transition vers un modèle DevOps. Nous commencerons par le pourquoi et nous aborderons le comment dans les prochains articles. Restez à l'écoute.
DevOps est une approche de développement logiciel qui met l'accent sur la collaboration entre les développeurs et les opérations, où les développeurs sont habilités à contrôler leur code du début à la fin et les opérations développent des outils d'automatisation à utiliser par leurs développeurs. En utilisant un modèle DevOps, vous partagerez un objectif commun pour fournir rapidement des produits et services de qualité grâce à un déploiement et une collaboration plus fréquents.
La plupart d'entre nous ont déjà travaillé dans un bureau avec tellement de paperasse qu'il peut falloir un mois pour obtenir une nouvelle agrafeuse ou remplacer un clavier cassé. Personne n'aime ces niveaux d'approbation inutiles et apparemment innombrables. Surtout pour les petites mises à jour, comme un bouton d'inscription sur la page d'accueil ou une correction rapide d'un bug pour résoudre la frustration d'un client.
En réponse à ces obstacles, nous allons dans nos bureaux, nous nous asseyons à notre bureau et nous nous engageons seulement sur une petite partie du puzzle. Nous n'arrivons tout simplement pas à faire avancer les choses, alors pourquoi s'en soucier ? Mais nous voulons faire plus. Nous voulons nous sentir utiles et savoir que nous pouvons contribuer davantage à améliorer les choses. Pour les ingénieurs, ces obstacles peuvent avoir un impact sur les flux de travail, freiner la créativité et nuire à leur produit.
Former un La culture DevOps dans nos entreprises nous aidera à éliminer bon nombre de ces obstacles. Le modèle DevOps est une idéologie de développement logiciel qui encourage les développeurs et les ingénieurs d'exploitation à travailler ensemble afin de rendre les produits meilleurs et plus rapides grâce à des déploiements et une automatisation plus fréquents.
Au lieu de vous noyer dans votre modèle en cascade, en passant de manière linéaire d'une étape à l'autre, l'adoption d'une culture DevOps contribuera à créer un environnement collaboratif où le travail est réparti entre les opérations et les développeurs. Cela permet aux ingénieurs des opérations de développer des systèmes qui permettront aux développeurs de déployer leur propre code et de déployer leur code fréquemment.
Les équipes DevOps sont holistiques
Dans une culture bien construite, les développeurs de logiciels et les ingénieurs opérationnels ont leurs rôles étroitement liés. Au lieu de se lancer des problèmes par-dessus bord sans se soucier des autres, ils alignent leurs équipes plutôt que de travailler les uns contre les autres.
Même si la plupart d'entre nous avons des disciplines de base dans lesquelles nous nous spécialisons, nos environnements professionnels devraient être propices à l'apprentissage et à l'utilisation d'autres compétences, même si elles ne figurent pas sur notre CV. Avec plus de fluidité dans nos rôles, nous pouvons accomplir davantage de choses, car nous nous sentirons plus habilités à le faire.
À terme, cette combinaison de rôles mènera à une collaboration organique et à une socialisation entre les équipes. Cela permettra de maintenir une équipe homogène et d'aligner les objectifs, contribuant ainsi à une culture qui met l'accent sur la communication au niveau hiérarchique entre les équipes afin que le code puisse être déployé plus fréquemment et de manière plus fiable.
Comme chacun assume la responsabilité de son propre travail du début à la fin, il se tient responsable de tout problème qui pourrait survenir au lieu de pointer du doigt les autres. Par exemple, un développeur qui déploie une nouvelle fonctionnalité sera responsable de la fiabilité de cette fonctionnalité et ne rejettera pas simplement la responsabilité sur l'équipe d'exploitation.
Avons-nous mentionné des déploiements plus fréquents ?
Examinons ce point plus en détail. Des déploiements plus rapides et plus fréquents sont meilleurs pour votre entreprise. Dans un modèle d'organisation DevOps, vous déplacerez des blocs beaucoup plus petits à chaque déploiement. Cela signifie qu'il y a moins de risques, les chances qu'un problème se produise dans ces petits blocs sont exponentiellement moins probables que de déplacer plusieurs blocs plus gros à la fois. Si quelque chose se casse, vous ne faites que revenir en arrière sur un petit morceau au lieu de mois de travail pour identifier le problème.
Comme vous pouvez déployer plus fréquemment, vous pouvez déployer le code en petits morceaux, ce qui réduit les risques à chaque déploiement. Si quelque chose ne va pas, vous pouvez restaurer un petit morceau de code sans avoir à effectuer des mois de travail de contrôle qualité.
Dans un modèle DevOps, chaque modification apportée à votre environnement est plus facile à surveiller, ce qui vous permet de mesurer les indicateurs clés, puis d'améliorer votre système en fonction des données. Avec une automatisation appropriée, telle que Intégration continue , vos environnements de développement seront enfin à la hauteur de vos environnements de production, ce qui vous permettra de tester en toute confiance de nouveaux codes sans que vos clients ne rencontrent de problèmes dans votre service. Cela rendra le comportement de votre code beaucoup plus prévisible pour vos clients. Ils pourront ainsi profiter en toute transparence d'une nouvelle fonctionnalité de votre produit.
Définissez votre culture
En fin de compte, votre culture est propre à votre équipe et à votre entreprise (et elle devrait l'être). Nous vous aiderons à identifier les étapes à suivre pour commencer à créer votre propre environnement collaboratif, mais son résultat sera quelque chose qu'aucun d'entre nous ne peut prédire.
Continuez à lire, au cours des prochaines semaines, nous approfondirons la manière dont vous pouvez introduire un modèle organisationnel DevOps dans la culture de votre entreprise.
Mise à jour du 10/04/14 – Suite de la lecture de la série sur la transition vers DevOps :
- La suppression des silos ne se fait pas du jour au lendemain
- Mise à l'échelle et élimination du gaspillage dans votre environnement DevOps
- Les bases d'une équipe DevOps performante