Un Devops c’est quoi?

de | juillet 20, 2016

Si vous lisez cet article, c’est que vous devez de plus en plus entendre ce terme à la mode. Les offres d’emplois référençant les DevOps sont de plus en plus nombreuses. Derrière ce terme, se cache en fait un retour au source du développement informatique, une meilleur prise en compte des besoins des développeurs et une réduction des coûts pour les entreprises à grands coups de technologies avant-gardiste.

Au début du développement informatique, les équipes et les projets étaient de taille modeste comparées à celles d’aujourd’hui et les technologies à maitriser pour développer un projet étaient restreintes. De fait chaque équipe gérait l’ensemble du projet, la mise en place des serveurs, des bases de données, du développement du projet et sa livraison etc … .

Avec l’augmentation de la taille des projets et des équipes, cette organisation à été mise à mal. Les technologies à maitriser pour continuer à travailler comme précédemment sont tout simplement devenues trop importantes pour être maîtrisées de fond en comble. Le métier s’est donc scindé en deux grandes entités, les développeurs et les admins système. Les premiers se chargeant du développement propre de l’application et les seconds spécialisés dans la mise en place de l’infrastructure permettant au projet de fonctionner.

Cette nouvelle organisation à le mérite de permettre à chacun de se concentrer sur sa tâche et de vraiment maîtriser son domaine. Cependant des problématiques sont rapidement apparues. Les deux professions ( Dev et admin sys) n’ont pas vraiment les même priorités. Les premiers demandent sans cesse plus de flexibilité ( Méthode agile ), alors que les seconds sont plus adeptes de la stabilité. De plus cette séparation entraine souvent des tensions entre les deux communautés. Chacune rejetant la faute sur l’autre équipe en cas de problème ( retard de développement => faute des Admin sys imposant trop de contraintes, Problème de stabilité => faute des développeurs produisant du code instable). Enfin le maintient de deux équipes induit des coûts non négligeables pour une entreprise.

C’est pour répondre à ces problématiques qu’est né le concept du Devops. Le terme est la contraction de Developper et de Operations (Admin sys). Le but étant de re-fusionner les deux mondes tout en laissant au développeur la possibilité de se concentrer sur sa tâche première, le développement. Dis plus sauvagement, de se débarrasser des Admins système. Pour cela, le Devops peut s’appuyer sur des outils relativement récent et connaissant une croissance exponentielle en ce moment. La première est la virtualisation des environnements de travail. La deuxième est l’apparition d’outils tels Vagrant, Chef, Docker, permettant de facilement « programmer/scripter » son environnement de développement ou de production.

Avec ces outils, le développeur est à même en très peu de temps de déployer un environnement lui correspondant sur une machine virtuelle. Le fait que la configuration de l’environnement soit maintenant sous forme de script à plusieurs avantages.

  1. L’environnement de développement peut être synchronisé sur un gestionnaire de ressources (SVN, GIT…) et facilement partagé par plusieurs développeurs. Une fois le script écrit, aucune configuration supplémentaire n’est nécéssaire pour les autres développeurs.
  2. Le test de mise à jour d’une bibliothèque ou d’un Framework devient trivial. Il suffit de modifier quelques lignes dans le script et de relancer la machine virtuelle. Si cela ne conviens pas, on revient à la configuration précédente avec un « Revert » sur le script.
  3. Le partage de configuration devenant trivial, un développeur peut configurer son environnement en assemblant différentes briques existantent développées par d’autre et se concentrer sur le développement de son projet.
  4. Le développeur est maitre de son environnement. Plus de raison de pester contre des Admins système ne voulant pas installer telles ou telles dépendances.
  5. L’entreprise réduit ses coûts en n’ayant plus à entretenir d’équipe d’admins système.

En conclusion, la pratique du Devops est amenée à se généraliser tellement les avantages sont énormes en terme de flexibilité et de coût de développement.

A bientôt

00

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.