APRENDIZADO PROFUNDO DE CATEGORIAS
Contêineres
Introdução
Este site fornece uma introdução ao que são contêineres e por que pode valer a pena considerar um serviço de contêiner da AWS para sua aplicação ou caso de uso.
O que são contêineres?
Os contêineres proporcionam uma maneira padrão de empacotar código, configurações e dependências de sua aplicação em um único objeto. Eles compartilham um sistema operacional instalado no servidor e são executados como processos isolados de recursos. Isso permite fazer implantações rápidas, confiáveis e consistentes, independentemente do ambiente.
Por que usar contêineres?
Os contêineres são uma forma avançada de empacotamento e implantação de aplicações para os desenvolvedores. Eles são leves e oferecem um ambiente de software consistente e portátil para que as aplicações possam executar e escalar com facilidade em qualquer lugar. Criação e implantação de microsserviços, execução de trabalhos em lotes para aplicações de machine learning e migração de aplicações para a nuvem são apenas alguns casos de uso comuns para os contêineres.
Seguros: a AWS oferece 210 principais recursos e serviços de segurança, compatibilidade e governança, cerca de 40 a mais do que o próximo maior provedor de nuvem. A AWS fornece um forte isolamento de segurança entre seus contêineres, garante que você esteja executando as atualizações de segurança mais recentes e permite definir permissões de acesso granular para cada contêiner.
Confiáveis: os serviços de contêiner da AWS são executados na melhor infraestrutura global com 69 zonas de disponibilidade (AZ) em 22 regiões. A AWS fornece mais que o dobro de regiões com múltiplas zonas de disponibilidade do que o provedor de nuvem mais próximo (22 versus 8). Há SLAs para todos os serviços de contêiner (ECS, EKS e Fargate) proporcionando tranquilidade.
Opções: os serviços de contêiner da AWS oferecem a mais ampla variedade de serviços para executar seus contêineres. Você pode escolher o AWS Fargate se desejar computação sem servidor e o Amazon EC2 se desejar ter controle sobre a instalação, a configuração e o gerenciamento do seu ambiente de computação. Você também pode escolher qual orquestrador de contêineres será usado: Amazon Elastic Container Service (ECS) ou Amazon Elastic Kubernetes Service (EKS).
Integrações com a AWS: os serviços de contêiner da AWS estão altamente integrados à AWS por design. Isso permite que suas aplicações de contêiner aproveitem a amplitude e a profundidade da nuvem AWS, desde redes, segurança até monitoramento. A AWS combina a agilidade dos contêineres com a elasticidade e a segurança da nuvem.
Serviços de Contêiner
A AWS oferece a maior variedade de serviços para armazenamento, gerenciamento e execução de contêineres. Escolha o serviço da AWS certo para a sua carga de trabalho, desde pequenos experimentos até aplicações essenciais para a produção.
Se você deseja... |
Avalie a possibilidade de usar o |
Devido ao... |
---|---|---|
Armazenar, criptografar e gerenciar imagens de contêiner | Amazon ECR |
O ECR comprime e criptografa as imagens de contêiner, tornando-as mais rápidas ao iniciar e disponíveis para serem executadas de qualquer lugar. |
Execução de aplicações conteinerizadas ou criação de microsserviços | Amazon ECS | O Amazon Elastic Container Service (Amazon ECS) é um serviço totalmente gerenciado de orquestração de contêineres que oferece a forma mais segura, confiável e escalonável de executar aplicações conteinerizadas. |
Gerenciamento de contêineres com o Kubernetes | Amazon EKS | O Amazon Elastic Container Service (Amazon ECS) é um serviço totalmente gerenciado de orquestração de contêineres que oferece a forma mais segura, confiável e escalonável de executar aplicações conteinerizadas usando o Kubernetes. |
Execução de contêineres sem gerenciar servidores |
AWS Fargate | O AWS Fargate é um mecanismo de computação sem servidor para contêineres que funciona tanto com o Amazon Elastic Container Service (ECS) quanto com o Amazon Elastic Kubernetes Service (EKS). O Fargate elimina a necessidade de provisionar e gerenciar servidores, permite que você especifique e pague pelos recursos por aplicação e aumenta a segurança por meio de isolamento de aplicação por projeto. |
Execução de contêineres com controle no nível do servidor | Amazon EC2 |
As máquinas virtuais do EC2 fornecem a você controle dos seus clusters de servidores e uma ampla gama de opções de personalização. |
Princípios básicos
Nesta seção, mostraremos os conceitos fundamentais necessários para entender os contêineres e decidir qual serviço de contêiner é o ideal para a sua aplicação ou caso de uso.
O Docker é uma plataforma de software que permite a criação, o teste e a implantação de aplicações rapidamente. O Docker cria pacotes de software em unidades padronizadas chamadas de contêineres que têm tudo o que o software precisa para ser executado, inclusive bibliotecas, ferramentas de sistema, código e tempo de execução.

O Kubernetes é um sistema de gerenciamento e orquestração de contêineres de código aberto. Na AWS, você pode optar por executar e gerenciar a infraestrutura do Kubernetes com o Amazon EC2 ou usar o Amazon EKS para obter um plano de controle de Kubernetes gerenciado e provisionado automaticamente.

Casos de uso comuns de contêineres
Microsserviços: os contêineres permitem o isolamento de processos que facilitam o desmembramento e a execução de aplicações como componentes independentes, chamados “microsserviços”.
Processamento em lotes: empacote processamento em lotes e trabalhos de ETL em contêineres para iniciar trabalhos rapidamente e escalar os trabalhos de forma dinâmica de acordo com a demanda.
Machine Learning: use contêineres para escalar rapidamente modelos de machine learning para treinamento e inferência e executá-los perto de suas fontes de dados em qualquer plataforma.
Aplicações híbridas: os contêineres permitem padronizar a maneira como o código é implantado, facilitando a criação de fluxos de trabalho para aplicações que são executadas entre ambientes on-premises e na nuvem.
Migração de aplicações para a nuvem: os contêineres facilitam o empacotamento de aplicações inteiras e a movimentação delas para a nuvem sem a necessidade de fazer alterações no código.
Plataforma como serviço: use contêineres para criar plataformas que eliminem a necessidade de os desenvolvedores gerenciarem a infraestrutura e para padronizar como suas aplicações são implantadas e gerenciadas.
Vamos criar!
Os tutoriais a seguir mostrarão como começar a usar o Amazon ECS e o Amazon EKS.
Saiba como executar um exemplo de aplicação habilitada para o Docker em um cluster do Amazon ECS atrás de um load balancer e como testá-lo.
Saiba como implantar uma aplicação habilitada para contêiner em um cluster do Kubernetes gerenciado pelo Amazon Elastic Container Service for Kubernetes (Amazon EKS).
Recursos de aprendizado
Os recursos a seguir mostrarão configurações mais avançadas e casos de uso para o Amazon ECS, Amazon EKS e AWS App Mesh.
Execute um front-end e vários serviços de back-end no AWS ECS e explore como você pode adotar esse fluxo de trabalho em seu ambiente
Explore várias formas de configurar o Amazon EKS, VPC, o ALB e os operadores do EC2 Kubernetes.
Saiba como implantar uma aplicação Node.js monolítica em um contêiner do Docker e desacoplar a aplicação em microsserviços sem qualquer tempo de inatividade.
Aprenda sobre os recursos e a utilização do AWS App Mesh.
Aprenda sobre contêineres diretamente com os especialistas.
Os vídeos a seguir explicam tópicos importantes sobre contêineres para ajudar você a usá-los melhor.