web-dev-qa-db-fra.com

Amazon Linux vs Ubuntu pour Amazon EC2

J'installe mon premier site Web sur Amazon EC2 et j'essaie de décider quelle distribution utiliser. J'ai utilisé Redhat et CentOS dans le passé, mais je n'ai aucun parti pris pour aucun système, je veux juste utiliser ce qui est le mieux (j'ai également eu des serveurs partiellement gérés dans le passé, donc je n'ai pas fait trop de serveur jusqu'à récemment). Le site Web est juste une application Web écrite en PHP et MongoDB.

J'aime l'idée d'avoir un système d'exploitation léger décrit pour Amazon Linux, mais je crains que cela ne souffre de la compatibilité/des mises à jour par rapport à Ubuntu ou à d'autres options qui ont des équipes concentrées exclusivement sur un système d'exploitation serveur. Aucun conseil?

61
James Simpson

J'étais dans une situation similaire; serveur dédié entièrement géré, LAMP, CentOS. Ensuite, nous avons décidé de passer à EC2. De plus, j'avais très peu d'expérience en matière de systèmes ou d'administration Linux. Je n'ai pratiquement aucune expérience avec Ubuntu, donc je ne peux vraiment pas parler de ce que l'on appelle le meilleur système d'exploitation.

J'ai essayé un tas d'AMI pré-construites avec des installations d'OS minimales de Rightscale, Alestic, Scalr et Amazon. J'ai fini par construire toutes mes propres AMI sur Amazon Linux, en utilisant d'abord la version 2010.11.01, maintenant j'ai migré toutes mes AMI personnalisées vers Amazon Linux version 2011.03.01.

La décision d'aller avec une Amazon Linux AMI vs les autres fournisseurs AMI n'a pas été facile. J'ai joué avec et testé différentes configurations pendant près d'un mois avant de prendre ma décision finale. En fin de compte, puisque je voulais utiliser CentOS, cela se résumait essentiellement à une chose. Je me suis dit qui était mieux placé pour savoir quelles dépendances matérielles devaient être incluses dans le système d'exploitation que les personnes qui ont conçu, construit et entretenu EC2. Rien contre Rightscale, Scalr ou Alestic.

Six mois plus tard, même si j'ai rencontré quelques bosses sur la route, le Linux d'Amazon est resté assez stable. Cependant, j'ai décidé de compiler certains des logiciels que nous utilisons à partir de la source (c'est-à-dire php 5.3, MySQL 5.5, etc.) parce que j'ai rencontré des problèmes avec les packages pré-construits qu'Amazon conservait dans leur référentiel de packages.

23
AlanZ

Amazon Linux est une distribution évolutive, comme Fedora ou Debian Testing (en quelque sorte). À mon avis, il ne convient à aucun produit de production. Je suis surpris que plus de gens ne s'en rendent pas compte. Cela signifie que si vous avez lancé votre instance Amazon Linux, disons, il y a 450 jours et que vous effectuez une mise à jour aujourd'hui, vous tirerez des mises à jour d'une version entièrement différente. Une fois qu'une nouvelle version est faite, vous n'avez pas de temps de tampon, vous commencez immédiatement à extraire les mises à jour de la nouvelle version. Comme vous pouvez l'imaginer, cela peut entraîner une cascade de dépendances et a tendance à casser les choses. Pour cette raison, il est intrinsèquement ingérable. Vous ne pouvez pas intégrer quelque chose comme ça dans une politique de mise à jour sans que ce soit un gâchis absolu. N'utilisez pas Amazon Linux pour quelque chose de sérieux.

Ubuntu LTS est un bon choix, tout comme Debian Stable ou CentOS. Tout cela vous donne de nombreuses années de mises à jour de la même version.

Amazon Linux a également pas de système de suivi des bogues, les utilisateurs doivent publier des questions dans les forums des développeurs AWS pour déposer un bogue contre un package! Il n'y a aucun moyen de rechercher les bogues non plus. Cela devrait être un problème majeur pour presque tout le monde.

Amazon Linux rend très difficile la récupération des packages source, inutilement.

48
figtrap

Depuis que cette question a été écrite, Amazon a complètement remanié pour Amazon Linux AMI 2011.09 , avec tous les bootstrapping pour CloudFormation ainsi que les outils Amazon.

En outre, il inclut Nginx et PHP-FPM dans le référentiel yum si vous recherchez une solution rapide et légère.

Suivez les dernières versions ici: http://aws.Amazon.com/Amazon-linux-AMI/latest-release- notes /

Gardez également un œil sur les mises à jour de sécurité : http://aws.Amazon.com/Amazon-linux-AMI/security-bulletins/

Vous aurez généralement moins à vous soucier, car l'AMI de base est un serveur sans système d'exploitation avec juste les outils nécessaires pour bootstrap les services dont vous avez réellement besoin.

40
Terretta

Si vous connaissez déjà RHEL/CentOS, je m'en tiendrai à cela. Il n'y a pas de "meilleure" distribution pour un serveur d'applications Web. Cela se résume aux outils et aux conventions que vous connaissez le mieux.

4
dmourati

Bien qu'Ubuntu fasse mieux sur ces benchmarks , les tests eux-mêmes contribuent à gagner Ubuntu, et les différences ne semblent pas être grandes de toute façon.

J'ai récemment choisi Amazon Linux en grande partie à cause des mises à jour automatiques, et aussi à cause du bogue Ubuntu AMI signalé par Steven et Ethan dans la version Quora de cette question .

4
Daniel

Si vous voulez vous familiariser rapidement et que vous souhaitez installer des choses sans grand-chose, j'irais sur Ubuntu. En règle générale, sur un serveur Web en direct, vous ne voulez pas pouvoir faire ce genre de chose! Les gens diraient également que le choix est entre RedHat, CentOS et Debian. Les techniciens du noyau dur insistent sur le fait que Ubuntu n'est pas adapté aux environnements de serveur en direct car tout n'est pas entièrement sécurisé et testé.

Mon choix serait Ubuntu car c'est beaucoup moins un casse-tête, j'ai utilisé plusieurs distributions différentes pour les serveurs Web, mais changer les règles de pare-feu et les choses peut être beaucoup plus facile dans Ubuntu.

La seule autre chose est que Ubuntu est un peu plus lourd en termes d'utilisation des ressources, donc CentOS peut vous faire économiser quelques dollars par mois en fonction de la méthode de tarification d'Amazon!

0
Abe Petrillo

Dans votre cas, la familiarité avec CentOS/RHEL l'emporte probablement sur toute autre considération.

Les systèmes avec lesquels je travaille sont en grande partie sur Edge - de nouveaux logiciels utilisant de nouvelles technologies et de nouvelles versions. Pour cette utilisation, Ubuntu est un meilleur choix; J'évite de construire des packages à partir du code source, et les packages d'Ubuntu sont bien entretenus (loin d'être parfaits, bien sûr) et les référentiels standard ont tendance à avoir ce dont nous avons besoin, et sinon, il existe des référentiels facilement disponibles. J'ai tendance à rester en arrière d'une révision de la dernière car les problèmes ont tendance à se régler après quelques mois.

0
Tom Harrison Jr