+++ title = "Mova para Containers" date = 2019-10-22T20:48:41+02:00 weight = 30 pre = "3. " +++ {{% notice info %}} Esta seção assume que você já completou as seções **1. Migração de Banco de Dados** e **2. Migração do Servidor**. {{% /notice %}} #### Visão geral do Amazon Elastic Container Service (ECS) O **Amazon Elastic Container Service (Amazon ECS)** é um serviço totalmente gerenciado de orquestração de containers. Você pode escolher rodar seus ECS clusters usando: - AWS Fargate, que provê capacidades computacionais serverless para containers, ou - Instâncias EC2 gerenciadas por você. Neste lab você usará o **AWS Fargate** para rodar a aplicação sem complicações e sem ter de provisionar, escalar, gerenciar e manter segura sua infraestructure de retaguarda. Veja o diagrama abaixo que mostra a arquitetura geral do Amazon ECS usando AWS Fargate:  #### Principais componentes do Amazon ECS: Amazon ECS Cluster é um agrupamento lógico de recursos. Task Definition é um arquivo JSON, que descreve um ou mais containers (até o máximo de dez), que compõem sua aplicação. Você pode pensar numa task como a planta baixa da sua aplicação. Task é uma instancialização de uma task definition em um cluster. Após criar uma task definition para sua aplicação dentro do Amazon ECS, você pode especificar o númbero de tasks quer rodarão no cluster. Services - o Amazon ECS permite que você rode e mantenha um número específico de instâncias de uma task definition simultaneamente no cluster. Isto é chamado de service. Caso alguma de suas tasks falhem ou parem por qualquer razão, o agendadador de serviços do Amazon ECS lança outra instância da sua task definition para substituí-la e mantem a contagem desejada de tasks dependendo da estratégia de agendamento usada. Você pode conhecer mais sobre o **AWS Fargate** vendo o vídeo abaixo.