AWS Elastic Container Service (ECS) é a plataforma de orquestração de contêineres desenvolvida pela Amazon. Ele se destaca pela facilidade de uso, mas será que é uma alternativa real ao Kubernetes, o padrão de fato extremamente popular para orquestração de contêineres?
Neste artigo, argumentamos que comparar o ECS ao Kubernetes puro não é totalmente preciso, pois o ECS oferece uma experiência totalmente gerenciada, algo que o Kubernetes não pode. Também analisamos o Amazon Elastic Kubernetes Service (EKS) como uma terceira opção que nivela o campo de jogo. Além disso, mostramos como NetApp Cloud Volumes ONTAP pode ajudar a provisionar storage para ECS, EKS ou Kubernetes puro na AWS.
Neste artigo você aprenderá:
O Amazon Elastic Container Service (Amazon ECS) é um serviço de orquestração de contêineres que executa e gerencia contêineres Docker. Ele executa clusters de máquinas virtuais na nuvem da Amazon, enquanto gerencia, dimensiona e agenda grupos de contêineres nessas máquinas em várias Zonas de Disponibilidade (AZs).
O ECS oferece uma maneira programática conveniente de verificar e modificar o estado do seu cluster, executar operações em contêineres e acessar diretamente os serviços da Amazon relacionados ao seu cluster, como IAM, CloudWatch e CloudTrail.
Fonte da imagem: AWS
Vantagens do Amazon ECS incluem:
Kubernetes é uma estrutura de orquestração de contêineres de código aberto. Foi originalmente desenvolvido pelo Google, com base em anos de experiência na execução dos maiores sistemas conteinerizados do mundo. Kubernetes é amplamente adotado e hoje é o padrão de facto para orquestração de contêineres.
Entre as principais funcionalidades do Kubernetes estão a descoberta de serviços e o balanceamento de carga, a orquestração de storage, incluindo storage persistente, rollback automatizado para aplicações em contêineres, autorrecuperação para Kubernetes clusters, segredos e gerenciamento de configuração.
Fonte da imagem: Kubernetes.io
Comparar Kubernetes ao Amazon ECS não é totalmente justo. Amazon ECS oferece dois elementos em um único produto: uma plataforma de orquestração de contêineres e um serviço gerenciado que a opera e provisiona recursos de hardware. Kubernetes oferece apenas um desses elementos.
Cada vez mais, as organizações estão adotando serviços gerenciados de Kubernetes, que podem reduzir a complexidade do Kubernetes e ajudá-las a atingir a produção mais rapidamente. Exemplos desses serviços são o Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) e Google Kubernetes Engine (GKE). Esses serviços adicionam uma camada de gerenciamento ao Kubernetes, tornando-o totalmente comparável ao Amazon ECS.
Vantagens do Kubernetes incluem:
O AWS ECS permite gerenciar um serviço de contêineres na AWS, mas e se você quiser executar o Kubernetes a partir dos seus serviços da AWS? Amazon Elastic Kubernetes Service (Amazon EKS) é uma plataforma de gerenciamento na AWS para Kubernetes. Ele é certificado pelo projeto Kubernetes e, portanto, garante a execução de quaisquer aplicativos, ferramentas ou plugins existentes que você esteja usando no ecossistema Kubernetes.
A seguir estão algumas das principais diferenças entre ECS e EKS.
| Amazon ECS | Amazon EKS | |
| Preços | O ECS em si é gratuito, você paga apenas pelos recursos do Amazon EC2 que utiliza. |
A camada de gerenciamento do EKS acarreta um custo adicional de $144 por mês por cluster. |
| Facilidade de implantação | Implantação perfeita de tarefas diretamente do console de gerenciamento da AWS. | Configurar e implantar clusters via Kops ou CloudFormation templates, o que é mais complexo. |
| Compatibilidade | Específico da Amazon. | Suporta implantações em multicloud e nuvem híbrida. |
A escolha entre Amazon ECS, EKS e Kubernetes autogerenciado depende do tamanho e da natureza do seu projeto:
Quando se trata de implantar cargas de trabalho em contêineres, tanto o Kubernetes quanto o Amazon ECS apresentam certas limitações que podem dificultar seu uso em nível empresarial sem ajuda. Por exemplo, os custos podem ser um fator considerável quando os dados nos contêineres precisam ser armazenados de forma persistente, como no caso de um banco de dados. E se os dados nos contêineres precisarem ser usados para fins de teste? É aí que NetApp Cloud Volumes ONTAP pode ajudar.
NetApp Cloud Volumes ONTAP, a principal solução de gerenciamento de dados empresarial, oferece serviços seguros e comprovados de gerenciamento de storage, construídos sobre computação em nuvem e storage de nuvem da AWS, Azure e Google Cloud. Com a ajuda do NetApp Trident, volumes de storage no Azure Disk, Amazon EBS ou Google Persistent Disk podem ser provisionados dinamicamente e automaticamente, sem qualquer esforço por parte do usuário.
Cloud Volumes ONTAP oferece suporte a casos de uso corporativos, como serviços de arquivos, bancos de dados, DevOps e cargas de trabalho de aplicativos. No que diz respeito ao storage do Kubernetes, Cloud Volumes ONTAP fornece integração com Kubernetes para requisitos de storage persistente de cargas de trabalho conteinerizadas e oferece um conjunto robusto de recursos que não estão disponíveis nativamente na nuvem, incluindo compartilhamento NFS do Kubernetes, alta disponibilidade, proteção econômica de storage de dados persistente, redução de custos de storage de nuvem do Kubernetes com o recurso de eficiência de storage da NetApp, automação em nuvem e muito mais.