Os contêineres são um método de virtualização de sistema operacional que permite executar um aplicativo e suas dependências em processos com recursos isolados. Os contêineres permitem empacotar facilmente o código, as configurações e as dependências de um aplicativo em componentes básicos fáceis de usar que oferecem consistência ambiental, eficiência operacional, produtividade de desenvolvedores e controle de versões. Os contêineres podem ajudar a garantir rapidez, confiabilidade e consistência de implantação de aplicativos, independentemente do ambiente de implantação. Além disso, os contêineres oferecem um controle mais granular dos recursos, aumentando a eficiência da infraestrutura. A execução de contêineres na Nuvem AWS permite criar aplicativos e serviços sólidos e escaláveis usufruindo dos benefícios da Nuvem AWS, como elasticidade, disponibilidade, segurança e economia de escala. E você paga apenas pelos recursos que usa.

monolith_2-VM-vs-Containers

Amazon Elastic Container Service

Conceitos básicos

EkoSystem Day: Building Modern Apps with AWS Container Services

Inscreva-se agora
Site-Merch_PAC_Fargate

Soluções de contêiner de parceiros na AWS – Webinars

Saiba mais
Containers_Benefit_EnvironmentConsistency

Os contêineres viabilizam a portabilidade e ajudam a reduzir problemas organizacionais e técnicos no percurso de um aplicativo pelo ciclo de vida de desenvolvimento, teste e produção. Os contêineres encapsulam todos os arquivos de aplicativo e dependências de software necessários e atuam como um elemento fundamental que pode ser implantado em qualquer recurso de computação, independentemente de configurações de software, sistema operacional ou hardware (por exemplo, você pode executar o mesmo contêiner em um laptop Ubuntu e em servidores de produção Red Hat Enterprise Linux). Tudo o que você empacotar localmente como um contêiner será implantado e executado da mesma forma, tanto nos testes quanto na produção. Isso traz vantagens para você e para a organização, por que permite implantar um aplicativo de forma confiável e consistente em qualquer ambiente, o que ajuda a evitar a configuração manual de cada servidor e permite agilizar o lançamento de novos recursos.

Containers_Benefit_OperationalEfficiency

Os contêineres podem ajudá-lo a aproveitar melhor os recursos de computação, permitindo executar facilmente vários aplicativos na mesma instância. Com os contêineres, é possível especificar a quantidade exata de memória, espaço em disco e CPU a ser usada por um contêiner em uma instância. Os contêineres são inicializados rapidamente porque cada contêiner é apenas um processo no sistema operacional que executa um aplicativo e suas dependências. O uso reduzido de recursos permite criar e encerrar rapidamente aplicativos ou tarefas encapsuladas em um contêiner, proporcionando agilidade no aumento e redução da escala dos aplicativos. Você pode usar padrões de implantação azul-verde para disponibilizar novas versões de aplicativos (por exemplo, usando o Amazon Elastic Container Service) porque todo o aplicativo e suas dependências estão contidas em uma imagem. Os contêineres também oferecem isolamento de processo, o que permite colocar cada aplicativo e suas dependências em um contêiner separado para execução na mesma instância. Não há compartilhamento de dependências ou incompatibilidades porque cada contêiner é isolado dos outros (por exemplo, você pode executar dois contêineres que usam versões diferentes de biblioteca na mesma instância do Amazon EC2).

Também é possível criar imagens de contêineres que atuam como base para outras imagens. As equipes de operação podem criar uma imagem base composta por sistema operacional, configurações e os diversos utilitários desejados. As equipes de desenvolvimento podem criar aplicativos usando a imagem base. Isso permite evitar as complexidades da configuração de servidores.

Containers_Benefit_DeveloperProductivity

Os contêineres aumentam a produtividade do desenvolvedor removendo dependência e conflitos entre serviços. Cada componente de aplicativo pode ser dividido em contêineres diferentes executando um microsserviço diferente. Os contêineres são isolados entre si, eliminando a preocupação com bibliotecas ou dependências sincronizadas para cada serviço. Os desenvolvedores podem atualizar independentemente cada serviço, pois não há conflitos de bibliotecas.

Containers_Benefit_VersionControl

Os contêineres permitem controlar as versões do código do aplicativo e de suas dependências. As imagens de contêineres do Docker têm um arquivo manifesto (Dockerfile) que permite manter e controlar as versões de um contêiner, inspecionar as diferenças entre as versões e fazer o downgrade para versões anteriores com facilidade.