Blog

Pourquoi vous devez établir une culture DevOps

par Tony Albanese 21 mars 2014 | 5 minutes de lecture

Il s’agit du premier article d’une série visant à aider votre équipe d’ingénierie à effectuer la transition vers un modèle DevOps. Nous commencerons par le pourquoi et aborderons le comment dans de prochains articles. Restez connectés.

DevOps est une approche de développement logiciel axée sur la collaboration entre développeurs et équipes opérationnelles. Les développeurs sont ainsi maîtres de leur code du début à la fin, tandis que les équipes opérationnelles développent des outils d'automatisation destinés à leurs développeurs. Grâce au modèle DevOps, vous partagerez un objectif commun : fournir rapidement des produits et services de qualité grâce à des déploiements et une collaboration plus fréquents.

La plupart d'entre nous ont déjà travaillé dans un bureau avec tellement de paperasse qu'il faut parfois un mois pour acheter une nouvelle agrafeuse ou remplacer un clavier cassé. Personne n'apprécie ces niveaux d'approbation inutiles et apparemment innombrables. Surtout pour de petites mises à jour, comme un bouton d'inscription sur la page d'accueil ou une correction de bug rapide pour apaiser la frustration d'un client.

Face à ces obstacles, nous nous rendons au bureau, nous nous asseyons à notre poste et ne nous consacrons qu'à une petite partie du travail. Nous n'arrivons tout simplement pas à faire avancer les choses, alors pourquoi s'en préoccuper ? Pourtant, 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 impacter les flux de travail, freiner la créativité et nuire à leur produit.

Former un Culture DevOps Dans nos entreprises, nous pourrons éliminer 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 à collaborer afin d'améliorer et d'accélérer les produits grâce à des déploiements et une automatisation plus fréquents.

Au lieu de se noyer dans un modèle en cascade, passant d'une étape à l'autre de manière linéaire, l'adoption d'une culture DevOps favorisera un environnement collaboratif où le travail est réparti entre les équipes opérationnelles et les développeurs. Cela permettra aux ingénieurs opérationnels de développer des systèmes permettant aux développeurs de déployer leur propre code et de le déployer fréquemment.

Les équipes DevOps sont holistiques

Dans une culture bien construite, les rôles des développeurs logiciels et des ingénieurs opérationnels sont étroitement liés. Au lieu de rejeter les problèmes par-dessus bord sans se soucier des autres, ils coordonnent leurs équipes plutôt que de travailler les uns contre les autres.

Si la plupart d'entre nous se spécialisent dans une discipline de base, notre environnement professionnel devrait être propice à 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 être plus productifs, car nous nous sentirons plus autonomes.

À terme, cette mixité des rôles favorisera une collaboration et une socialisation naturelles au sein des équipes. Cela permettra de maintenir une cohésion d'équipe et d'aligner les objectifs, favorisant ainsi une culture privilégiant la communication hiérarchique entre les équipes, permettant ainsi un déploiement plus fréquent et plus fiable du code.

Parce que chacun assume la responsabilité de son travail du début à la fin, il assume la responsabilité des problèmes éventuels au lieu de pointer du doigt les autres. Par exemple, un développeur déployant une nouvelle fonctionnalité sera garant de sa fiabilité et ne se déchargera pas de la responsabilité sur l'équipe opérationnelle.

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 bénéfiques pour votre entreprise. Dans un modèle organisationnel DevOps, vous déplacerez des blocs beaucoup plus petits à chaque déploiement. Cela signifie que le risque est moindre : le risque de problème dans ces petits blocs est exponentiellement moindre que lors du déplacement simultané de plusieurs blocs plus importants. En cas de panne, vous ne restaurez qu'une petite partie du projet au lieu de plusieurs mois de travail pour identifier le problème.

Grâce à des déploiements plus fréquents, vous pouvez déployer le code par petits morceaux, réduisant ainsi les risques à chaque déploiement. En cas de problème, vous pouvez revenir en arrière sur un petit morceau de code sans avoir à effectuer des mois 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 et d'améliorer votre système en fonction des données. Grâce à une automatisation appropriée, comme intégration continue Vos environnements de développement seront enfin au même niveau que vos environnements de production, vous permettant de tester votre nouveau code en toute confiance, sans que vos clients ne rencontrent de problèmes avec votre service. Le comportement de votre code sera ainsi nettement 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 unique à votre équipe et à votre entreprise (et elle devrait l'être). Nous vous aiderons à identifier les étapes à suivre pour créer votre propre environnement collaboratif, mais le résultat sera imprévisible.

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 10/04/14 – Suite de la lecture de la série sur la transition vers DevOps :