vendredi , 17 août 2018
Home » Articles » DevOps dans le cloud : 10 étapes pour réussir

DevOps dans le cloud : 10 étapes pour réussir

Il est devenu courant d’aligner un mouvement DevOps avec une transition vers le cloud. La possibilité de tirer parti de l’agile comme une méthode est accélérée par le potentiel de déploiement sur des plates-formes cloud privé et public. Le besoin de rapidité conduit le mouvement jusqu’à DevOps dans le nuage, ce qui entraîne le besoin d’agilité et de rapidité devant faire partie du processus du développement et des opérations.

Cependant, les entreprises tombent souvent sur DevOps comme un meilleur moyen de développer des applications cloud. La raison en est le grand nombre de changements qui doivent survenir, comprenant les personnes, les processus et la technologie. DevOps et les experts en matière de cloud font face à une énorme quantité de travail pour transformer les entreprises à utiliser efficacement les processus et la technologie DevOps.

Voici un processus en 10 étapes pour vous aider à transformer votre entreprise en DevOps. On va voir comment créer et déployer un processus DevOps efficace et comment sélectionner les bons outils ?

Étapes 1 et 2 : Évaluer où vous êtes et où vous devez aller

Commencez par une évaluation honnête de l’état actuel de vos processus, de votre technologie et de votre culture. Pour ce processus, il y a un modèle de maturité prédéfini (voir la figure 1), qui vous permet d’avoir un calibre commun pour classer les personnes, les processus et la technologie existants au sein de l’organisation. Il est préférable qu’une tierce partie effectue cette évaluation, car les auto-évaluations tendent à être biaisées vers les niveaux supérieurs.

Le niveau 1 (ad hoc) est l’endroit où la plupart des entreprises se trouvent aujourd’hui, donc il y a beaucoup de travail à faire. À ce niveau, l’organisation est basée sur le silo, utilise généralement le blâme comme un moyen de faire avancer les choses, possèdent des experts qui ne partagent pas les connaissances, et n’a presque aucune responsabilité. En ce qui concerne la technologie, il s’agit de la construction et du déploiement manuels, ainsi que des tests manuels. Les environnements du développement, du test et du déploiement sont incohérents.

Le niveau 5 (optimisé) a une culture d’amélioration continue. Cela inclut un déploiement sans interruption, une infrastructure immuable et un accent actif sur la résilience. Peu d’organisations sont à ce stade dans l’émergence de DevOps, bien que ce soit l’objectif. C’est là que vous devez aller si vous n’êtes pas déjà là.

Étape 3 : Définir une organisation DevOps

Définir une organisation orientée DevOps est peut-être l’étape la plus importante, mais c’est aussi la plus difficile. De nombreuses entreprises ne comprennent pas qu’il s’agit d’un changement systémique du personnel et des processus. En tant que tel, si l’entreprise n’y ajoute pas les compétences nécessaires, ou si elle devient une organisation plus vaguement définie, le projet échoue.

C’est au cours de cette étape que l’entreprise doit évaluer ce qu’elle a en termes de compétences. Cette évaluation des compétences permet de comprendre l’état souhaité « tel qu’il est » et « tel qu’il doit être », de déterminer les lacunes existantes et d’identifier les plans qui combleront ces lacunes.

La plupart envisagent des licenciements dans le cadre d’une réorganisation autour de DevOps, mais c’est avant tout une question de recyclage. Après avoir terminé votre recyclage, vous devez déterminer comment chaque compétence s’intègre aux processus DevOps émergents.

Certaines entreprises de développement tentent de séparer les groupes de développement et des opérations, mais cette voie devient rapidement dysfonctionnelle. Une meilleure approche consiste à les combiner en un seul rôle : un gestionnaire DevOps. À mesure que vos besoins de développement augmentent, augmentez le nombre de gestionnaires DevOps dont vous disposez. Cela permet aux entreprises de rester petites, agiles et concentrées sur un objectif spécifique au sein des systèmes qu’elles construisent et exploitent.

Étape 4 : Définir un processus DevOps

De nombreuses ressources vous indiquent comment définir un processus DevOps, qui est simplement automatisé. Cependant, il existe de nombreux types de processus DevOps comme il existe de nombreux types d’organisations, donc vous devrez choisir celui qui correspond le mieux à vos besoins.

La figure 2 montre un processus DevOps complet que vous pouvez utiliser comme point de départ. Vous n’aurez peut-être pas besoin de certaines étapes, ou vous devrez peut-être en ajouter d’autres. Ce qui devrait être cohérent est votre soutien pour le développement continu, l’intégration, les tests, le déploiement et les opérations. Les outils et les étapes que vous utilisez varient en fonction de vos exigences commerciales et technologiques.

Ce processus couvre généralement les plate-formes traditionnelles, telles qu’une pile Linux, Apache, MySQL et PHP/Python/Perl (LAMP), vers de nouveaux clouds publics ou privés. La figure 2 montre une ligne de démarcation typique. Toutefois, le processus peut s’étendre à toutes les plate-formes cloud et aux outils DevOps cloud, ou à tous les outils DevOps traditionnels sur la plateforme et sur le site.

Étape 5 : Définir votre plate-forme de cloud cible

La définition de la plate-forme cible pour l’hébergement des applications est importante pour deux raisons. Tout d’abord, la plate-forme cible a beaucoup à voir avec les outils DevOps que vous sélectionnez, en particulier les outils d’automatisation opérationnels. Deuxièmement, il définit en outre le processus DevOps. Même si beaucoup disent qu’il ne devrait pas changer autour de la plate-forme, cela change. Les besoins en termes de processus de test et de déploiement et d’automatisation changent beaucoup entre les plate-formes cloud et même les plate-formes traditionnelles.

La sélection de la bonne plate-forme de cloud cible peut signifier la sélection de plusieurs plate-formes. La plupart des processus DevOps utilisent plusieurs clouds publics et privés. Vous pouvez avoir OpenStack, AWS, Google, etc., et la cible souhaitée pour le processus DevOps peut changer en fonction des applications et des exigences correspondantes. Ou, à une date ultérieure, vous pouvez effectuer le courtage de clouds au coût le moins élevé possible afin de déterminer le cloud le moins cher et le plus efficace à la volée.

Étape 6 : Sélectionnez les outils pour le cloud et sur le site

Les outils DevOps ne sont pas faciles à comprendre. Ils utilisent les mêmes termes, mais les types de fonctionnalités qu’ils fournissent sont souvent confus et se chevauchent. Pour résoudre ce problème, listez vos plate-formes et vos besoins, y compris la manière dont vous partitionnez les processus DevOps entre les plate-formes traditionnelles et le cloud.

Ensuite, compilez une liste des catégories d’outils dont vous aurez besoin. Regardez à nouveau cette liste à un niveau supérieur, tel que le développement continu, l’intégration, les tests, le déploiement, etc., et définissez les sous-modèles dont vous aurez besoin. Les sous-modèles peuvent inclure des tests automatisés adaptés au type de code et aux données que vous utiliserez. Enfin, n’oubliez pas les outils opérationnels qui assureront que tout fonctionne correctement.

Étape 7 : Définir la sécurité et la gouvernance

Encore une fois, ce sont des concepts systémiques. Ils font partie de chaque étape du processus. Alors, comment définissez-vous la sécurité et la gouvernance dans le processus du développement ? Qu’en est-il du test et du déploiement ? Aussi, et surtout, comment définissez-vous les opérations ?

C’est la partie la plus négligée de DevOps car c’est une chose de plus à considérer dans un ensemble déjà complexe de processus et d’outils. Cependant, il est important de comprendre comment aborder des problèmes tels que la gestion des identités et des accès (IAM) ? Et comment s’intègrent-ils dans ce processus ? Qu’en est-il de la gouvernance des données et des services ? Comment les API et les services seront-ils suivis pour les dépendances ? Comment sélectionnez-vous les stratégies d’accès aux données et aux services ? Vous devez aborder tous ces problèmes.

Étape 8 : DevOps test

Cela signifie exactement ce qu’il dit : tester les processus, les outils, l’automatisation, les compétences, l’organisation et les autres composants de DevOps en faisant simplement des DevOps. Passez à un ensemble d’applications de test à travers le processus, et observez les correctifs ou les améliorations qui doivent être faites.

Vous risquez de rencontrer de nombreux problèmes, d’où l’importance de noter ces problèmes et de travailler sur les correctifs dès que possible, même si cela peut entraîner des modifications de vos processus, de la combinaison de compétences ou de l’outillage automatisé. C’est nouveau pour la plupart des gens qui tirent parti des approches DevOps, et un long chemin d’ajustement est la seule façon de résoudre les problèmes avant de suivre les processus.

Étape 9 : Définir le suivi et les mesures à adopter

Regardez les indicateurs de productivité et suivez le rendement global en mettant l’accent sur la valeur qui est fournie à l’entreprise. Assurez-vous de suivre l’agilité commerciale et le temps de mise sur le marché en termes de valeur livrée. Vous constaterez que si un processus DevOps peut compresser le temps nécessaire pour effectuer les modifications d’une application critique d’un mois à une semaine, la valeur est souvent 30 fois supérieure à celle de l’investissement DevOps.

En faisant cela, vous n’essayez pas de justifier l’existence de DevOps, bien que cela en fasse partie. Vous cherchez également à comprendre où vous vous comportez bien et pas si bien. En utilisant des indicateurs et des analyses, vous pouvez déterminer la qualité du code, les problèmes d’intégration, le nombre d’erreurs du test qui se produisent et dans quelle mesure le système répond aux attentes opérationnelles. En utilisant ces données, vous pouvez ajouter une amélioration continue à la liste des éléments fournis par DevOps.

Étape 10 : Améliorer continuellement vos processus

Enfin, assurez-vous d’améliorer continuellement vos processus DevOps et vos outils d’automatisation. Travaillez avec une équipe de leaders et de praticiens de DevOps pour constamment reconsidérer DevOps, en gardant toujours un œil sur les domaines d’amélioration potentiels.

DevOps dans le cloud signifie améliorer les opérations en ayant une culture ouverte et honnête qui aspire au meilleur changement et chercher toujours des moyens afin de fournir des applications au temps de production plus rapide et à une meilleure qualité. Cette approche interactive de l’amélioration est une chose que l’informatique traditionnelle ne pratique pas encore, mais il est nécessaire que DevOps fonctionne efficacement. Aujourd’hui, c’est un impératif.

À lire aussi

Qu’est-ce que la méthodologie agile ? Le développement de logiciels modernes expliqué

Les entreprises ont besoin de compétences en matière de logiciels pour offrir de bonnes expériences …