<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=410661216031617&amp;ev=PageView&amp;noscript=1">

Qu'est-ce que le DevOps ? Un poste au sein de l'équipe technique, une approche de la culture informatique ? Peut-être un peu des deux ... ?

Le monde du digital est en constante mutation. Les besoins et exigences évoluent sans cesse et le développement doit être de plus en plus rapide. Les équipes de développement logiciel et celles chargées du déploiement doivent réagir rapidement. C'est dans ce contexte que le terme DevOps, qui fait beaucoup parler de lui, a vu le jour.

Boris, responsable technique chez Adimeo, nous explique ce qu'est l'approche DevOps (et le métier de DevOps).


DevOps, qu'est ce que c'est ?

Souvent on parle du DevOps comme d'un poste occupé au sein de l'équipe technique ; le DevOps étant doté de compétences en développement, infrastructure et administration système. Il n'est pas SysAdmin à proprement parler mais il intervient aussi sur ces problématiques.

Il est amené à créer des environnements de développement, de recette et de production en utilisant tout un panel de technologies. En réalité, ses fonctions dépendent beaucoup des besoins de l'entreprise. 

Au sens large, et c'est plutôt comme ça que je le vois, DevOps désigne une philosophie de travail, une approche, qui favorise une meilleure communication entre les équipes chargées du développement (Dev) et l'équipe opérationnelle chargée de l'exploitation des systèmes (ops).

Plus qu'une méthodologie pour le développement de logiciels, de sites web et d'applications, c'est ce qui arrive quand les développeurs et les opérateurs, appelés plus couramment les administrateurs système, parviennent à travailler ensemble en ayant conscience de leurs contraintes respectives.

C'est un ensemble de bonnes pratiques, un assemblage de processus et d'outils visant à réduire le "time-to-market", autrement dit le temps entre le développement d'un nouveau produit ou d'une fonctionnalité et la livraison aux utilisateurs finaux, tout en garantissant la qualité des produits.

 

Qu'est ce que ça change dans le monde du digital ?

Il y a une rupture fondamentale entre le développement comme on l'abordait hier et le développement aujourd'hui.

Avec la méthodologie DevOps, on n'a plus cette séparation des équipes : d'un côté les devs chargés de collecter les besoins métiers et de les développer et de l'autre les ops, chargés d'exploiter le code et garants de la stabilité du service.

Avant, les développeurs écrivaient du code "dans leur coin" sans vraiment imaginer son comportement une fois en production, souvent par manque de connaissance de l'infrastructure qui faisait tourner leur code. Ils l'envoyaient ensuite à une autre équipe d'infrastructure chargée de le mettre en production. Et là, c'était la panique, quand le site n'était plus accessible ou trop lent ; chaque équipe rejetant la faute sur l'autre.

Aujourd'hui le DevOps intervient dès le début d'un projet. Il efface cette rupture entre les deux équipes qui font partie de deux mondes différents, qui ne parlent pas le même langage et qui malgré tout doivent livrer une produit fini ensemble, tout en intervenant de manière autonome sur le projet. C'est cette rupture qui explique le fait qu'on développe parfois des projets qui ne sont mis en ligne que quelques mois plus tard.

 

Devops ou pas devops - commitstrip

Source : CommitStrip.com

 

Quelles sont les bonnes pratiques du DevOps ?

L'une des points primordiaux à retenir est qu'on ne se lance pas dans une approche DevOps sur un coup de tête. Il est préférable de commencer par une petite équipe et surtout sur un petit projet. Adopter une culture DevOps implique souvent un chamboulement des méthodes de travail habituelles. La réussite de ce petit projet vous conduira ensuite à déployer le process sur la totalité des équipes puis sur des projets plus ambitieux.

Il existe quelques bonnes pratiques à mettre en place dans une démarche DevOps :

  • La collaboration étroite entre les équipes : 
  • L'intégration continue et livraison continue : les développeurs intègrent régulièrement les modifications apportées au code. On vérifie, idéalement à chaque modification du code source, qu'il n'y a pas de régression. Ainsi, les développeurs peuvent trouver et corriger plus rapidement les bugs, améliorer la qualité du site et réduire le temps nécessaire à la validation et la livraison des nouvelles mises à jour.
  • Le monitoring : il s'agit de surveiller, après la mise en ligne, l'accessibilité et la disponibilité du site, les temps de chargement...
  • L'automatisation des tests parce qu'exécuter les tests manuellement peut prendre beaucoup de temps.
  • L'utilisation d'outils comme Ansible permettant de centraliser et automatiser la configuration des projets et leur déploiement.

 

On présente souvent le DevOps comme un monde merveilleux mais ce n'est pas toujours tout rose...

Non pas toujours ! Il y a beaucoup d'outils à connaître dans la démarche DevOps. Il faut faire preuve de curiosité et intégrer des technologies assez rapidement car elles évoluent très vite et sont parfois complexes.

Le DevOps est un peu un couteau-suisse. Mais il n'a pas toujours le temps de faire les tests nécessaires, de se pencher réellement sur la question des outils à utiliser.

On fait aussi souvent un raccourci entre DevOps et SysAdmin. Mais un DevOps n'est pas un administrateur système. Pourtant, on demande souvent au DevOps de résoudre des problématiques liées à la sécurité des infrastructures. C'est un autre métier ! L'infrastructure pure n'est pas le coeur de métier du DevOps.

Par ailleurs, il y a un gros travail à réaliser auprès des différentes équipes intervenant sur le projet. Il faut impliquer les équipes, définir clairement les rôles et responsabilités de chacun et définir des objectifs clairs. L'une des grosses difficultés dans l'approche DevOps c'est de parvenir à la faire adopter par tous les membres de l'entreprise.

C'est un processus long et complexe qui nécessite des changements culturels et organisationnels. C'est là tout le paradoxe de la démarche qui a vocation à simplifier et fluidifier les échanges et les étapes du projet.

 

DevOps = Agilité ?

Souvent apparentée aux méthodes agiles, la méthode DevOps tend à rendre l'entreprise plus flexible.

Quelle différence alors entre agilité et DevOps ?

Si on veut faire très simple (voire trop simple), on peut dire que ces deux méthodes interviennent sur des lacunes dans les communications entre :

  • les clients et les développeurs pour la méthode Agile,
  • les développeurs et l'équipe opérationnelle pour la démarche DevOps.

Ces deux approches sont souvent confondues. Si elles ne sont pas tout à fait similaires, elles sont toutefois plutôt complémentaires, avec un objectif commun : livrer rapidement et sans interruption de service.

Agile est une méthode de conduite de projet mettant l'accent sur le développement par itérations (sprints), incrémentiel et évolutif avec l'accent sur la satisfaction client. Tous les membres de l'équipe sont impliqués dans la spécification, la réalisation, les tests et la livraison rapide au client. On livre rapidement un produit opérationnel. On livre aussi régulièrement de nouvelles fonctionnalités sans provoquer d'interruption dans l'utilisation du produit par le client. Le maître-mot de la méthode agile est la régularité !

DevOps est une méthode de développement logiciel, née avec l'agilité (ou justement avec le manque d'agilité), qui met surtout l'accent sur la communication, l'intégration et la collaboration entre les équipes pour un déploiement plus rapide. On atteint cet objectif par l'automatisation de la production. Configuration, construction, tests, déploiement : toutes ces tâches sont automatisées au maximum pour conduire en fait à l'industrialisation de l'usine logicielle tout au long du cycle de vie de l'application, du produit. Tout devient alors prévisible et reproductible pour une rapidité de réponse à la demande client et une qualité optimale.

schema-devops

 

Si vous souhaitez en savoir plus sur DevOps, je vous conseille de lire"The Phoenix Project", un roman qui nous livre une histoire que toute personne travaillant dans l'informatique reconnaîtra.

 

Faites appel à des experts pour votre projet Web

Publié par Boris Cerati
Responsable Technique
Retrouvez moi sur :

Un conseil, un projet, un devis ?
Nous repondons a toutes vos questions !

N'hésitez pas à nous contacter pour plus d'informations

Nous contacter

Sur les mêmes sujets