Dans un monde où tout va plus vite et les utilisateurs ont besoin de renouveau fréquemment, le DevOps permet l’amélioration du Time To Market et de rendre disponible une nouvelle version d’une application plus rapidement.
Associé à la méthode agile, le DevOps améliore la communication entre les équipes dans l’intérêt général des projets. J’ai interviewé 2 Ingénieurs DevOps : Guillaume et Julien afin de connaître leur opinion en la matière. Je tiens à les remercier pour leur professionnalisme et leur réactivité.
Guillaume, Ingénieur DevOps chez Aubay depuis Novembre 2019
De manière assez large, est-ce que le DevOps est important?
Oui. Pour moi le DevOps est une démarche qui découle de l’agile. L’agile permet de développer plus vite une idée. L’application se retrouve plus rapidement sur le marché.
Si tu veux augmenter la fréquence de mise en production tu vas devoir trouver une manière de travailler qui va te permettre de tester chaque élément candidat à la mise en production. Ce qui accroît considérablement la maîtrise des livrables sur ta mise en production. Il faut surtout réduire significativement le volume d’évolutifs et de correctifs. Avant, nous mettions en production de nombreux lots d’évolutions et correctifs, tous les 6 mois, avec des livraisons chaotiques et trop différentes d’un environnement à l’autre à la fois dans l’outillage et la procédure.
Aujourd’hui le but est d’avoir un seul et même processus de livraison que l’on soit sur un environnement de développement, intégration ou production.
Comment les ingénieurs DevOps font pour intégrer des nouvelles fonctionnalités?
Pour intégrer des nouvelles fonctionnalités dans une architecture, le changement doit être bien défini. L’ingénieur DevOps ne va pas se substituer au métier. C’est le métier qui doit avoir la vision et le contrôle de ce qui doit arriver en production. Ce n’est pas le travail d’un ingénieur DevOps de décider ce qui va en production ou pas; En revanche le DevOps doit concevoir et mettre en place un processus de CI/CD le plus simple et fluide possible.
Lorsque tu travailles en tant qu’ingénieur DevOps, est-ce que tu regardes le code des développeurs?
En général, non. Dans le passé, ça m’est déjà arrivé. Sur un ancien projet, on avait un projet assez mature dans le DevOps par conséquent j’avais plus de temps pour faire autres choses et donc aider les équipes de développement.
Depuis combien de temps est-ce qu’il y a une réelle demande pour le DevOps?
Depuis au moins 3 ans. Docker est arrivé en 2012. Les ingénieurs se sont rendu compte qu’ils peuvent faire de la montée en charge beaucoup plus flexible et plus protégée. Je travaille avec Docker depuis 2015/2016.
À ton avis, est-ce que toutes les entreprises devraient intégrer du DevOps dans leurs projets?
Je ne dirai pas forcément qu’on doit l’avoir sur tous les projets. Sur des marchés très tendus et très compétitifs par exemple, le DevOps est une des solutions qui permet de fournir des améliorations le plus fréquemment possible.
En revanche, s’il y a des changements tous les 6 mois peut-être que le DevOps n’est pas la solution. Quand il y a une nouvelle idée, il ne faut pas attendre 12 mois avant de mettre en production parce que sinon les concurrents auront déjà déployé une nouvelle solution.
Chez mon client actuel, on va surement monter en charge car il va y avoir de plus en de clients donc il va falloir une infrastructure qui va supporter toute cette flexibilité. Donc le DevOps a sa place dans le projet.
Est-ce que tout le monde peut faire du DevOps?
Si tu es dans un contexte agile et si tu es un développeur, pour moi tu devrais plus ou moins faire un peu de DevOps. J’ai souvent remarqué qu’il y a des développeurs qui n’ont aucune idée de ce qu’il se passe après le moment où ils ont pushé leurs codes sur git. Au-delà de leurs codes purs, ils n’ont aucune connaissance. Connaitre comment se passe les environnements DevOps, cela pourrait leur permettre de considérer un peu autrement la manière dont ils travaillent.
Comment es-tu arrivé dans le monde du DevOps?
Après 3/4 ans de devs purs, j’ai travaillé sur un gros projet où il y avait plusieurs équipes. J’ai été intéressé par les mises en production et je trouvais étonnant que ce soit autant problématique et j’ai voulu en savoir plus.
Julien, Ingénieur DevOps chez Aubay depuis Janvier 2019
De manière assez large, est-ce que le DevOps est important?
Ce n’est pas le DevOps en soi qui est important. SI nous parlons de DevOps d’une société à une autre, ils ne vont pas te parler de la même chose. Certains aborderont le DevOps par le CI/CD, alors que ce n’est qu’une composante du DevOps. D’autres organisations mettront en avant la collaboration plutôt que les outils, tout dépend du besoin du client.
Maintenant, pourquoi CI/CD est important? Car cela permet d’avoir une organisation efficace pour chacune des étapes du projet, d’un point de vue sécurité et déploiement. Le DevOps met à disposition des outils pour que les équipes de développement soient plus autonomes.
Globalement, le DevOps se combine très bien avec la méthode agile. Le DevOps permet d’avoir: des livraisons plus rapides, une meilleure autonomie au niveau du développement et de la connaissance partagée.
Alors justement, est-ce que la plupart du temps le client a besoin de la chaine CI/CD?
Cela dépend vraiment du besoin. Il faut s’adapter à ce qui est déjà existant. Si nous partons from scratch il est nécessaire d’instaurer des bonnes pratiques dès le début
À ton avis, pourquoi est-ce qu’il y a de plus en de plus de besoin en DevOps?
C’est pour la transformation digitale. Il y a beaucoup de sociétés qui passent au Cloud. La CI/CD et le déploiement automatique se mettent en place en même temps, dans un but d’efficacité et de qualité avec l’aide de la méthode agile. Toujours plus vite, plus sécurisé, plus efficace et moins cher.
Est-ce que le DevOps a commencé à prendre de la valeur avec l’arrivée de nouvelles technologies comme Docker?
Oui. À cette époque, on ne commençait pas à parler de DevOps car c’était un peu tôt. Effectivement à partir du moment où Docker a commencé à apparaitre il y avait quelques développeurs qui ont commencé à utiliser cette technologie. Dans le but d’automatiser, garantir la scalabilité et segmenter.
À ton avis, qu’elle est le futur du DevOps?
Le futur du DevOps? C’est la non-existence du DevOps, c’est-à-dire dans un monde idéal le DevOps serait une partie du métier de développeur.
Aujourd’hui, il y a des équipes qui sont dédiées aux DevOps. Demain, ce savoir sera partagé sur l’ensemble des développeurs d’une équipe. Le DevOps ne sera plus un métier à part entière. C’est mon point de vue.
En attendant, est-ce que pour toi il y aura toujours une forte demande pour le DevOps?
Oui, effectivement. Avant le métier DevOps, chaque entreprise avait sa propre façon de faire et leurs propres process. Quand je changeais de mission je découvrais de nouvelles méthodes et de nouveaux outils. Maintenant tout commence à se standardiser.
Comment es-tu arrivé dans le monde du DevOps?
Grâce à un concours de circonstances, je suis tombé sur une mission chez un client. Je suis rentré en tant que développeur python. Je devais aider un expert à monter un framework et il s’est avéré que le consultant est parti 3 mois après. Il y avait du DevOps dans le projet et ils m’ont proposé de faire quelques scripts python pour aider leurs automatisations. Dès lors, je mettais un pas dans la CI/CD et de fil en aiguille je faisais du DevOps
L’utilisation du DevOps n’est pas compliqué mais c’est surtout la notion de réseau qui me pose soucis personnellement.
Est-ce que tu penses que tous les développeurs peuvent faire du DevOps?
Non. Certains développeurs sont satisfaits de faire du code. Certains développeurs ne sont pas intéressés par ce qu’il se passe derrière.
Le DevOps est à la portée de tout le monde. Il faut aimer comprendre comment les choses s’imbriquent et ce qu’il se passe en arrière-plan. Comme tous les autres langages de programmation, il y a beaucoup de cours sur internet. Il n’y a rien d’insurmontable! Il faut lire la documentation.