profit_image - stock.adobe.com
DevOps : avantages et inconvénients des plateformes managées
Une adoption réussie de l’approche DevOps nécessite beaucoup de temps et de ressources. C’est pourquoi les entreprises font appel à des services DevOps managés pour rationaliser le processus – mais est-ce aussi parfait que les éditeurs le prétendent ?
L’adoption de l’approche DevOps par les entreprises témoigne de la prédominance croissante des applications, des microservices et du CI/CD dans les environnements IT modernes. Une initiative DevOps réussie doit améliorer la culture d’entreprise et la gestion des processus, ouvrant la voie à une distribution plus efficace des ressources et à la création de meilleurs produits.
Cependant, un tel programme nécessite une évaluation IT importante, une analyse du développement et des stratégies de mise en œuvre. Pour faire face aux défis du déploiement, les organisations doivent déterminer si elles utilisent leurs ressources internes et construisent leur propre suite DevOps ou si elles l’externalisent vers une plateforme DevOps-as-a-service (DaaS, à ne pas confondre avec Data as a Service et Desktop as a Service). Pour prendre cette décision, explorons les avantages des services DevOps managés et examinons si une approche par abonnement est comparable à une approche personnalisée et interne.
Les bénéfices du DevOps
L’approche DevOps propose une méthodologie permettant de relier les processus, les équipes IT et les technologies afin de fournir des services IT fiables, s’exécutant en continu. Qu’il s’agisse d’ingénierie logicielle, d’administration système ou d’assurance qualité, la démarche DevOps doit garantir une communication étroite entre les équipes de programmation et les Ops pour accélérer la mise en production des applications et améliorer la livraison des produits.
Le lancement d’une approche DevOps personnalisée nécessite d’y consacrer du temps, des stratégies de déploiement bien planifiées et un financement. En général, un ingénieur DevOps interne gère le pipeline CI/CD, applique l’automatisation pour éliminer les goulets d’étranglement, traite les problèmes de migration et de systèmes existants, interagit avec les opérations et documente le tout pour référence future. Parallèlement aux cycles de développement Agile dynamiques et à la surveillance continue, les entreprises peuvent suivre leur code grâce au contrôle des versions et gérer les configurations de manière systématique.
L’objectif est d’établir une culture IT mutuelle, c’est-à-dire standard, qui utilise les pipelines CI/CD pour rationaliser l’exécution, réduire la réécriture de code, contrôler la productivité et optimiser la distribution des ressources. Pour garantir le succès, les développeurs et les opérations doivent s’engager à parts égales pour créer un environnement collaboratif dans lequel le développement Agile peut s’épanouir.
La lenteur des processus Waterfall et la résistance du personnel au changement peuvent entraver l’adoption de l’approche DevOps. Un rapport de Mabl a révélé que seulement 11 % des organisations qui ont entrepris ce voyage ont réalisé des pipelines entièrement automatisés. Le State of DevOps 2021, un rapport soutenu par un large consortium d’éditeurs, dresse à peu de choses près le même constat. Pourtant, celui-ci signale que les problèmes organisationnels sont les freins les plus importants, avant même la gestion des outils.
Pourquoi les entreprises choisissent une approche DaaS (DevOps as a Service)
Outre la possibilité de surveiller et de consigner les processus de développement, de suivre le code et de documenter les modifications, les organisations peuvent évoluer sur plusieurs niveaux et entreprendre l’automatisation partout où cela est nécessaire. Ces conditions préalables expliquent pourquoi certaines entités préfèrent une plateforme DevOps managée, largement mise en avant par les éditeurs tels GitLab et GitHub.
Ces fournisseurs affirment répondre aux besoins spécifiques de leurs clients et proposent des évaluations de l’état de préparation, des options de configuration et une gestion des processus, ainsi que des outils accessibles depuis un mobile, des outils d’infrastructure as code et une surveillance 24 heures sur 24 et 7 jours sur 7.
S’ils sont bien accompagnés, les administrateurs internes bénéficient du mentorat et des conseils de spécialistes et d’ingénieurs qui non seulement partagent leurs connaissances et leurs pratiques, mais fournissent également une documentation claire pour l’automatisation future. En conséquence, les organisations peuvent a priori mettre en place un écosystème DevOps complet et utiliser des outils intégrés et des composants basés sur le cloud.
En outre, les services DevOps managés doivent offrir une plus grande visibilité sur l’ensemble des environnements cloud afin d’obtenir une compréhension contextuelle de tous les événements et processus liés au développement. Une plateforme unifiée avec une communication centralisée doit permettre de gérer tous les processus et charges de travail DevOps dans un même cadre. L’adoption de la plateforme doit idéalement libérer les équipes IT pour qu’elles se concentrent davantage sur les performances des applications et le support des produits.
Enfin, une approche basée sur le cloud offre les niveaux d’efficacité requis pour étendre les capacités des équipes, ainsi que les processus de développement. Toutefois, si les plateformes DevOps managées promettent de fluidifier ce travail, elles exposent également des vulnérabilités en matière de sécurité.
Les politiques d’accès trop permissives et les fuites de données par inadvertance représentent des dangers critiques. Par exemple, la fuite massive de données en 2017 par Tata, le conglomérat multinational, illustre une carence de DevOps, ainsi que des violations de données plus petites qui ne font pas la une des journaux. Les attaques de supply chain, celles qui profitent des failles inhérentes aux plateformes managées se multiplient. Aucun éditeur ne peut se targuer d’offrir un service exempt de vulnérabilités. Le 12 octobre 2021, le groupe de chercheurs Cider Security a dévoilé une vulnérabilité au sein de GitHub Actions permettant de manipuler le système de revue de code pour effectuer des pull requests sans relecture. Cette menace est en cours de remédiation à l’écriture de ces lignes.
L’autre piège identifié par Gartner est de croire qu’une seule plateforme managée peut répondre à tous les besoins des développeurs. Il s’agit alors de choisir une plateforme centrale sur lequel se greffent d’autres services managés. En clair, la gestion est plus simple qu’une chaîne d’outils montée de toute pièce, mais peut tout de même réclamer des interventions des équipes IT.
Mais est-ce du DevOps ?
La question est de savoir si les services DevOps fournis dans le cloud et gérés représentent une véritable approche DevOps de la livraison de logiciels – la réponse est oui.
Qu’il s’agisse d’une plateforme DevOps gérée ou de la mise en place d’une approche personnalisée en interne, les mêmes conditions préalables s’appliquent. Comme le rappellent les ingénieurs de Google, le DevOps n’a rien à voir avec une certification, un rôle, un jeu d’outils ou un processus inscrit dans le marbre.
Outre une compréhension de base des principes clés de DevOps, les organisations doivent être familiarisées avec l’intégration des systèmes, les flux de processus et les outils de développement logiciel. Pour les adoptions de plateformes DevOps managées, les organisations ne peuvent pas créer un environnement de production qui ne dispose pas déjà des principes DevOps fondamentaux.
Les capacités agiles et une culture IT collaborative constituent des éléments de base essentiels. Un prestataire de services DevOps de confiance peut raccourcir le processus de formation des équipes et permettre aux entreprises de bénéficier rapidement d’une approche DevOps. Une fois la plateforme intégrée, c’est aux responsables IT de faire connaître le potentiel CI/CD et de créer une culture qui utilise les outils DevOps managés, réduit les reprises et augmente la productivité.
Pour des acteurs hautement régulés ou sensibles à la question du cloud, déployer sa propre suite DevOps demeure l’option la plus pertinente. Si le besoin s’en fait sentir, il est toujours possible de passer par un éditeur ou un intégrateur qui sauront les guider dans ce projet interne.