Comment choisir la bonne distribution Linux pour votre serveur cloud
Linux existe dans un environnement open source complexe, avec de nombreuses distributions différentes (distributions) développées par des programmeurs du monde entier et simultanément soutenues par de grandes entreprises. Quelle distribution devez-vous installer sur votre nouveau serveur?
Sommaire
Quelle est la différence entre tous ces discothèques?
Lorsque vous exécutez Linux sur un serveur cloud, vous y accédez probablement via SSH, et non pas une interface graphique, donc les différences dans l’environnement de bureau n’ont pas beaucoup d’importance (voire pas du tout). Bien que vous puissiez techniquement exécuter n’importe quelle version de Linux sur un serveur, il est préférable de choisir une distribution optimisée pour l’utilisation du serveur.
La plupart des distributions varieront en fonction du logiciel préinstallé et de l’endroit où il se trouve dans «l’arbre généalogique» de Linux. Presque toutes les distributions Linux sont open source, donc de nombreuses distributions seront basées sur d’autres. Par exemple, Ubuntu est basé sur Debian, et de nombreuses distributions sont basées sur Ubuntu. Red Hat Enterprise Linux a été bifurqué et est devenu CentOS, Red Hat (la société) soutenant le développement de CentOS. Amazon a bifurqué CentOS pour lancer sa propre distribution. Chacune de ces distributions installera un logiciel similaire, bien que les numéros de version exacts varient d’une distribution à l’autre.
En pratique, la plupart des distributions destinées à un serveur seront relativement similaires. Après tout, tout est Linux, donc tant que vous n’utilisez pas une distribution obscure, le logiciel que vous souhaitez exécuter sera probablement compilé pour votre système, ou tout simplement compatible de toute façon. Le plus gros problème est que la structure des dossiers est différente sur certaines distributions, mais vous devrez peut-être également vous habituer aux particularités de la distribution, comme Ubuntu en utilisant le apt
gestionnaire de packages, tandis que RHEL, CentOS et Amazon Linux utilisent yum
.
Une façon de résoudre ce problème est d’utiliser un service de conteneurisation comme Docker. Docker regroupe vos applications dans des conteneurs, qui s’exécutent de la même manière quel que soit le système d’exploitation sur lequel ils s’exécutent (en supposant que la distribution dispose d’un binaire Docker compilé). Vous pouvez même «émuler» d’autres distributions; par exemple, vous pourriez avoir un serveur sur Ubuntu exécutant une application conteneurisée qui pense il fonctionne sur CentOS. En effet, Docker ne modifie que les espaces de noms du conteneur, et tout fonctionne sur le même noyau Linux sous le capot. Vous pouvez basculer ce serveur vers un autre fournisseur exécutant Fedora et tout ce que vous auriez à faire pour que votre application fonctionne à nouveau serait de copier et d’exécuter le conteneur de votre application sur le nouveau système.
Ubuntu Server LTS
Ubuntu est peut-être la distribution Linux la plus connue. Il est gratuit et open source, donc presque tous les fournisseurs de cloud l’offriront en option, si ce n’est pas déjà la valeur par défaut. Si vous passez à un nouveau fournisseur à l’avenir, la transition devrait être transparente.
Ubuntu Server est une distribution très polyvalente. Si vous ne vous souciez pas de plonger dans tous les détails des distributions concurrentes, vous n’aurez aucun problème à simplement installer Ubuntu et à l’oublier.
Il existe quelques versions d’Ubuntu Server, mais nous vous recommandons d’installer quelle que soit la dernière version du support à long terme (LTS), qui est publiée tous les deux ans en avril. Actuellement, la dernière version est Ubuntu 18.04.2 LTS (Bionic Beaver), avec 20.04 LTS prévu pour avril prochain. Cependant, Canonical prend toujours en charge Ubuntu 18.04 LTS jusqu’en 2022 avec des correctifs de sécurité étendus jusqu’en 2027.
Ubuntu est open source et les correctifs de Canonical sont gratuits, mais la société propose un service payant appelé Ubuntu Advantage, qui fournit une assistance téléphonique et Web 24/7. Plus particulièrement, il vous donne également accès à deux services très utiles: Canonical Livepatch et Landscape.
Livepatch installe automatiquement les mises à jour du noyau sans redémarrer votre système, ce qui vous permet de garder votre serveur en place même en cas de bogues critiques du noyau. Il est gratuit pour trois machines, mais tout autre élément nécessite Ubuntu Advantage. Landscape est un outil de gestion conçu pour surveiller la santé de votre système et installer des mises à jour par lots de packages sur plusieurs serveurs.
Si vous voulez une distribution minimale similaire à Ubuntu, vous pouvez essayer d’exécuter Debian, la distribution Ubuntu est basée sur. Cependant, le support de Debian nu est basé sur la communauté, et il n’est pas aussi populaire.
Amazon Linux
Amazon lance sa propre version de Linux à utiliser dans ses services. Il est livré préinstallé avec des outils pour gérer vos ressources AWS, comme l’interface AWS CLI. Il est également « réglé pour des performances optimales sur Amazon EC2 », bien que l’avantage exact en termes de performances d’utiliser Amazon Linux sur une autre distribution ne soit pas clair.
Il est probable qu’Amazon Linux contienne des optimisations de performances conçues pour réduire les coûts du côté d’Amazon lors de l’exécution de plusieurs instances EC2 sous un hyperviseur, et vous ne verrez pas réellement votre système fonctionner plus rapidement par rapport à Ubuntu.
Amazon Linux est proposé en tant qu’image Amazon Machine (AMI) lorsque vous créez une nouvelle instance EC2. C’est la première option, donc si vous avez rapidement démarré un serveur EC2, il est probable qu’il fonctionne sur Amazon Linux, sauf indication contraire.
Alors qu’une distribution spécialement conçue pour votre fournisseur de cloud est dotée d’excellentes intégrations, le principal inconvénient d’Amazon Linux est qu’elle est exclusive à AWS. Si vous souhaitez changer de fournisseur de cloud, vous devrez peut-être passer du temps à configurer votre logiciel sur un nouveau système d’exploitation, ce qui entraînera inévitablement des problèmes. La transition la plus simple serait probablement vers CentOS, la distribution sur laquelle Amazon Linux est basé.
Amazon n’offre aucun type de service de correction en direct du noyau, bien qu’ils recommandent d’utiliser le KernelCare tiers, qui coûte 2 $ par serveur, par mois.
CentOS, Red Hat Enterprise Linux, Fedora
Ces trois distributions partagent toutes des communautés et sont assez similaires les unes aux autres. Red Hat Enterprise Linux (RHEL) est une distribution très populaire pour les serveurs d’entreprise, mais contrairement à la plupart des versions Linux, elle n’est pas gratuite. Récemment, Red Hat a commencé à proposer des versions de développement uniquement de RHEL.
Fedora est la source en amont de Red Hat, ce qui signifie que les nouvelles fonctionnalités sont implémentées et testées dans Fedora avant de faire leur chemin dans RHEL. En tant que telle, la distribution sera mise à jour assez souvent et est plus «à la pointe» qu’une distribution de serveur stable.
CentOS est la source en aval de RHEL. Il s’agit essentiellement de la version gratuite de RHEL, mais elle est gérée par une équipe distincte et est indépendante de Red Hat. Si vous recherchez une distribution gratuite qui n’est pas Ubuntu, CentOS est le meilleur concurrent. Il est beaucoup moins utilisé qu’Ubuntu, mais il est mis à jour moins fréquemment, ce qui peut être une bonne ou une mauvaise chose dans le monde des serveurs cloud.
Une note importante à propos de RHEL et CentOS est qu’ils sont la seule distribution qui prend officiellement en charge cPanel, un panneau de contrôle d’hébergement Web Linux populaire. Si vous cherchez à utiliser cPanel, vous devrez utiliser CentOS ou essayer de l’exécuter dans une image Docker, ce qui est probablement plus difficile que cela ne vaut pour une application conçue pour vous faire gagner du temps.
Red Hat est le développeur de Kpatch, un utilitaire pour les correctifs en direct du noyau. Kpatch est gratuit, mais il n’est pas automatisé et vous oblige à appliquer manuellement les correctifs si nécessaire. Il fonctionne sur RHEL et CentOS, ainsi que sur Debian.