

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Rearquitetando como microsserviços em contêineres Linux
<a name="refactor-linux-micro"></a>

Uma arquitetura de microsserviços é uma abordagem para desenvolver um único aplicativo como um conjunto de pequenos serviços. Cada serviço é executado em seu próprio processo e se comunica com outros serviços por meio de mecanismos leves. Essa abordagem divide um aplicativo monolítico em serviços menores, em que cada serviço serve a uma única finalidade e é implantado como um contêiner.

## Casos de uso
<a name="refactor-linux-micro-use-case"></a>

Essa estratégia de migração é útil se:
+ Você quer dividir seu sistema monolítico em microsserviços.
+ Você tem os recursos e o tempo disponíveis para a refatoração.
+ Você pode resolver todas as dependências do.NET Framework.
+ Você tem um aplicativo de longa duração.

## Vantagens
<a name="refactor-linux-micro-advantages"></a>

Essa abordagem de migração oferece os seguintes benefícios, quando comparada aos aplicativos.NET locais:
+ Inovação mais rápida porque é mais fácil adicionar novos recursos em uma arquitetura de microsserviços
+ Alta disponibilidade e confiabilidade
+ Maior agilidade e escalabilidade sob demanda
+ Implantação independente e pipelines modernos de integração contínua e implantação contínua (CI/CD)
+ Fortes limites de módulos e diversidade técnica

## Desvantagens
<a name="refactor-linux-micro-disadvantages"></a>
+ Esforço e custo da refatoração
+ Potencial complexidade operacional

## AWS serviços
<a name="refactor-linux-micro-services"></a>

Você pode usar os seguintes AWS serviços para desenvolver um sistema baseado em microsserviços:
+ [Amazon API Gateway](https://aws.amazon.com/api-gateway)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns)
+ [Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs)
+ [Amazon ECS](https://aws.amazon.com/ecs)
+ [Amazon EKS](https://aws.amazon.com/eks)
+ [AWS Lambda](https://aws.amazon.com/lambda)
+ [AWS Fargate](https://aws.amazon.com/fargate)
+ [CloudFormation](https://aws.amazon.com/cloudformation) ou [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk)
+ [AWS Identity and Access Management](https://aws.amazon.com/iam) (IAM)
+ [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3)
+ [Amazon ECR](https://aws.amazon.com/ecr)

## Ferramentas
<a name="refactor-linux-micro-tools"></a>

AWS O Professional Services oferece ferramentas e serviços personalizados para ajudá-lo a refatorar seus aplicativos monolíticos em microsserviços.

## Decisões de implantação
<a name="refactor-linux-micro-deploy"></a>

Você pode escolher entre cinco opções de implantação:
+ Se você quiser controle total sobre a configuração do seu ambiente computacional, incluindo configurações de memória e armazenamento, e controle sobre os patches do sistema operacional: implante seu aplicativo como um contêiner Linux em uma instância do EC2.
+ Se você quiser que o contêiner seja gerenciado pelo Kubernetes e executado como um contêiner sem servidor: implante seu aplicativo como um contêiner Linux no Amazon EKS com o Fargate.
+ Se você quiser que o contêiner seja gerenciado pelo Amazon ECS e executado como um contêiner sem servidor: implante seu aplicativo como um contêiner Linux no Amazon ECS com o Fargate.
+ Se você quiser que o contêiner seja gerenciado pelo Kubernetes, mas quiser gerenciar você mesmo os recursos computacionais do contêiner: implante seu aplicativo como um contêiner Linux no Amazon EKS.
+ Se você quiser que o contêiner seja gerenciado pelo Amazon ECS, mas quiser gerenciar você mesmo os recursos computacionais do contêiner: implante seu aplicativo como um contêiner Linux no Amazon ECS.

 ![Refactoring .NET applications as microservices in Linux containers on AWS](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/modernization-net-applications/images/rearchitect-linux.png) 