Introdução

Os contêineres são um componente essencial do desenvolvimento moderno de aplicações. Eles se tornaram uma forma padrão de organizar recursos computacionais e gerenciar o conteúdo das implantações de aplicações.

Os contêineres fornecem um ambiente computacional discreto e reproduzível. Eles também oferecem uma maneira de simplificar o gerenciamento de pacotes e dependências. Desde a orquestração de grandes propriedades com vários clusters até aplicações Web, ou até mesmo testar seu trabalho e realizar uma prova de conceito em seu laptop, elas são uma ótima maneira de começar e criar software para implantação na nuvem.

Este guia de decisão ajuda você a começar e a escolher o serviço de contêiner da AWS certo para o desenvolvimento de aplicações modernas.

Este trecho de quatro minutos faz parte de uma gravação de 57 minutos de uma apresentação de Vikram Venkataraman, gerente de contas técnico sênior da AWS, feita no AWS Summit DC 2022. Ele fornece uma visão geral dos serviços de contêiner da AWS disponíveis.

Hora de ler

20 minutos

Finalidade

Ajudar a determinar qual serviço de contêiner da AWS é o mais adequado para sua organização.

Nível

Iniciante

Data da última atualização

26 de abril de 2023

Entender

Os contêineres se tornaram um padrão de fato para empacotar código, configurações e dependências de aplicações em um único artefato, porque podem ser implantados de forma consistente em vários ambientes.

Contêineres são uma peça fundamental de qualquer estratégia de desenvolvimento de aplicações modernas. Para fornecer algum contexto para os serviços da AWS relacionados a contêineres, a imagem à direita mostra as opções de contêineres da AWS disponíveis por camada (explicadas mais detalhadamente neste vídeo).

Capacidade 

A capacidade se refere à computação subjacente na qual você implantará o contêiner, junto com os requisitos de unidade de processamento central (CPU) e memória. A capacidade é a infraestrutura na qual o contêiner será executado. Há duas opções de capacidade para os contêineres na AWS:

  • O Amazon Elastic Compute Cloud (AmazonEC2) permite que você execute seus contêineres nas máquinas virtuais que você gerencia.
  • O AWS Fargate é um mecanismo de computação para contêineres com tecnologia sem servidor que permite executar contêineres sem que seja necessário gerenciar a infraestrutura subjacente. Com o Fargate, é possível iniciar e escalar contêineres sem se preocupar com as instâncias subjacentes do EC2.

Orquestração

Não é incomum para uma organização administrar não só alguns, mas milhares de contêineres. Gerenciar um ambiente tão complexo é desafiador. Os serviços de orquestração ajudam a facilitar a implantação e o gerenciamento dessas aplicações. A AWS oferece três serviços de orquestração:  

  • O Amazon Elastic Container Service (Amazon ECS) é um serviço de orquestração de contêineres totalmente gerenciado e é ideal para organizações que desejam uma maneira simples e econômica de implantar e gerenciar aplicações em contêineres.
  • O Amazon Elastic Kubernetes Service (Amazon EKS) é um serviço de Kubernetes totalmente gerenciado que permite executar e gerenciar clusters do Kubernetes na AWS.
  • O Serviço Red Hat OpenShift na AWS (ROSA) é um serviço totalmente gerenciado do OpenShift que permite executar e gerenciar clusters do OpenShift na AWS. Ele é uma boa opção para clientes que já executam o OpenShift on-premises.

Provisionamento

O provisionamento fornece uma interface para a camada de serviços de orquestração. Cada orquestrador apresenta suas próprias complexidades. Os serviços de provisionamento ocultam essa complexidade e ajudam a facilitar o consumo do serviço. Nesta categoria, os serviços da AWS incluem:

  • O AWS App Runner é um serviço totalmente gerenciado que cria automaticamente imagens de contêineres com base no código-fonte, implanta os contêineres em uma infraestrutura totalmente gerenciada e os escala com base na demanda.
  • O AWS Elastic Beanstalk é um serviço totalmente gerenciado que facilita a implantação, o gerenciamento e a escalabilidade de aplicações Web. O Elastic Beanstalk também oferece suporte a contêineres e fornece uma plataforma totalmente gerenciada para implantação e escalabilidade de aplicações em contêineres.
  • O Amazon Lightsail é uma forma simples e econômica de iniciar e gerenciar servidores virtuais privados, mas também oferece suporte a contêineres, permitindo criar e implantar aplicações em contêineres usando instâncias do Lightsail.

Considerar

É importante escolher um serviço de contêiner que se alinhe aos seus requisitos de aplicações e às preferências operacionais. A seção a seguir descreve alguns dos principais critérios a serem considerados ao escolher um serviço de contêineres, bem como ferramentas e serviços de suporte.

  • As organizações podem escolher a nuvem para reduzir os custos operacionais por meio da padronização de serviços gerenciados que transferem a carga operacional para a AWS. Níveis mais altos de abstração permitem que desenvolvedores e operadores se concentrem em suas próprias atividades diferenciadas agregadoras de valor, em vez de tarefas genéricas.

    A criação com contêineres na AWS usa serviços com níveis mais altos de abstração para transferir os custos operacionais de manutenção da infraestrutura para a AWS.

  • Ao entender seus padrões de workload, você pode fazer escolhas de arquitetura de forma mais fácil. Elas podem incluir aplicações Web, microsserviços baseados em API, aplicações orientadas a eventos, streaming e mensagens, pipelines de dados, automações de TI e muito mais. Algumas workloads terão desempenho melhor ou serão mais econômicas em um ambiente computacional do que em outros tipos de ambiente.

  • Muitos clientes querem garantir que suas aplicações possam ser executadas e facilmente migradas ou movidas para um ambiente diferente. É importante para eles poder preservar a escolha ou executar uma aplicação on-premises e na nuvem.

    Recomendamos desenvolver competências em arquiteturas de software e criar pacotes que permitam portar com mais facilidade a lógica de negócios diferenciadora entre serviços de computação.

    As aplicações criadas com algumas tecnologias podem ser executadas com mais eficiência em alguns serviços de computação do que em outros.

  • As competências da sua organização são um fator importante ao decidir quais serviços de contêiner serão usados. A abordagem adotada exigirá algum investimento nas equipes de DevOps e engenharia de confiabilidade do site (SRE). A criação de um pipeline automatizado para implantar aplicações é comum no desenvolvimento da maioria das aplicações modernas.

    Algumas opções elevam o volume de gerenciamento. Por exemplo, algumas organizações têm as habilidades e os recursos necessários para executar e gerenciar uma implementação do Kubernetes porque investem em equipes de SRE fortes para gerenciar clusters do Kubernetes. Essas equipes lidam com atualizações de cluster frequentes (por exemplo, o Kubernetes disponibiliza três lançamentos importantes por ano e descontinua as versões antigas).

    O tamanho da organização é um fator-chave, pois startups menores podem ter uma pequena equipe de TI composta por pessoas que desempenham várias funções, enquanto empresas maiores podem comportar centenas de workloads na produção ao mesmo tempo.  

  • Diferentes serviços de contêiner da AWS atendem a necessidades únicas em termos de complexidade de implantação. Veja como cada um é otimizado para sua própria função:

    • O AWS AppRunner oferece o caminho mais simples, permitindo que você implante a aplicação na Internet pública sem gerenciar ou personalizar a infraestrutura subjacente.
    • O Amazon ECS é uma boa opção quando for necessário um pouco mais de controle sobre as configurações de rede e segurança sem sacrificar a escala ou os atributos.
    • O Amazon EKS pode permitir flexibilidade e controle sobre a implantação e a orquestração de aplicações fornecidas pela tecnologia Kubernetes.

Escolher

Agora que conhece os critérios pelos quais avaliará suas opções de contêiner, você tem tudo pronto para escolher quais serviços de contêiner da AWS podem ser adequados para suas necessidades organizacionais.

A tabela a seguir destaca quais serviços são otimizados para quais circunstâncias. Use a tabela para ajudar a determinar qual o serviço de contêiner mais adequado para sua organização e caso de uso.

Contêineres
Quando usá-los?
Para que são otimizados?
Serviços ou ferramentas de contêineres relacionados
Fechar

Opções de capacidade

A capacidade se refere à computação subjacente na qual você implantará o contêiner, assim como os requisitos de CPU e memória. A capacidade é a infraestrutura na qual o contêiner será executado.

Use quando você quiser executar seus contêineres em máquinas virtuais autogerenciadas da AWS ou em computação gerenciada pela AWS.
Otimizado para executar os contêineres na computação da AWS.
Fechar

Amazon EC2

O Amazon EC2 é um serviço Web que fornece capacidade de computação escalável, usando servidores nos datacenters da Amazon que você pode utilizar para criar e hospedar os sistemas de software.

Fechar

AWS Fargate

O AWS Fargate é uma tecnologia que pode ser usada com o Amazon ECS para executar contêineres sem que seja necessário gerenciar servidores ou clusters de instâncias do Amazon EC2. Com o Fargate, você não precisa mais provisionar, configurar e escalar clusters de máquinas virtuais para executar contêineres.

Fechar

Orquestração de contêineres

Os serviços de orquestração de contêineres gerenciam quando e onde os contêineres são executados.

Use quando precisar implantar e gerenciar até milhares de contêineres.
Otimizado para implantar, gerenciar e escalar aplicações em contêineres na AWS.
Fechar

Serviço Red Hat OpenShift na AWS (ROSA)

O Serviço Red Hat OpenShift na AWS simplifica a criação e a operação de clusters do Red Hat OpenShift na AWS. Para aplicações já em contêineres on-premises na OpenShift Container Platform, o ROSA fornece uma superfície de API familiar e mantém a mesma cadeia de ferramentas de implantação para que você possa se concentrar em refatorar o modelo de dados, e não a pilha de aplicações inteira.

Fechar

Amazon Elastic Kubernetes Service

O Amazon EKS ajuda você a iniciar, executar e escalar aplicações Kubernetes na Nuvem AWS ou on-premises.

Fechar

Amazon ECS

O Amazon ECS é serviço de orquestração de contêineres totalmente gerenciado para ajudar a implantar, gerenciar e escalar aplicações em contêineres.

Fechar

Provisionamento

A categoria de provisionamento de serviços fornece uma interface para a camada de orquestração de serviços. Cada orquestrador apresenta suas próprias complexidades. Os serviços de provisionamento ocultam essa complexidade e facilitam o consumo do serviço pelos clientes.

Eles podem ser usados quando você ou sua equipe não têm muita experiência com contêineres ou infraestrutura.
Otimizados para facilitar o uso.
Fechar

AWS Elastic Beanstalk

Com o Elastic Beanstalk, você pode implantar e gerenciar rapidamente aplicações na Nuvem AWS sem precisar aprender sobre a infraestrutura que executa essas aplicações. O Elastic Beanstalk reduz a complexidade do gerenciamento sem restringir a escolha ou o controle.

Fechar

AWS App Runner

O AWS App Runner permite criar e executar aplicações em contêineres em um serviço totalmente gerenciado com conhecimento mínimo de infraestrutura.

Fechar

Amazon Lightsail

O Lightsail oferece instâncias de servidor privado virtual (VPS), contêineres, armazenamento, bancos de dados e outros recursos de fácil utilização a um preço mensal acessível.

Fechar

Ferramentas

Ferramentas para fornecer um registro de contêineres, bem como para conteinerizar e migrar aplicações existentes.

Quando você precisa de ferramentas para fornecer um registro de contêineres, bem como para conteinerizar e migrar aplicações existentes.
Otimizadas para oferecer suporte às operações de contêineres.
Fechar

Amazon Elastic Container Registry

O Amazon ECR é um registro de contêiner totalmente gerenciado que oferece hospedagem de alta performance para que você possa implantar imagens e artefatos de aplicações de forma confiável em qualquer lugar.

Fechar

On-premises

Permite executar um ambiente de gerenciamento conhecido para garantir uma experiência consistente, não importa onde as aplicações baseadas em contêineres estejam sendo executadas.

Use quando precisar executar um ambiente de gerenciamento conhecido para garantir uma experiência consistente, não importa onde as aplicações baseadas em contêineres estejam sendo executadas.
Otimizado para flexibilidade no local de execução das aplicações baseadas em contêineres.
Fechar

Amazon Elastic Container Service (ECS) Anywhere

O Amazon ECS Anywhere é um atributo do Amazon ECS que permite executar e gerenciar workloads de contêineres em sua infraestrutura.

Fechar

Amazon EKS Anywhere

O Amazon EKS Anywhere permite criar e operar clusters Kubernetes em sua própria infraestrutura.

Fechar

Amazon EKS Distro

O Amazon EKS usa o Amazon EKS Distro, uma distribuição Kubernetes criada e mantida pela AWS. O Amazon EKS Distro facilita a criação de clusters confiáveis e seguros.

Usar

Agora você deve ter uma compreensão clara de cada serviço de contêiner da AWS (e das ferramentas e serviços de suporte da AWS) e qual deles pode ser o mais adequado para sua organização e caso de uso.

Para explorar como usar e saber mais sobre cada um dos serviços de contêineres da AWS disponíveis, fornecemos um caminho para explorar como cada um dos serviços funciona. A seção a seguir fornece links para uma documentação detalhada, tutoriais práticos e recursos para você começar.

  • Amazon EC2
  • Amazon Aurora

    Conceitos básicos do Amazon EC2

    Acesse o conjunto completo de documentação técnica do Amazon EC2, incluindo guias para instâncias do Linux e Windows.

    Explore os guias »

    Amazon Aurora

    Guia do usuário do VM Import/Export

    Saiba como importar imagens de máquina virtual (VM) do seu ambiente de virtualização existente para o Amazon EC2 e, depois, exportá-las de volta.

    Explore o guia »

    Amazon Aurora

    Amazon EC2 Auto Scaling com instâncias spot do EC2

    Saiba como criar uma workload sem estado e tolerante a falhas usando o Amazon EC2 Auto Scaling com modelos de execução para solicitar instâncias spot do Amazon EC2.

    Comece com o tutorial »

    Amazon Aurora

    Implantar uma aplicação Web no Amazon EC2

    Você aprenderá a criar uma instância do AWS EC2 usando o Amazon CDK e implantando uma aplicação Web nessa instância.

    Explore o guia »

  • Amazon ECR
  • Amazon DynamoDB

    O que é o Amazon Elastic Container Registry (ECR)?

     
    Um guia para começar a usar o ECR.
     
     
    Amazon DynamoDB

    Amazon ECR em arquiteturas de várias contas e várias regiões
     

    Explore as principais considerações sobre as arquiteturas do Amazon ECR que abrangem contas e regiões da AWS e arquiteturas relacionadas a casos hipotéticos de uso de clientes.

    Leia a publicação no blog »

    Amazon DynamoDB

    Conceitos básicos do Amazon ECR Public
     

    Comece a usar os repositórios públicos do Amazon ECR criando seu primeiro repositório público e definindo suas configurações de registro público no console do Amazon ECR.

    Explore o guia »

    Amazon DynamoDB

    Crie um pipeline com uma fonte do Amazon ECR e uma implantação do ECS-to-CodeDeploy
     

    Configure um pipeline no AWS CodePipeline para implantar aplicações em contêiner usando uma implantação azul/verde que ofereça suporte a imagens do Docker.

    Comece com o tutorial »

  • Amazon ECS
  • AWS Database Migration Service

    Conceitos básicos do Amazon ECS

    Este guia fornece uma introdução às ferramentas disponíveis para acessar o Amazon ECS e procedimentos introdutórios passo a passo para executar contêineres.

    Explore o guia »

    AWS Database Migration Service

    Tutoriais para Amazon ECS

    Mais de uma dezena de tutoriais sobre como realizar tarefas comuns, incluindo a criação de clusters e VPCs, ao usar o Amazon ECS.

    Comece com os tutoriais »

    AWS Database Migration Service

    O que há de novo e o que vem por aí com o Amazon ECS

    Saiba o que há de novo desde o lançamento do Amazon ECS Anywhere, os novos recursos do AWS Fargate e veja os empolgantes aprimoramentos do Amazon ECS.

    Veja a história completa neste vídeo »

    AWS Database Migration Service

    Implantação do Amazon Elastic Container Service (ECS)

    Este guia oferece uma visão geral das opções de implantação do Amazon ECS na AWS e mostra como ele pode ser usado para gerenciar aplicações simples em contêineres.


    Explore o guia »

    AWS Database Migration Service

    Workshop do Amazon ECS

    Este workshop foi criado para ensinar aqueles que talvez não estejam familiarizados com o AWS Fargate, o Amazon ECS e, possivelmente, nem mesmo com o fluxo de trabalho de contêineres do Docker.

    Explore o workshop »

    AWS Database Migration Service

    Implantar contêineres do Docker no Amazon ECS

    Aprenda a executar uma aplicação de exemplo habilitada para Docker em um cluster do Amazon ECS por trás de um balanceador de carga, testar a aplicação de exemplo e excluir os recursos para evitar cobranças.

    Use o tutorial »

  • Amazon EKS
  • AWS Database Migration Service

    Conceitos básicos do Amazon EKS
     

    Saiba mais sobre o Amazon Elastic Kubernetes Service (Amazon EKS), um serviço gerenciado que pode ser usado para executar Kubernetes na AWS sem a necessidade de instalar, operar e manter o seu próprio ambiente de gerenciamento do Kubernetes.

    Explore o guia »

    AWS Database Migration Service

    Implantação do Amazon Elastic Kubernetes Service (EKS)
     

    Explore as opções de implantação do Amazon EKS na AWS e saiba como ele pode ser usado para gerenciar uma aplicação conteinerizada geral.

    Explore o guia »

    AWS Database Migration Service

    Implantação de referência de início rápido do Amazon EKS

    Usando um guia de implantação de referência de início rápido, fornecemos instruções detalhadas para a implantação de clusters do Amazon Elastic Kubernetes Service (Amazon EKS).


    Explore o guia »

    AWS Database Migration Service

    Implantar uma aplicação do Kubernetes
     

    Este tutorial mostra como implantar uma aplicação habilitada para contêiner em um cluster do Kubernetes gerenciado pelo Amazon Elastic Container Service for Kubernetes (Amazon EKS).

    Use o tutorial »

    AWS Database Migration Service

    Workshop sobre o Amazon EKS
     

    Exercícios práticos para aprender sobre o Amazon Elastic Kubernetes Service.


    Visite o workshop »

  • Amazon Lightsail
  • AWS Database Migration Service

    Criação, envio e implantação de imagens de contêineres
    com o Amazon Lightsail

    Este tutorial mostra como criar uma imagem de contêiner em sua máquina local usando um Dockerfile. Após a criação da imagem, você poderá enviá-la para seu serviço de contêiner do Lightsail a fim de implantá-la.

    Comece com o tutorial »

    AWS Database Migration Service

    Centro de recursos do Amazon Lightsail


    Explore os tutoriais, vídeos e links do Lightsail para a documentação conceitual básica.



    Visite o centro de recursos »

    AWS Database Migration Service

    Iniciar uma máquina virtual Linux com o Amazon Lightsail

    Neste tutorial, você criará uma instância do Amazon Linux no Amazon Lightsail. Quando a instância estiver ativa e em execução, você se conectará a ela via SSH no console do Lightsail usando o terminal SSH baseado em navegador.

    Comece com o tutorial »

  • AWS App Runner
  • AWS Database Migration Service

    Conceitos básicos do AWS App Runner


    Este tutorial explica como configurar o código-fonte e a implantação, a criação do serviço e o runtime do serviço para implantar sua aplicação no serviço App Runner. Ele também mostra como implantar uma versão de código, fazer alterações na configuração e visualizar logs.

    Use o tutorial »

    AWS Database Migration Service

    AWS App Runner: de código a uma aplicação Web escalável e segura em questão de minutos

    Explore como o AWS App Runner foi desenvolvido para facilitar a implantação de aplicações Web e APIs na nuvem, independentemente da linguagem em que estão escritas, até mesmo para equipes sem experiência prévia na implantação e no gerenciamento de contêineres ou infraestrutura.

    Leia o blog »

    AWS Database Migration Service

    Implantar uma aplicação Web usando o AWS App Runner


    Siga estas instruções passo a passo para implantar uma aplicação Web em contêiner usando o AWS App Runner. Comece com o código-fonte ou uma imagem de contêiner. O App Runner cria e implanta automaticamente a aplicação Web e balanceia a carga de tráfego com criptografia.

    Implante sua aplicação Web »

  • AWS Elastic Beanstalk
  • AWS Database Migration Service

    Conceitos básicos do Elastic Beanstalk


    Este guia orienta você pela criação, exploração, atualização e exclusão de uma aplicação do Elastic Beanstalk.

    Explore o guia »

    AWS Database Migration Service

    Opções de implantação no AWS Elastic Beanstalk 


    Este guia explica como usar o AWS Elastic Beanstalk para implantar, gerenciar e escalar aplicações sem a sobrecarga operacional de gerenciar a infraestrutura.

    Explore o guia »

    AWS Database Migration Service

    Tutoriais e exemplos intermediários do AWS Electric Beanstalk

    Esses tutoriais são direcionados para usuários intermediários e podem não conter instruções para etapas básicas, como se inscrever na AWS.

    Comece com os tutoriais »

  • AWS Fargate
  • Amazon Aurora

    Conceitos básicos do AWS Fargate

    Este guia explica os conceitos básicos do AWS Fargate, uma tecnologia que pode ser usada com o Amazon ECS para executar contêineres sem que seja necessário gerenciar servidores ou clusters de instâncias do Amazon EC2.

    Explore o guia »

    Amazon Aurora

    Introdução do console com contêineres Linux no AWS Fargate

    Comece a usar o Amazon ECS no AWS Fargate usando o tipo de execução do Fargate para suas tarefas nas regiões em que o Amazon ECS oferece suporte ao AWS Fargate.

    Explore o guia »

    Amazon Aurora

    Criar um cluster com uma tarefa do Fargate Linux usando a AWS CLI

    Configure um cluster, registre uma definição de tarefa, execute uma tarefa do Linux e realize outros cenários comuns no Amazon ECS com a AWS CLI.  

    Explore o guia »

  • ROSA
  • AWS Database Migration Service

    Novidades do Serviço Red Hat OpenShift Service na AWS

    Este guia ajudará você a começar a usar o Serviço Red Hat OpenShift na AWS.

    Explore o guia »

    AWS Database Migration Service

    Por que você usar o ROSA?

    Este vídeo mostra quando o Red Hat OpenShift poderia ser usado em vez do Kubernetes padrão e explora o ROSA em detalhes na AWS.

    Assista ao vídeo »

Explorar

Diagramas de arquitetura

Explore diagramas de arquitetura de referência para contêineres na AWS.


Explore diagramas de arquitetura »

Whitepapers

Explore os whitepapers para ajudar você a começar e aprender as melhores práticas.

Explore os whitepapers»

Soluções da AWS

Explore soluções aprovadas e orientações de arquitetura para casos de uso comuns de contêineres.

Explore soluções »

Esta página foi útil para você?