Amazon Linux vs. Ubuntu für Amazon EC2 [geschlossen]

56

Ich richte meine erste Website auf Amazon EC2 ein und versuche zu entscheiden, welche Distribution ich verwenden möchte. Ich habe in der Vergangenheit Redhat und CentOS verwendet, aber ich habe keine Vorurteile für ein System. Ich möchte nur das Beste verwenden (ich hatte in der Vergangenheit auch teilweise verwaltete Server, daher habe ich nicht zu viele Server ausgeführt Verwaltung bis vor kurzem). Die Website ist nur eine in PHP und MongoDB geschriebene Web-App.

Ich mag die Idee, ein leichtes Betriebssystem zu haben, das für Amazon Linux beschrieben ist, aber ich befürchte, dass es im Vergleich zu Ubuntu oder anderen Optionen, bei denen sich Teams ausschließlich auf ein Server-Betriebssystem konzentrieren, an Kompatibilität / Updates leiden könnte. Irgendein Rat?

James Simpson
quelle

Antworten:

22

Ich war in einer ähnlichen Situation; vollständig verwalteter dedizierter Server, LAMP, CentOS. Dann entschieden wir uns für EC2. Außerdem hatte ich sehr wenig System- oder Linux-Administrationserfahrung. Ich habe fast keine Erfahrung mit Ubuntu, daher kann ich wirklich nicht mit dem sogenannten besseren Betriebssystem sprechen.

Ich habe einige vorgefertigte AMIs mit minimalen Betriebssysteminstallationen von Rightscale, Alestic, Scalr und Amazon ausprobiert. Am Ende habe ich alle meine eigenen AMIs auf Amazon Linux erstellt, zuerst mit Version 2010.11.01, jetzt habe ich alle meine benutzerdefinierten AMIs auf Amazon Linux Version 2011.03.01 migriert.

Die Entscheidung für ein Amazon Linux AMI im Vergleich zu den anderen AMI-Anbietern war nicht einfach. Ich habe fast einen Monat lang mit verschiedenen Setups herumgespielt und sie getestet, bevor ich meine endgültige Entscheidung traf. Da ich CentOS verwenden wollte, lief es letztendlich auf eine Sache hinaus. Ich dachte mir, wer könnte besser wissen, welche hardwarebezogenen Abhängigkeiten im Betriebssystem enthalten sein müssen, als die Leute, die EC2 entworfen, gebaut und gewartet haben. Nichts gegen Rightscale, Scalr oder Alestic.

Ein halbes Jahr später war Amazon Linux recht stabil, obwohl ich einige Probleme hatte. Ich habe mich jedoch entschlossen, einen Teil der von uns verwendeten Software aus dem Quellcode zu kompilieren (z. B. PHP 5.3, MySQL 5.5 usw.), da ich Probleme mit den vorgefertigten Paketen hatte, die Amazon in ihrem Paket-Repository verwaltet.

AlanZ
quelle
44

Amazon Linux ist eine rollende Distribution wie Fedora oder Debian Testing. Meiner Meinung nach ist es für kein Produktionsprodukt geeignet. Ich bin überrascht, dass mehr Leute dies nicht bemerken. Wenn Sie also Ihre Amazon Linux-Instanz vor 450 Tagen gestartet haben und heute ein Update durchführen, beziehen Sie Updates von einer völlig anderen Version. Sobald ein neues Release erstellt wurde und Sie keine Pufferzeit mehr haben, rufen Sie sofort Updates aus dem neuen Release ab. Wie Sie sich vorstellen können, kann dies zu einer Kaskade von Abhängigkeiten führen und dazu, Dinge zu zerbrechen. Aus diesem Grund ist es von Natur aus nicht handhabbar. Sie können so etwas nicht in eine Update-Richtlinie einarbeiten, ohne dass es ein absolutes Chaos ist. Verwenden Sie Amazon Linux nicht für ernsthafte Zwecke.

Ubuntu LTS ist eine gute Wahl, genauso wie Debian Stable oder CentOS. Alle diese Updates enthalten viele Jahre lang Aktualisierungen für dieselbe Version.

Amazon Linux hat auch kein Fehlerverfolgungssystem . Benutzer müssen Fragen in den AWS-Entwicklerforen stellen, um einen Fehler gegen ein Paket zu melden! Es gibt auch keine Möglichkeit, nach Fehlern zu suchen. Dies sollte für fast alle ein aufsehenerregendes Problem sein.

Amazon Linux macht es sehr schwierig, Quellpakete unnötig abzurufen.

Feigenfalle
quelle
2
Dies ist nur dann ein Problem, wenn Sie keine Testumgebung haben, in der das Update zuerst durchgeführt werden kann.
ceejayoz
3
Nun, Sie haben hier die einzig richtige Antwort abgelehnt. Du denkst nicht darüber nach. Erstens bietet es keinen Vorteil gegenüber anderen Distributionen, so dass es sinnlos und kontraproduktiv ist, sich durch die zusätzlichen Schwierigkeiten zu begeben. Warum unnötige Arbeit für sich selbst machen? Zweitens irren Sie sich hier nachweislich. Das Update von 2013.9 mit Paketen von 2015.3 ist absolut verrückt. Sie haben fast keine Möglichkeit, alle Dinge zu testen, die hier brechen können. Die meisten Menschen kommen damit zurecht (genau wie wir), aber es ist unmöglich, eine Sicherheitsrichtlinie mit einer fortlaufenden Distribution zu erstellen und aufrechtzuerhalten.
Figtrap
2
Ich weiß nicht, warum Amazon Linux so beliebt ist, ich wette, weil die meisten nicht erkennen, dass es sich um eine Testdistribution handelt. Wenn Sie Fedora für ein Produktionsprodukt empfehlen würden, würden die Administratoren Sie aus dem Raum lachen. Genau das machen Sie mit AMZN Linux. Es geht nicht darum, ob diese Entscheidung Sie in Zukunft beißen wird, es geht darum, wann.
Figtrap
3
Kein Vorteil? Es wird vom Anbieter der Infrastruktur herausgegeben, auf der es ausgeführt wird. AWS-bezogene Probleme werden wahrscheinlich zuerst in Amazon Linux behoben. Ich bin mit Amazon Linux sehr zufrieden, ebenso wie mit vielen anderen, und wir hatten bei der Überprüfung der Client-Sicherheit keine Probleme damit (einschließlich sehr sehr sehr wählerischer Finanzinstitute).
ceejayoz
39

Da diese Frage geschrieben wurde, wurde Amazon für Amazon Linux AMI 2011.09 komplett überarbeitet , mit dem gesamten Bootstrapping für CloudFormation sowie den Amazon-Tools.

Außerdem enthält es Nginx und PHP-FPM in den yumRepos, wenn Sie schnell und leicht suchen.

Bleiben Sie hier über die neuesten Versionen auf dem Laufenden: http://aws.amazon.com/amazon-linux-ami/latest-release-notes/

Beachten Sie auch die Sicherheitsupdates : http://aws.amazon.com/amazon-linux-ami/security-bulletins/

Sie müssen sich in der Regel weniger Gedanken machen, da das Basis-AMI ein Bare-Bones-Server ist, der nur die Tools enthält, die zum Booten der Dienste erforderlich sind, die Sie tatsächlich benötigen.

Terretta
quelle
4

Wenn Sie bereits mit RHEL / CentOS vertraut sind, würde ich mich daran halten. Es gibt keine "beste" Distribution für einen Web-App-Server. Es kommt darauf an, welche Tools und Konventionen Sie am besten kennen.

dmourati
quelle
Nun, der Punkt ist, dass ich im Moment nicht an jemanden gebunden bin und mit keinem übermäßig vertraut bin (aber ich würde mich gerne daran gewöhnen).
James Simpson
1
Versuchen Sie dann, jeweils eine einzurichten, und finden Sie heraus, welche Ihnen besser gefällt.
Dmourati
5
Amazon Linux basiert auf CentOS ( forums.aws.amazon.com/thread.jspa?messageID=245351 ). Sie haben also ein Fünf-Wege-Rennen zwischen drei verschiedenen RHEL-Versionen (CentOS, Amazon und RHEL selbst) und zwei verschiedenen Ubuntu-Versionen (11.04 und 10.04 LTS). Jeder, der versucht, Ihnen mitzuteilen, dass es nur eine gute Wahl unter dieser Liste gibt, versucht, Ihnen etwas zu verkaufen. Trotzdem würde ich bei der überwiegenden Mehrheit der Servernutzungen CentOS, Amazon und Ubuntu Server 10.04 LTS nur ernsthaft in dieser Reihenfolge in Betracht ziehen.
BMDan
4

Obwohl Ubuntu bei diesen Benchmarks besser abschneidet , tragen die Tests selbst zum Ubuntu-Gewinn bei, und die Unterschiede scheinen ohnehin nicht groß zu sein.

Ich habe mich kürzlich hauptsächlich wegen automatischer Updates für Amazon Linux entschieden und auch wegen des Ubuntu AMI-Fehlers, den Steven und Ethan in der Quora-Version dieser Frage gemeldet haben .

Daniel
quelle
Zur Diskussion der oben genannten Benchmarks: phoronix.com/forums/…
Daniel
0

Wenn Sie sich schnell zurechtfinden und Dinge ohne viel Aufwand installieren möchten, würde ich ubuntu gehen. Im Allgemeinen möchten Sie auf einem Live-Webserver nicht in der Lage sein, so etwas zu tun! Die Leute würden auch argumentieren, die Wahl sei zwischen RedHat, CentOS und Debian. Die Hardcore-Techniker bestehen darauf, dass Ubuntu nicht für Live-Server-Umgebungen geeignet ist, da nicht alles vollständig sicher und getestet ist.

Ich würde mich für Ubuntu entscheiden, da es nicht so viel Kopfzerbrechen bereitet. Ich habe einige verschiedene Distributionen für Webserver verwendet, aber das Ändern von Firewall-Regeln und -Dingen kann in Ubuntu sehr viel einfacher sein.

Die einzige andere Sache ist, dass Ubuntu einen etwas höheren Ressourcenverbrauch aufweist, so dass CentOS Ihnen möglicherweise ein paar Dollar pro Monat sparen kann, basierend auf der Amazon-Preismethode!

Abe Petrillo
quelle
0

In Ihrem Fall hat die Vertrautheit mit CentOS / RHEL wahrscheinlich Vorrang vor anderen Überlegungen.

Die Systeme, mit denen ich arbeite, waren größtenteils auf dem neuesten Stand - neue Software mit neuen Technologien und neuen Versionen. Für diesen Zweck ist Ubuntu die bessere Wahl. Ich vermeide es, Pakete aus dem Quellcode zu erstellen, und Ubuntus Pakete sind gut gepflegt (natürlich keineswegs perfekt), und Standard-Repositorys haben in der Regel das Zeug, das wir brauchen, und wenn nicht, gibt es Repositorys, die sofort verfügbar sind. Ich neige dazu, eine Überarbeitung der letzten Version zurückzuhalten, da die Probleme in der Regel nach einigen Monaten behoben werden.

Tom Harrison Jr
quelle