mardi 20 octobre 2020

Comment devenir un Ingénieur DevOps ?

Le DevOps est à la mode en ce moment, est ce que cela va durer est ce que cela va être balayé par une autre mode, en tous les cas c'est une bonne pratique pour les éditeurs de logiciels. 

Pourquoi on écrit ainsi DevOps avec un 'O' majuscule et bien parce que le DevOps vient de la réunion ou l'union de deux services dans l'Entreprise d'une part les Devs la R&D et d'autre part les Ops les Opérationnels ceux qui sont en contact avec le client.

Il a été diagnostiqué que le plus grand nombre de problèmes dans le continus delivery client vient du fait de la séparation entre la R&D et les Opérationnels par manque de communication, par une culture différentes, le déploiement chez les clients s'en ressent. D'où l'idée de réunir sinon ces deux services, de créer en tous cas des ressources ayant les deux culture R&D et Déploiement client chargé de faire la liaison.

Cela conduit à l'automatisation, ou le scripting (la mise en scripts) de tout un tas d'opérations qui pouvaient être faites à la main mais qu'il est souhaitable d'automatisées pour des questions de répétabilité et pour les rendre facile à utiliser.

Alors aujourd'hui un Ingénieur DevOps c'est quoi ? Et bien, c'est quelqu'un qui fait le lien entre la R&D et le déploiement chez le client qui rédige ces scripts pour s'assurer que tout se passera correctement  lors du Continus Delivery chez le client. 

Je vous propose de disséquer la fiche de poste de l'ingénieur DevOps :

Compétences techniques requises pour l'Ingénieur DevOps :

Franchement, vous croyez que celui qui a rédigé cette fiche sait de quoi il parle ? La première ligne c'est pour maintenir des Bases de Données. C'est toujours un problème de maintenir des versions de Bases de données et pouvoir faire des livraisons incrémentales et du rétrofite avec les Bases de données.

Les Outils de l'Ingénieur DevOps
Les Outils de l'Ingénieur DevOps

Voici quelques explications succinctes sur ces différents outils de la Stack DevOps. 

Elasticsearch : moteur de recherche et d'analyse permet de faire des recherches rapides dans des bases immense. Kibana pour afficher sous forme graphique probablement des logs récupérés par Logstash

Logstash : moteur de collecte de données open source avec des capacités de pipelining en temps réel. Logstash peut unifier dynamiquement les données de sources disparates et normaliser les données dans les destinations de votre choix.

Nexus ? A priori personne ne sait vraiment ce que ce terme vient faire là mdr

Ansible : est un outil d'automatisation informatique. Il peut configurer des systèmes, déployer des logiciels et orchestrer des tâches informatiques plus avancées telles que des déploiements continus ou des mises à jour progressives sans temps d'arrêt.

Puppet : est un logiciel libre permettant la gestion de la configuration de serveurs esclaves (GNU/Linux, Mac OS X et Windows2). Il est écrit à l'aide du langage de programmation Ruby et est diffusé sous licence Apache

Openstack : est un système d'exploitation "cloud" qui contrôle de grands pools de ressources de calcul, de stockage et de mise en réseau dans un centre de données, tous gérés et provisionnés via des API avec des mécanismes d'authentification communs.


Il faut en convenir, cela fait une sacrée Stack, pas mal d'outils à maîtriser mais on reconnait là des outils pour loguer, contrôler, faire des diagnostiques, scripter, déployer des applications logicielles.

En réalité, il n'est pas nécessaire de maîtriser la totalité de ces outils présents sur cette fiche de poste, beaucoup de fonctionnalités sont redondantes entre les différents outils. Le vrai travail serait de rationaliser ces outils.

Voilà, nous avons maintenant une meilleure connaissance des outils du DevOps, des outils qu'ils va falloir prendre en main pour devenir un véritable Ingénieur DevOps.

Sur ce Blog - Les Articles sur le DevOps


Aucun commentaire:

Publier un commentaire