Amazon Linux, originalmente basado en Red Hat, es una distribución aerodinámica que está optimizada para ejecutarse en instancias de EC2. Se adapta para enfrentar los desafíos de la plataforma, así como para suministrar una serie de herramientas para integrarse perfectamente con los servicios EC2. No es una distribución de Linux independiente y solo está disponible para usar en un entorno EC2.
Amazon y la comunidad ponen a disposición de AMI (Amazon Machine Images). Estas son esencialmente máquinas preconstruidas que se pueden girar rápidamente en EC2 para eliminar algunas de las funciones de administración del sistema y instalación inicial del sistema operativo. Hay una amplia variedad de OS ami disponibles para instalar con Windows y Linux Distros.
Entonces, con tantas opciones, que es la mejor distribución de usar en EC2? Compararé Amazon Linux con Red Hat Enterprise Linux (RHEL) para resaltar las diferencias y las posibles razones para elegir una sobre la otra en la plataforma EC2.
Integración
Ambas distribuciones se ofrecen en el entorno EC2 como un AMI. Esto facilita la instancia de un nuevo entorno con solo unos pocos clics. Puede girar cualquiera de estos entornos en solo cuestión de minutos. Donde estos sistemas operativos difieren está en el nivel de integración que Amazon ha incluido con su distribución de homónimo. Ha incluido herramientas estándar que mejoran la integración y el rendimiento con su entorno EC2. Red Hat no ofrece estas herramientas como un paquete estándar incluido con la distribución, pero muchas de estas herramientas se pueden instalar por separado de los repositorios.
Un inconveniente de la estrecha integración de Amazon Linux a EC2 es el hecho de que los entornos de Amazon Linux no se pueden emigrar a otra plataforma en la nube. Una decisión de separarse de EC2 significaría que necesitaría migrar a una distribución diferente. Si bien este no es un obstáculo insuperable, es algo de lo que ser consciente al elegir una distribución. Este acoplamiento también presenta un problema cuando se trata de entornos de desarrollo. Debido a que Amazon Linux solo se puede ejecutar en EC2, los sistemas de desarrollo y QA también deben estar en EC2. Esto agrega costo al proyecto, aunque no es completamente insignificante, estos costos podrían ser bajos si gira los sistemas al final del día y no usa mucho rendimiento de datos o tiene grandes capas de persistencia.
RHEL se puede configurar en cualquier servidor local y en EC2, esto permite que su desarrollo de desarrollo y QA funcione sin problemas entre las instancias de desarrollo en la nube y las locales. Esto podría representar un ahorro si tiene hardware local que se utiliza para este propósito. Esta independencia también le permite migrar su entorno a otro proveedor o servidor de la nube en general. Si no está seguro de que permanecerá parte de la familia Amazon EC2, puede ser una buena idea evitar su plataforma específica del sistema operativo. El uso de Amazon Linux puede hacer que las cosas sean un desafío si decide cambiar de proveedor.
Actuación
Como se puede concluir desde una distribución curada de Amazon, el rendimiento y la integración se adaptan al entorno de la nube EC2. Amazon Linux ofrece actualizaciones continuas que incluyen herramientas de mejora del rendimiento y características de seguridad específicas para el EC2.
Este artículo muestra puntos de referencia de Amazon Linux y Rhel en EC2. Desde este punto de referencia, Amazon Linux ofrece un mejor rendimiento en algunas áreas. Estos aumentos de rendimiento son solo leves sobre la competencia, pero podrían representar un mejor rendimiento para una aplicación de producción.
Actualizaciones
Uno de los puntos más importantes que se menciona al discutir el tema de Amazon Linux son las actualizaciones rodantes. Al elegir un entorno para la producción, es fundamental elegir una distribución y una versión estables que no hagan que su aplicación se bloquee y queme en la producción.
Una configuración fuera de la caja para Amazon Linux son las actualizaciones rodantes. Esta característica hace que su sistema se actualice hasta la fecha con los paquetes y cambios más nuevos a medida que se liberan. Esto es ideal para los desarrolladores de borde sangrado que desean comenzar a usar los juguetes más nuevos tan pronto como se liberan. Sin embargo, los cambios de dependencia y las actualizaciones del sistema operativo podrían tener importantes impactos en una aplicación de producción que se ejecuta cuando se liberan los cambios.
Rhel, por otro lado, lanza versiones LTS que permanecen estables durante años después de su liberación. Esto proporciona un punto de partida consistente para su desarrollo sin necesidad de actualizar las dependencias de su aplicación con frecuencia. Esto elimina la preocupación con las actualizaciones en vivo que podrían causar estragos en su aplicación.
Dicho esto, las actualizaciones rodantes son una configuración de configuración en Amazon Linux. La configuración se puede configurar para desactivar las actualizaciones continuas y eliminar parte de la preocupación con esta característica. Debido a que Amazon no garantiza que las actualizaciones de seguridad o las correcciones de errores en versiones anteriores, aún puede ser necesario actualizarlo periódicamente. Los cambios de dependencia y las actualizaciones frecuentes podrían causar dolores de cabeza para pequeños equipos de desarrollo cuyo enfoque principal es entregar su aplicación al mercado.
Conclusión
Entonces, ¿cuál es la mejor distribución de Linux para Amazon EC2?? Esa pregunta depende de una serie de factores que van desde la necesidad de seguridad y rendimiento, tolerancia al riesgo y cuánto amas EC2. Amazon Linux ofrece una integración estrecha que proporciona a un equipo de desarrollo con versiones de seguridad actualizadas y herramientas de borde de sangrado para maximizar el rendimiento en EC2.
Con esta estrecha integración viene algunos dolores de cabeza. RHEL proporciona un entorno de lanzamiento estable en el que los desarrolladores pueden confiar durante años sin tener que actualizar. Su capacidad para migrar a diferentes plataformas en la nube y usarse en entornos de desarrollo internos puede guardar dolores de cabeza si migra a un proveedor de nubes diferente.