Le DevOps n’est ni une méthodologie, ni une technologie, ni un outil informatique, un framework ou un workflow, c’est avant tout une culture d’entreprise et un changement des mentalités.
Le DevOps a révolutionné la manière de travailler des équipes et occupe une place à part dans l’IT. Cette approche a tellement démontré sa pertinence qu’elle s’accompagne d’une émergence de nouveaux métiers qui en découlent. On parle aujourd’hui de DevSecOps avec la volonté d’intégrer les équipes sécurité dans le processus, mais aussi de DevFinOps, qui permet de se pencher sur les éléments économiques notamment ceux liés à l’utilisation des services consommés dans le Cloud, ou encore de DevSecFinBizOps qui ajoute à tous ces aspects, les notions de business et de métiers… et permet d’impliquer toute l’entreprise ou presque dans le développement d’une solution.
Mais qu’en est-il de la problématique qui nous préoccupe tous de plus en plus, celle de l’environnement ? A l’heure de l’obsolescence programmée, de la course à la nouvelle technologies… les applications, services et autres sites web, ont, sans que nous en ayons vraiment conscience, un impact considérable sur l’environnement (consommation d’énergie et émission de CO2).
Les bonnes pratiques liées à la démarche DevOps vont dans le sens d’une éco-conception des logiciels.
Standardiser les outils et processus
DevOps représente l’opportunité de changer les outils anciens pour des solutions plus technologiques et moins polluantes et pratiques notamment pour : le contrôle de version, la gestion de configuration, l’intégration continue, le déploiement et le suivi.
Automatiser les tâches de programmation
Cela permet un code l’état de l’art technologique, déjà éprouvé en production, documenté et surtout, cela supprime toutes notions de code inutile dont on sait maintenant qu’il est néfaste à l’environnement
Il faut savoir rester concentré sur le cœur de métier, sans ajouter des fonctionnalités juste « au cas où » (combien de fois ai-je entendu cette expression…) . Pour les services existants, il faut faire l’effort de faire le point sur l’existant en faisant disparaître le « code mort » (code qui reste présent, mais qui n’est jamais exécuté). Ce « code mort », devenu inutile, est pourtant transporté à chaque déploiement et peut-être chargé à l’appel des pages de nos sites web.
selon Micaël, expert DevOps chez SoftFluent
D’ailleurs, Bertrand Keller le rappelait encore pendant la dernière édition du DEVOPSREX
70% de nos applications n’utilisent que 10% de leurs fonctionnalités.
Réduire la taille des Frameworks
Et donc l’impact des applications. C’est un facteur à prendre en compte, notamment dans la configuration, afin d’éviter au maximum les notifications périodiques à des serveurs distants ainsi que les interactions entre le client et le site, et donc le nombre de requêtes, les ressources serveurs utilisées, etc
Lorsqu’on fait la sélection de son Framework et de ses dépendances, il faut être attentif à leur taille. Ceci qui peut d’ailleurs devenir un double avantage, car, bien souvent, un Framework ou une dépendance de dimension réduite est aussi plus performante, ou, tout au moins, pourrait rendre le chargement de votre application plus rapide.
comme l’explique Micaël
Sensibiliser l’ensemble des équipes
Et leur faire prendre conscience des enjeux. Micaël est convaincu de l’importance d’intégrer des notions d’environnement dans la démarche DevOps
On le sait désormais, les solutions logicielles que nous développons ont un impact sur l’environnement car elles doivent être compilées, déployées et hébergées. A chacune de ces étapes, les conséquences sur l’environnement sont bien réelles. A une époque où le DevOps cherche à tout automatiser, les gestes qu’on réalisait auparavant manuellement, en pleine conscience, tendent à disparaître. Nous sommes clairement entrés dans une ère où l’abstraction à l’infrastructure est de plus en plus forte, ce qui peut nous éloigner de la réalité de la consommation en énergie que cela représente.
Le DevGreenOps commence à émerger, durablement nous espérons !