Amazon Linux, à l'origine basé sur Red Hat, est une distribution rationalisée qui est optimisée pour fonctionner sur les instances EC2. Il est conçu pour relever les défis de la plate-forme ainsi que pour fournir un certain nombre d'outils pour s'intégrer de manière transparente aux services EC2. Ce n'est pas une distribution Linux autonome et n'est disponible que dans un environnement EC2.
Amazon et la communauté rendent les AMI disponibles (Amazon Machine Images). Ce sont des machines essentiellement prédéfinies qui peuvent être rapidement tournées sur EC2 pour supprimer une partie de l'installation du système d'exploitation et des fonctions d'administration du système initial. Il existe une grande variété d'OS AMI disponibles pour installer avec des distros Windows et Linux.
Donc, avec autant de choix, qui est la meilleure distribution à utiliser sur EC2? Je comparerai Amazon Linux à Red Hat Enterprise Linux (RHEL) pour mettre en évidence les différences et les raisons possibles de choisir l'un plutôt que l'autre sur la plate-forme EC2.
L'intégration
Les deux distributions sont proposées dans l'environnement EC2 en tant qu'ami. Cela facilite l'instanciation d'un nouvel environnement en seulement quelques clics. Vous pouvez tourner l'un de ces environnements en quelques minutes seulement. Où ces systèmes d'exploitation diffèrent dans le niveau d'intégration qu'Amazon a inclus avec sa distribution homonyme. Il a inclus des outils standard qui améliorent l'intégration et les performances avec son environnement EC2. Red Hat n'offre pas ces outils comme un package standard inclus avec la distribution, mais bon nombre de ces outils peuvent être installés séparément des référentiels.
Un inconvénient à l'intégration serrée d'Amazon Linux vers EC2 est le fait que les environnements Amazon Linux ne peuvent pas être migrés vers une autre plate-forme cloud. Une décision de se séparer de l'EC2 signifierait que vous auriez besoin de migrer vers une autre distribution. Bien que ce ne soit pas un obstacle insurmontable, c'est quelque chose dont il est conscient lors du choix d'une distribution. Ce couplage présente également un problème en ce qui concerne les environnements de développement. Étant donné qu'Amazon Linux ne peut être exécuté que sur EC2, les systèmes de développement et de QA doivent également être sur EC2. Cela ajoute un coût au projet, bien qu'il ne soit pas complètement négligeable, ces coûts pourraient être faibles si vous tournez les systèmes à la fin de la journée et n'utilisez pas beaucoup de débit de données ou si vous avez de grandes couches de persistance.
Rhel peut être configuré sur n'importe quel serveur local et sur EC2 Cela permet à votre développement et à l'équipe QA de travailler de manière transparente entre le cloud et les instances de développement locales. Cela pourrait représenter une économie si vous avez un matériel local qui est utilisé à cet effet. Cette indépendance vous permet également de migrer votre environnement vers un autre fournisseur ou serveur de cloud en général. Si vous n'êtes pas sûr que vous restiez une partie de la famille Amazon EC2, il peut être une bonne idée d'éviter le système d'exploitation spécifique de leur plateforme. L'utilisation d'Amazon Linux peut faire des choses un peu un défi si vous décidez de changer de fournisseur.
Performance
Comme on peut se conclure d'une distribution organisée par Amazon, les performances et l'intégration sont adaptées à l'environnement cloud EC2. Amazon Linux propose des mises à jour de roulement qui incluent des outils d'amélioration des performances et des fonctionnalités de sécurité spécifiques à l'EC2.
Cet article montre des repères d'Amazon Linux et Rhel fonctionnant sur EC2. De cette référence, Amazon Linux offre de meilleures performances dans certains domaines. Ces augmentations de performances ne sont que légères sur la concurrence, mais pourraient représenter de meilleures performances pour une application de production.
Mises à jour
L'un des plus grands points mentionnés lors de la discussion sur le sujet d'Amazon Linux est les mises à jour Rolling. Lors du choix d'un environnement de production, il est essentiel de choisir une distribution et une version stables qui ne feront pas planter et brûler votre application en production.
Une configuration prête à l'emploi pour Amazon Linux est la mise à jour de la mise à jour. Cette fonctionnalité fait de la mise à jour du système avec les nouveaux packages et modifications lorsqu'ils sont publiés. C'est idéal pour les développeurs de saignement Edge qui veulent commencer à utiliser les nouveaux jouets dès leur sortie. Cependant, les modifications de dépendance et les mises à jour du système d'exploitation pourraient avoir des impacts majeurs sur une application de production qui s'exécute lorsque les modifications sont publiées.
Rhel, en revanche, libère des versions LTS qui restent stables pendant des années après leur libération. Cela fournit un point de départ cohérent pour votre développement sans avoir besoin de mettre à niveau fréquemment vos dépendances d'application. Cela élimine la préoccupation des mises à jour en direct qui pourraient faire des ravages sur votre application.
Cela dit. La configuration peut être définie pour désactiver les mises à jour de roulement et éliminer une partie de la préoccupation avec cette fonctionnalité. Étant donné qu'Amazon ne garantit pas que les mises à jour de sécurité ou les corrections de bogues dans les versions plus anciennes, il peut encore devenir nécessaire de mettre à niveau sur une base périodique. Les changements de dépendance et les mises à jour fréquentes pourraient provoquer des maux de tête pour les petites équipes de développement dont l'objectif principal est de fournir leur application sur le marché.
Conclusion
C'est donc la meilleure distribution Linux pour l'Amazon EC2? Cette question dépend d'un certain nombre de facteurs allant du besoin de sécurité et de performance, de tolérance au risque et de ce que vous aimez EC2. Amazon Linux offre une intégration étroite qui fournit une équipe de développement avec des versions de sécurité à jour et des outils de saignement pour maximiser les performances sur EC2.
Avec cette intégration serrée vient des maux de tête. Rhel fournit un environnement de libération stable sur lequel les développeurs peuvent compter pendant des années sans avoir à mettre à jour. Sa capacité à migrer vers différentes plates-formes cloud et à être utilisées sur des environnements de développement internes peut économiser des maux de tête si vous migrez vers un autre fournisseur de cloud.