Microsoft déploie de gros efforts afin de faciliter l'utilisation de Linux dans Azure
En 2001, Steve Balmer, alors PDG de Microsoft, affirmait que "Linux est un cancer". Balmer faisait référence au fait que la licence open source de Linux (General Public License) exige que tous les logiciels sur lesquels le noyau est construit soient également transformés en open source. À l'époque, il était loin de se douter que 20 ans plus tard, Linux deviendra la pierre angulaire d'une des infrastructures les plus critiques de Microsoft, sa plateforme de cloud computing Azure. Aujourd'hui, c'est Linux, et non Windows, qui est le système d'exploitation le plus utilisé sur Microsoft Azure, avec des chiffres parfois impressionnants.
Mais c'est la demande des clients, et non la sévère désapprobation de Richard Stallman, qui a permis au projet de Linus Torvalds d'occuper une place prépondérante dans Microsoft Azure. Dans le cadre d'une conférence donnée au sommet Open Source de la Fondation Linux, deux responsables du programme Microsoft Azure Linux Platforms Group, Jack Aboutboul et Krum Kashan, ont déclaré que Microsoft déploie aujourd'hui des efforts considérables pour que Linux fonctionne aussi bien que possible sur Microsoft Azure. « Linux est le système d'exploitation numéro un dans Azure aujourd'hui », a déclaré Jack Aboutboul.
L'équipe a expliqué qu'aujourd'hui, Microsoft en sait à peu près autant que n'importe qui sur la manière d'exploiter Linux à grande échelle. Plus de 60 % des offres Azure Marketplace sont basées sur Linux, ce qui représente environ 20 000 services au total, et plus de 60 % des cœurs de machines virtuelles sont construits sur Linux.
À ce jour, il existe des centaines de services Azure et basés sur Azure fonctionnant sur Linux, notamment le service Azure Kubernetes (AKS), OpenAI, HDInsight et de nombreux autres services de base de données. « Une grande partie de l'infrastructure qui alimente tout le reste fonctionne sur Linux », a déclaré Aboutboul.
Aboutboul précise : « il s'agit de différentes saveurs de Linux qui tournent un peu partout ». Pour faire fonctionner ces services, Microsoft maintient son propre noyau et en 2023, l'entreprise a lancé sa propre version de Linux, Azure Linux. En outre, lors de la conférence, l'équipe a déclaré qu'Azure Linux n'est qu'une petite partie de toutes les autres saveurs de Linux fonctionnant sur Azure, avec lesquelles Microsoft doit travailler pour assurer le support.
Microsoft prend en charge un ensemble de distributions Linux tierces sur Azure
Dans l'ensemble, il existe environ 20 000 progiciels SaaS (Software as a Service) tiers sur Azure Marketplace qui s'appuient sur une distribution Linux. Et lorsque les choses tournent mal, ce sont les ingénieurs du service Azure qui reçoivent les tickets d'aide. L'entreprise conserve un ensemble de distributions Linux approuvées, parmi lesquelles Red Hat Enterprise Linux, Debian, Flatcar, Suse, Canonical, Oracle Linux et CentOS (gérées par OpenLogic, et non par Red Hat).
Aboutboul a expliqué qu'une approbation ne signifie pas une recommandation, mais chaque distribution dispose d'une base d'utilisateurs dédiée. Une fois qu'une distribution est approuvée, Microsoft doit consacrer du temps à l'ingénierie pour s'assurer qu'elle fonctionne correctement au sein d'Azure. Microsoft établit une relation contractuelle avec le distributeur. Périodiquement, Microsoft rencontre ces entreprises pour les informer des changements à venir et des problèmes en cours.
Enfin, Microsoft déploie des efforts considérables pour s'assurer que les paquets sont mis à jour en temps voulu, par l'intermédiaire de l'infrastructure miroir Azure. « Nous voulons nous assurer que lorsqu'un utilisateur souhaite une mise à jour, celle-ci est disponible sur le même réseau que votre ordinateur », affirme Aboutboul. Au total, Microsoft reçoit environ 1 000 images par mois rien que de ces partenaires agréés. De nombreuses distributions ont plusieurs images.
Selon Aboutboul, le principal défi pour Microsoft a été le calendrier de publication. Chaque distribution a son propre cycle de publication. L'une d'entre elles, Oracle Unbreakable Linux, n'a même pas de calendrier établi. « Nous recevons un courriel nous informant de la sortie prochaine d'une version et nous paniquons pendant les trois jours qui suivent en essayant d'aligner toutes les exigences de ce qui doit être fait », explique Aboutboul.
Une fois qu'un client a démarré une distribution, il doit obtenir les mises à jour, certains clients choisissant l'option de mise à jour automatique. Par sécurité, Azure testera les mises à jour avant qu'elles ne soient appliquées aux machines virtuelles des utilisateurs, afin de s'assurer qu'elles n'endommagent pas les systèmes. Au fil du temps, l'entreprise souhaite normaliser ces routines de correctifs sécurisés dans ce que Aboutboul appelle le service "Azure Guest Patching Service" (AzGPS).
Microsoft développe également sa propre distribution Linux appelée Azure Linux
Après avoir utilisé Azure Linux en interne pendant deux ans et l'avoir exécuté en préversion publique depuis octobre 2022, Microsoft a finalement rendu sa distribution généralement disponible en mai 2023. Azure Linux est un système d'exploitation hôte de conteneur open source pour Azure Kubernetes Service (AKS), optimisé pour Azure et visant à faciliter l'utilisation des outils Microsoft par les développeurs pour déployer et gérer les charges de travail de conteneur.
En clair : Azure Linux est conçu pour être déployé dans le cloud et exécuter plusieurs conteneurs. Selon le responsable principal du programme, Jim Perrin, la nature légère de la distribution est un point clef. La distribution comprend une image principale de 400 Mo et 300 packages, ce qui, selon Microsoft, fonctionne bien pour les performances et la sécurité. Il a déclaré dans un billet de blogue l'année dernière que la sécurité était au centre des préoccupations.
Selon Microsoft, Kashan surveille en permanence le noyau en amont, c'est-à-dire le noyau en cours de développement actif qui sera la prochaine version de la branche stable. La société effectue sa propre construction toutes les 12 heures et publie les résultats de la validation dans la base de données d'intégration continue du noyau Linux. Microsoft construit son propre noyau, le noyau Azure-tuned, optimisé pour les performances et pour le matériel Azure.
Lors de son exposé, les ingénieurs de Microsoft ont expliqué qu'Azure Linux fait tourner des millions de machines virtuelles à travers des milliers de SKU, chaque SKU répondant à une configuration spécifique ou à une optimisation des charges de travail : GPU, stockage et calcul haute performance. Toutes les combinaisons (couvrant 40 domaines tels que les tests de performance, fonctionnels, de stress et communautaires) représentent environ 5 millions de tests par mois.
Cela signifie que n'importe laquelle des 20 000 images exécutant diverses applications du marché fonctionnera de manière transparente dans Azure. Pour automatiser les choses, Microsoft a développé le framework LISA (Linux Integration Services Automation). Un grand nombre de ces cas de test, écrits en Python, ont été publiés en tant que source open source.
La prochaine étape consiste à lancer LISA en tant que portail en libre-service sur Azure, qui s'appellera "Azure Image Test Service for Linux" (AITL) et qui permettra à un tiers de valider ses propres constructions Linux pour Azure, via une API ou une interface graphique. Les tests seront conservés de manière privée et pourront être intégrés dans votre propre système d'intégration et de livraison continues.
La prédominance de Linux dans Microsoft Azure pourrait continuer à croître
Ce n'est pas la première fois que Microsoft annonce que Linux est le système d'exploitation le plus utilisé dans Microsoft Azure. L'entreprise a déjà fait cette annonce une première fois en mai 2020, affirmant que plus de 50 % des cœurs de machine virtuelle tournaient sous Linux.
Pour expliquer la prédominance de Linux dans Microsoft Azure, certains utilisateurs affirment que Linux est le système d'exploitation serveur de choix pour la plupart des informaticiens. Il y a plus de 15 ans en arrière, de nombreuses applications serveur étaient développées pour Windows. Ce n'est plus le cas aujourd'hui.
Seuls ceux qui sont bloqués avec des applications serveur héritées basées sur les technologies Microsoft utilisent Windows comme système d'exploitation serveur. L'autre cas d'utilisation est l'infrastructure interne pour les clients Windows, comme Active Directory et Exchange, mais ils ont tendance à se trouver sur des serveurs internes et non Azure.
Pour d'autres, le principal facteur de motivation derrière le choix de Linux est qu'il fonctionne mieux avec les applications cloud, où l'automatisation est reine. Les distributions Linux seraient beaucoup plus puissantes, flexibles, plus faciles à gérer (en particulier à grande échelle) et plus de gens sont prêts à leur écrire des outils facilement disponibles.
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de la prédominance de Linux sur Microsoft Azure ?
Selon vous, qu'est-ce qui explique le succès des distributions Linux auprès des clients de Microsoft Azure ?
Voir aussi
Linux est le système d'exploitation le plus utilisé dans Microsoft Azure, plus de 50 % des cœurs de machine virtuelle tournent sous Linux
Microsoft annonce la disponibilité générale de son OS Azure Linux. L'entreprise explique pourquoi elle en a créé un de zéro, au lieu de forker un OS Linux existant
Microsoft propose un didacticiel inattendu sur la façon d'installer Linux sur une machine qui utilisait auparavant Windows, l'entreprise suggère quatre méthodes