Amazon Linux, originalmente baseado em Red Hat, é uma distro simplificada que é otimizada para executar em instâncias do EC2. É adaptado para enfrentar os desafios da plataforma, além de fornecer várias ferramentas para se integrar perfeitamente aos serviços EC2. Não é uma distribuição Linux independente e está disponível apenas para uso em um ambiente EC2.
Amazon e a comunidade disponibilizam o AMI (imagens da Amazon Machine). Essas são máquinas essencialmente pré-construídas que podem ser rapidamente divulgadas no EC2 para remover algumas funções de instalação do sistema operacional e de administração inicial do sistema. Há uma grande variedade de OS AMI's disponíveis para instalação com distritos Windows e Linux.
Então, com tantas opções, que é a melhor distro a ser usada no EC2? Vou comparar o Amazon Linux com o Red Hat Enterprise Linux (RHEL) para destacar as diferenças e possíveis motivos para escolher um sobre o outro na plataforma EC2.
Integração
Ambas as distros são oferecidas no ambiente EC2 como um ami. Isso facilita a instanciar um novo ambiente com apenas alguns cliques. Você pode aumentar um desses ambientes em apenas alguns minutos. Onde esses sistemas operacionais diferem está no nível de integração que a Amazon incluiu com sua distração homônima. Ele incluiu ferramentas padrão que melhoram a integração e o desempenho com seu ambiente EC2. Red Hat não oferece essas ferramentas como um pacote padrão incluído na distro, mas muitas dessas ferramentas podem ser instaladas separadamente de repositórios.
Uma desvantagem da integração rígida do Amazon Linux ao EC2 é o fato de que os ambientes do Amazon Linux não podem ser migrados para outra plataforma em nuvem. Uma decisão de se separar do EC2 significaria que você precisaria migrar para uma distro diferente. Embora este não seja um obstáculo intransponível, é algo a ser consciente ao escolher uma distro. Este acoplamento também apresenta um problema quando se trata de ambientes de desenvolvimento. Como o Amazon Linux só pode ser executado no EC2, os sistemas de desenvolvimento e controle de qualidade também devem estar no EC2. Isso acrescenta custo ao projeto, embora não seja completamente insignificante, esses custos podem ser baixos se você girar os sistemas no final do dia e não usar muita taxa de transferência de dados ou ter grandes camadas de persistência.
A RHEL pode ser configurada em qualquer servidor local e no EC2, isso permite que sua equipe de desenvolvimento e controle de qualidade trabalhe perfeitamente entre as instâncias de desenvolvimento da nuvem e. Isso pode representar uma economia se você tiver hardware local usado para esse fim. Essa independência também permite migrar seu ambiente para outro provedor de nuvem ou servidor em geral. Se você não tiver certeza de que permanecerá parte da família Amazon EC2, pode ser uma boa ideia evitar o sistema operacional específico da plataforma. O uso do Amazon Linux pode tornar as coisas um pouco desafiadas se você decidir mudar de provedores.
Desempenho
Como se pode concluir a partir de uma distribuição com curadoria da Amazônia, o desempenho e a integração são adaptados ao ambiente de nuvem EC2. O Amazon Linux oferece atualizações de rolamento que incluem ferramentas de aprimoramento de desempenho e recursos de segurança específicos para o EC2.
Este artigo mostra benchmarks do Amazon Linux e Rhel em execução no EC2. A partir deste benchmark, o Amazon Linux oferece melhor desempenho em algumas áreas. Esses aumentos de desempenho são apenas leves em relação à concorrência, mas podem representar melhor desempenho para um aplicativo de produção.
Atualizações
Um dos maiores pontos mencionados ao discutir o tópico do Amazon Linux são as atualizações do rolamento. Ao escolher um ambiente para a produção, é fundamental escolher uma distro e versão estável que não fará com que seu aplicativo caia e queime na produção.
Uma configuração pronta para uso para o Amazon Linux é as atualizações rolantes. Esse recurso faz do seu sistema atualizar a data com os pacotes e alterações mais recentes à medida que são lançados. Isso é ótimo para os desenvolvedores de borda de sangramento que desejam começar a usar os brinquedos mais novos assim que forem lançados. No entanto, as alterações de dependência e as atualizações do sistema operacional podem ter grandes impactos em um aplicativo de produção em execução quando as alterações são liberadas.
Rhel, por outro lado, libera versões LTS que permanecem estáveis por anos após sua liberação. Isso fornece um ponto de partida consistente para o seu desenvolvimento sem precisar atualizar as dependências do seu aplicativo com frequência. Isso elimina a preocupação com atualizações ao vivo que podem causar estragos no seu aplicativo.
As referidas atualizações de rolamento são uma configuração no Amazon Linux. A configuração pode ser definida para desativar as atualizações de rolamento e eliminar parte da preocupação com esse recurso. Como a Amazon não garante que atualizações de segurança ou correções de bugs em versões mais antigas, ainda pode ser necessário atualizar de forma periódica. Alterações de dependência e atualizações frequentes podem causar dores de cabeça para pequenas equipes de desenvolvimento cujo foco principal é fornecer sua aplicação ao mercado.
Conclusão
Então, qual é a melhor distro Linux para o Amazon EC2? Essa pergunta depende de vários fatores que variam da necessidade de segurança e desempenho, tolerância ao risco e quanto você ama EC2. O Amazon Linux oferece uma integração rígida que fornece uma equipe de desenvolvimento com versões de segurança atualizadas e ferramentas de borda sangrando para maximizar o desempenho no EC2.
Com esta integração rígida vem algumas dores de cabeça. Rhel fornece um ambiente de liberação estável em que os desenvolvedores podem confiar por anos sem ter que atualizar. Sua capacidade de migrar para diferentes plataformas de nuvem e ser usada em ambientes de desenvolvimento interna pode salvar dores de cabeça se você migrar para um provedor de nuvem diferente.