Blogue

Technologie
Adopter DevOps : Un brève histoire de la virtualisation
26 octobre 2023
par Jean-Paul Lizotte

La virtualisation informatique et son impact sur le DevOps

Dans la tapisserie complexe de l’histoire de l’informatique, la transition des méthodologies d’encapsulation logicielles fondamentales vers les innovations révolutionnaires de la virtualisation et du DevOps témoigne à la fois de l’ingéniosité humaine et de l’adaptabilité. Quand je regarde en arrière, ça me souffle un peu l’esprit, le chemin que nous avons parcouru.

Encapsulation précoce : l’ère des routines GOSUB

Au début des années 1980, j’ai vu comme une révélation la manière dont l’encapsulation a trouvé ses racines sous la forme de routines « GOSUB », un composant de la suite de base des langages de Microsoft1. Ce précurseur des pratiques de programmation modernes a permis aux développeurs de compartimenter les tâches, favorisant ainsi le concept de réutilisation du code. Ces méthodologies ont jeté les bases sur les architectures logicielles sophistiquées, soulignant l’importance de la modularité dans le développement du code, préparant ainsi le terrain pour de futures innovations.

Le jeu de « shell » : la contribution précoce d’IBM et de Microsoft

OS/2, développé conjointement par IBM et Microsoft à la fin des années 1980, a été un pas vers l’avant notable dans le domaine des systèmes d’exploitation. L’une de ses caractéristiques les plus remarquables était la possibilité d’exécuter plusieurs « shells » ou environnements simultanément2. Cette capacité multitâche a permis aux utilisateurs de fonctionner dans différents environnements de manière transparente, un précurseur des systèmes virtualisés que nous voyons aujourd’hui. Bien que l’intention principale d’OS/2 ne soit pas la virtualisation au sens moderne, son architecture a permis d’établir des concepts fondamentaux. La capacité d’encapsuler différents environnements d’exploitation dans un seul système a mis en évidence les avantages potentiels de l’isolement des processus et des applications, un principe fondamental au cœur des technologies de virtualisation dans les années à venir. Je m’imaginais alors avoir de nombreux programmes (principalement des jeux) en cours d’exécution dans différents « shells » et les avoir à la main chaque fois que je voudrais les lancer. C’était ce que je voyais comme de la virtualisation, à l’époque.

Virtualisation : combler le fossé

Au fur et à mesure que la technologie progressait dans le 21e siècle, mon rêve autrefois lointain de virtualisation est devenu une réalité tangible : des outils comme VMware et Hyper-V ont transformé l’informatique en découplant le logiciel de son matériel sous-jacent3. Cette merveille technologique a conduit à un changement de paradigme, permettant à plusieurs systèmes d’exploitation de coexister harmonieusement sur une seule machine physique. Cette évolution n’était pas seulement un témoignage de l’innovation humaine, mais aussi un reflet de notre besoin inhérent d’efficacité et d’optimisation. Ce qui a également poussé le fabricant de matériel à augmenter la capacité de la machine. Le stockage et la mémoire devaient suivre la loi de Moore8 si la virtualisation devait rester pratique.

L’ascension et la philosophie du DevOps

Émergeant de l’ombre des environnements de travail segmentés et cloisonnés, DevOps est apparu comme une lueur d’espoir en réponse aux efforts de collaboration4. En synergie avec le développement et les opérations, DevOps n’était pas seulement une méthodologie, c’était un changement culturel. Il a mis l’accent sur l’intégration sans heurt des cycles de développement avec la rétroaction opérationnelle, assurant un mécanisme d’exécution continu et rationalisé. DevOps est devenu un canal pour diffuser le message sur les avantages de la virtualisation, sur les personnes qui travaillent avec elle, autant que l’entreprise qui l’utilise.

Impacts psychologiques : au-delà du Code

Les avantages du DevOps et de la virtualisation ne se limitent pas aux mesures de productivité tangibles. Un aspect important, souvent négligé, est l’impact psychologique profond sur les professionnels. En automatisant des tâches banales et redondantes, les développeurs et les équipes d’exploitation se retrouvent libérés. Ils peuvent maintenant canaliser leurs énergies vers des tâches plus créatives et percutantes, ce qui conduit à une meilleure satisfaction au travail5. Ce changement, subtil mais profond, crée une main-d’œuvre plus engagée, motivée et intrinsèquement plus productive. Le sentiment d’accomplissement, de réaliser plus en moins de temps et la réduction des frictions entre les équipes ont conduit à un environnement de travail plus sain. Et c’est ce que DevOps essaie de livrer.

Conteneurisation : l’avenir encapsulé

L’introduction de la conteneurisation, incarnée par des plates-formes comme Docker6, a changé la donne. En encapsulant les applications et leurs dépendances dans des environnements isolés, les développeurs pourraient assurer la cohérence entre les différentes étapes du développement. Ce niveau de prévisibilité a réduit les conflits potentiels, garantissant des déploiements plus fluides et moins de problèmes de production.

L’écho « organisationnel »

Les effets d’entraînement de ces progrès technologiques ont résonné profondément au sein des structures organisationnelles. Une collaboration améliorée entre les équipes a permis une résolution plus rapide des problèmes, une réduction des temps d’arrêt et une réponse plus agile aux besoins des clients7. En interne, un environnement de travail plus harmonieux a permis de réduire les taux d’attrition, favorisant ainsi une culture d’apprentissage continu et d’innovation.

Embrasser l’inévitable : tirer les leçons des échecs

Dans le monde dynamique de l’informatique, les échecs sont inévitables. Cependant, la philosophie DevOps ne met pas l’accent sur l’évitement des échecs, mais sur la capacité de récupérer rapidement ou de ne pas avoir à récupérer, du tout, en isolant les erreurs dans les environnements « clonés ». En construisant des systèmes robustes qui résistent aux pièges potentiels et en assurant une culture qui considère les erreurs comme des opportunités d’apprentissage, les organisations ont favorisé un environnement de croissance et d’amélioration continues.

Regarder vers l’avenir

Alors que nous nous trouvons au bord du précipice de nouveaux progrès technologiques, les leçons de notre passé servent de phares. Le mélange harmonieux de la technologie avec la psychologie humaine promet un avenir qui n’est pas seulement technologiquement avancé, mais aussi empathiquement prévenant. Après tout, la technologie travaille toujours pour nous, non ?


Citations :

  1. « The Basics of Structured Programming ». GeeksforGeeks. Lien
  2. « OS/2 : A Brief Historical Overview ». EDM/2 Electronic Developer Magazine pour OS/2. Lien
  3. « Qu’est-ce que la virtualisation ? ». Red Hat. Lien
  4. « Qu’est-ce que DevOps ? ». Amazon Web Services (AWS). Lien
  5. « The Psychological Impact of IT Work ». La psychologie aujourd’hui. Lien
  6. « What is a container ? ». Docker. Lien
  7. « The Impact of Organizational Culture on DevOps ». DORA (DevOps Research and Assessment). Lien
  8. « Moore’s Law ». Wikipédia. Lien