Comment mettre en place une équipe DevOps solide
Réduisez le stress dans le datacenter et laissez la culture DevOps effacer toute trace d'hostilité et de négativité avec l'aide d'équipes de choc et de tableaux de bord.
Les groupes ou équipes DevOps se constituent généralement « en temps de guerre, quand rien ne va plus » constate Abner Germanow, directeur du marketing d'entreprise chez New Relic, fournisseur de solutions de surveillance des performances applicatives, ou en temps de paix pour répondre à un besoin métier pressant.
« Par exemple, le directeur des services marketing demande une nouvelle application d'achat mobile via les réseaux sociaux et la géolocalisation. Il la lui faut rapidement et même tout de suite », dit-il.
Ces situations réclament l'intervention d'une équipe de choc regroupant des experts de diverses disciplines chargés de construire ou de corriger rapidement une application en mode itératif. Ce processus s'améliore considérablement s'il repose sur une source unique d'informations, c'est-à-dire un tableau de bord.
Selon A. Germanow, avec les tableaux de bord, on évite de chercher le coupable idéal. « Si vous faites un sondage à la sortie des cellules de crise, on vous répondra y être entré persuadé que le problème venait du serveur mais que les données ont montré tout autre chose » ajoute A. Germanow. Un tableau de bord « aide à passer d'une culture où "George est nul puisqu'il a déployé ce code" au point de vue "le code que George a déployé ne marche pas, à nous de le faire fonctionner" ».
Utiles au personnel IT, ces tableaux le sont aussi aux utilisateurs métier, selon Alain Gaeremynck, responsable de l'architecture d'entreprise du groupe canadien Pages Jaunes et utilisateur de New Relic. En effet, ils peuvent s'en servir pour évaluer l'expérience client ou repérer les fonctionnalités populaires. Plus concrètement, comme les développeurs et les opérationnels ont accès au même tableau de bord New Relic, l'assistance Pages Jaunes étudie les problèmes et teste les solutions en production.
« Même si vous êtes le meilleur, vous n'arriverez jamais à reproduire exactement ce qui se passe en production » constate A. Gaeremynck. En cas de ralentissement du site, les développeurs lancent une session de profilage sur leurs systèmes de production et examinent les parties du code dont l'exécution est la plus lente.
Créer des synergies
L'assemblage des principaux éléments de la culture DevOps, l'agilité, l'intégration et la livraison continues, le contrôle de version du code source, l'infrastructure sous forme de code, les vues unifiées, est relativement facile dans une petite startup, mais la tâche s'avère plus délicate dans les grandes entreprises.
« Avec DevOps, on parle beaucoup de silos et de décloisonnement, parce que le cloisonnement, c'est mal. Facile à dire si votre entreprise n'a que 23 employés, mais s'il y en a 23 000 ? » demande Dave Zwieback, vice-président de l'ingénierie chez Next Big Sound, cabinet d'analytique dans le secteur de la musique.
Sans compter que la plupart des experts IT n'ont pas les compétences transversales prisées dans les environnements DevOps. « Dans leur majorité, les développeurs appréhendent mal l'infrastructure sous-jacente et les administrateurs n'écrivent pas de code » constate D. Zwieback.
Néanmoins, DevOps en entreprise n'est pas un rêve inaccessible selon Justin Arbuckle. Ce responsable de l'architecture d'entreprise chez Chef occupait auparavant un poste similaire chez GE Capital, où il a impulsé une initiative DevOps visant à créer des versions d'infrastructure cohérentes dans toute l'organisation.
De cette expérience, il a tiré quelques points clés auxquels les entreprises doivent prêter attention lorsqu'elles envisagent un projet DevOps.
- Commencez par un projet visible de tous et utile. « Vous devez résoudre un véritable problème » précise-t-il.
- Suivez le principe agile « tous ensemble dès le départ ». Formez une équipe transversale composée de professionnels de l'opérationnel, de développeurs d'applications et d'architectes d'infrastructure, voire de contrôleurs. J. Arbuckle ajoute qu'en cas de réussite, les membres de l'équipe se feront les apôtres du projet et répandront la bonne parole DevOps dans toute l'entreprise.
- Incluez l'infrastructure dans le processus de livraison continue.
- Utilisez des ressources flexibles, Cloud ou autres. « Vos ressources doivent être accessibles par programme » dit-il.
Les entreprises qui suivent ce conseil rencontreront certes des défis, la querelle entre anciens et modernes restant d'actualité, selon lui. Mais c'est quand même un début.
Trois ans après le début d'une réorganisation DevOps, A. Gaeremynck des Pages Jaunes affirme que les difficultés en valaient la peine. « Les débuts ont été difficiles parce que le cycle de développement logiciel [antérieur] durait bien plus longtemps et que les gens résistent au changement » constate-t-il. Mais globalement, « ça va très bien. Le moral au bureau est plutôt bon. Nous sommes engagés dans beaucoup de nouveaux projets. C'est génial. »