Amazon Linux vs. Ubuntu para Amazon EC2 [cerrado]

56

Estoy configurando mi primer sitio web en Amazon EC2, y estoy tratando de decidir qué distribución usar. He usado Redhat y CentOS en el pasado, pero no tengo ningún sesgo hacia ningún sistema, solo quiero usar lo que sea mejor (también he tenido servidores parcialmente administrados en el pasado, así que no he hecho demasiado servidor administración hasta hace poco). El sitio web es solo una aplicación web escrita en PHP y MongoDB.

Me gusta la idea de tener un sistema operativo liviano que se describe para Amazon Linux, pero me preocupa que pueda sufrir compatibilidad / actualizaciones en comparación con Ubuntu u otras opciones que tienen equipos centrados exclusivamente en un sistema operativo de servidor. ¿Algún consejo?

James Simpson
fuente

Respuestas:

22

Estaba en una situación similar; servidor dedicado totalmente administrado, LAMP, CentOS. Luego decidimos pasar a EC2. Además, tenía muy pocos sistemas o experiencia en administración de Linux. Tengo casi cero experiencia con Ubuntu, por lo que realmente no puedo hablar sobre cuál es el llamado mejor sistema operativo.

Probé un montón de AMI preconstruidos con instalaciones mínimas del sistema operativo de Rightscale, Alestic, Scalr y Amazon. Terminé construyendo todos mis AMI propios sobre Amazon Linux, primero usando la versión 2010.11.01, ahora migré todos mis AMI personalizados a Amazon Linux versión 2011.03.01.

La decisión de utilizar una AMI de Amazon Linux frente a los otros proveedores de AMI no fue fácil. Jugué y probé diferentes configuraciones durante casi un mes antes de tomar mi decisión final. Al final, como quería usar CentOS, básicamente se redujo a una cosa. Pensé quién mejor para saber qué dependencias relacionadas con el hardware necesitaban ser incluidas en el sistema operativo que las personas que diseñaron, construyeron y mantienen EC2. Nada contra Rightscale, Scalr o Alestic.

Seis meses después, aunque me encontré con algunos obstáculos en el camino, el Linux de Amazon ha sido bastante estable. Sin embargo, decidí compilar parte del software que usamos desde la fuente (es decir, php 5.3, MySQL 5.5, etc.) porque tuve problemas con los paquetes preconstruidos que Amazon mantenía en su repositorio de paquetes.

AlanZ
fuente
44

Amazon Linux es una distribución continua, como Fedora o Debian Testing (más o menos). En mi opinión, no es adecuado para ningún producto de producción. Me sorprende que más personas no se den cuenta de esto. Esto significa que si lanzó su instancia de Amazon Linux, por ejemplo, hace 450 días y realiza una actualización hoy, obtendrá actualizaciones de una versión completamente diferente. Una vez que se realiza una nueva versión, no tiene tiempo de búfer, inmediatamente comienza a extraer actualizaciones de la nueva versión. Como puede imaginar, esto puede atraer una cascada de dependencias y tiene una tendencia a romper las cosas. Por esta razón, es inherentemente inmanejable. No puede trabajar algo como esto en una política de actualización sin que sea un desastre absoluto. No use Amazon Linux para nada serio.

Ubuntu LTS es una buena elección, al igual que Debian Stable o CentOS. Todos estos le dan muchos años de actualizaciones para el mismo lanzamiento.

¡Amazon Linux tampoco tiene un sistema de seguimiento de errores , los usuarios deben publicar preguntas en los foros de desarrolladores de AWS para presentar un error en un paquete! Tampoco hay forma de buscar errores. Esto debería ser un problema espectacular para casi todos.

Amazon Linux hace que sea muy difícil recuperar paquetes fuente, innecesariamente.

trampa de fig
fuente
2
Esto es solo un problema si no tiene un entorno de prueba para realizar la actualización primero.
ceejayoz
3
Bueno, usted rechazó la respuesta correcta única aquí. No estás pensando en esto. En primer lugar, no ofrece ningún beneficio sobre otras distribuciones, por lo que no tiene sentido y es contraproducente pasar por problemas adicionales. ¿Por qué hacer un trabajo innecesario para ti? En segundo lugar, está demostrablemente equivocado aquí. Actualizar 2013.9 con paquetes de 2015.3 es absolutamente loco. Casi no tienes forma de probar todas las cosas que pueden romperse aquí. La mayoría de la gente se las arregla con esto (como nosotros), pero es imposible crear y mantener una política de seguridad con una distribución continua.
figtrap
2
No sé por qué Amazon Linux es tan popular, apuesto porque la mayoría no se da cuenta de que es una distribución de prueba. Si recomendaras a Fedora para un producto de producción, los administradores te sacarían de la sala. Esto es precisamente lo que está haciendo con AMZN Linux. No es una cuestión de "si" esta decisión te morderá en el futuro, es una cuestión de cuándo.
figtrap
3
¿Sin beneficio? Es presentado por el proveedor de la infraestructura en la que se está ejecutando. Es probable que los problemas relacionados con AWS se solucionen primero en Amazon Linux. He estado muy contento con Amazon Linux, al igual que muchos otros, y no hemos tenido problemas con él en las revisiones de seguridad del cliente (incluidas las instituciones financieras muy muy exigentes).
ceejayoz
39

Desde que se escribió esta pregunta, Amazon se renovó por completo para Amazon Linux AMI 2011.09 , con todo el arranque para CloudFormation y las herramientas de Amazon.

Además, incluye Nginx y PHP-FPM en los yumrepositorios si buscas rápido y ligero.

Manténgase al día con las últimas versiones aquí: http://aws.amazon.com/amazon-linux-ami/latest-release-notes/

También esté atento a las actualizaciones de seguridad : http://aws.amazon.com/amazon-linux-ami/security-bulletins/

Por lo general, tendrá menos de qué preocuparse, ya que el AMI base es un servidor básico con solo las herramientas necesarias para arrancar los servicios que realmente necesita.

Terretta
fuente
4

Si ya está familiarizado con RHEL / CentOS, me quedaría con eso. No hay una "mejor" distribución para un servidor de aplicaciones web. Se trata de las herramientas y convenciones con las que está más familiarizado.

dmourati
fuente
Bueno, el punto es que no estoy atado a ninguno en este momento y no estoy demasiado familiarizado con ninguno (pero me gustaría familiarizarme).
James Simpson
1
Luego intente configurar uno de cada uno y vea cuál le gusta más.
dmourati 01 de
55
Amazon Linux se basa en CentOS ( foros.aws.amazon.com/thread.jspa?messageID=245351 ). Entonces, tienes una carrera de cinco vías entre tres sabores diferentes de RHEL (CentOS, Amazon y RHEL) y dos sabores diferentes de Ubuntu (11.04 y 10.04 LTS). Cualquiera que intente decirte que solo hay una buena opción entre esa lista es intentar venderte algo. Dicho esto, para la gran mayoría de los usos del servidor, solo consideraría seriamente CentOS, Amazon y Ubuntu Server 10.04 LTS, en ese orden.
BMDan 01 de
4

Aunque a Ubuntu le va mejor en estos puntos de referencia , las pruebas en sí mismas contribuyen a que Ubuntu gane, y las diferencias no parecen ser grandes de todos modos.

Recientemente elegí Amazon Linux en gran parte debido a las actualizaciones automáticas, y también debido al error de Ubuntu AMI reportado por Steven y Ethan en la versión Quora de esta pregunta .

Daniel
fuente
Para la discusión de los puntos de referencia antes mencionados: phoronix.com/forums/…
Daniel
0

Si quieres familiarizarte rápidamente y te gusta instalar cosas sin mucho, iría a ubuntu. En general, en un servidor web en vivo, ¡no quieres poder hacer este tipo de cosas! La gente también argumentaría que la elección es entre RedHat, CentOS y Debian. Los técnicos de núcleo duro insisten en que Ubuntu no es apto para entornos de servidores en vivo porque no todo es completamente seguro y probado.

Mi elección sería ubuntu, ya que es mucho menos dolor de cabeza, he usado algunas distribuciones diferentes para servidores web, pero cambiar las reglas del firewall y las cosas pueden ser mucho más fáciles en ubuntu.

¡La única otra cosa es que ubuntu es un poco más pesado en el uso de recursos, por lo que CentOS puede ahorrarle unos pocos dólares al mes según el método de fijación de precios de Amazon!

Abe Petrillo
fuente
0

En su caso, la familiaridad con CentOS / RHEL probablemente supere cualquier otra consideración.

Los sistemas con los que trabajo han estado en gran medida en el borde: nuevo software que utiliza nuevas tecnologías y nuevas versiones. Para este uso, Ubuntu es una mejor opción; Evito construir paquetes a partir del código fuente, y los paquetes de Ubuntu están bien mantenidos (de ninguna manera perfectos, por supuesto) y los repositorios estándar tienden a tener lo que necesitamos, y si no, hay repositorios fácilmente disponibles. Tiendo a retrasarme una revisión de la última, ya que los problemas tienden a resolverse después de unos meses.

Tom Harrison Jr
fuente