

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á.

# Implementando microsserviços em AWS
<a name="microservices-on-aws"></a>

Data de publicação: **31 de julho de 2023** ([Histórico do documento](document-revisions.md))

 Os microsserviços oferecem uma abordagem simplificada para o desenvolvimento de software que acelera a implantação, incentiva a inovação, melhora a capacidade de manutenção e aumenta a escalabilidade. Esse método se baseia em serviços pequenos e pouco acoplados que se comunicam por meio de serviços bem definidos APIs, gerenciados por equipes autônomas. A adoção de microsserviços oferece benefícios, como maior escalabilidade, resiliência, flexibilidade e ciclos de desenvolvimento mais rápidos. 

 Este whitepaper explora três padrões populares de microsserviços: orientado por API, orientado por eventos e streaming de dados. Fornecemos uma visão geral de cada abordagem, descrevemos os principais recursos dos microsserviços, abordamos os desafios em seu desenvolvimento e ilustramos como a Amazon Web Services (AWS) pode ajudar as equipes de aplicativos a enfrentar esses obstáculos. 

 Considerando a natureza complexa de tópicos como armazenamento de dados, comunicação assíncrona e descoberta de serviços, recomendamos que você avalie as necessidades específicas e os casos de uso do seu aplicativo junto com a orientação fornecida ao tomar decisões de arquitetura. 

## Introdução
<a name="introduction"></a>

 As arquiteturas de [microsserviços](https://aws.amazon.com/microservices/) combinam conceitos bem-sucedidos e comprovados de vários campos, como: 
+  Desenvolvimento ágil de software 
+  Arquiteturas orientadas a serviços 
+  Design que prioriza a API 
+  ContínuoIntegration/Continuous Delivery (CI/CD) 

 Frequentemente, os microsserviços incorporam padrões de design do aplicativo [Twelve-Factor](https://12factor.net/). 

 Embora os microsserviços ofereçam muitos benefícios, é vital avaliar os requisitos exclusivos do seu caso de uso e os custos associados. Arquitetura monolítica ou abordagens alternativas podem ser mais apropriadas em alguns casos. A decisão entre microsserviços ou monólitos deve ser feita case-by-case com base em fatores como escala, complexidade e casos de uso específicos. 

 Primeiro, exploramos uma arquitetura de microsserviços altamente escalável e tolerante a falhas (interface de usuário, implementação de microsserviços, armazenamento de dados) e demonstramos como desenvolvê-la usando tecnologias de contêiner. AWS Em seguida, sugerimos AWS serviços para implementar uma arquitetura típica de microsserviços sem servidor, reduzindo a complexidade operacional. 

 A tecnologia sem servidor é caracterizada pelos seguintes princípios: 
+  Sem infraestrutura para provisionar ou gerenciar 
+  Dimensionamento automático por unidade de consumo 
+  Modelo de cobrança “Pague pelo valor” 
+  Disponibilidade e tolerância a falhas integradas 
+  Arquitetura orientada a eventos (EDA) 

 Por fim, examinamos o sistema geral e discutimos os aspectos entre serviços de uma arquitetura de microsserviços, como monitoramento distribuído, registro, rastreamento, auditoria, consistência de dados e comunicação assíncrona. 

 Este documento se concentra nas cargas de trabalho em execução no Nuvem AWS, excluindo cenários híbridos e estratégias de migração. Para obter informações sobre estratégias de migração, consulte o [whitepaper da Metodologia de Migração de Contêineres](https://d1.awsstatic.com/whitepapers/container-migration-methodology.pdf). 

## Você é Well-Architected?
<a name="are-you-well-architected"></a>

 A [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/) ajuda você a entender os prós e os contras das decisões que você toma ao criar sistemas na nuvem. Os seis pilares do framework permitem a você conhecer as melhores práticas de arquitetura para criar e operar sistemas confiáveis, seguros, econômicos e sustentáveis na nuvem. Usando o [AWS Well-Architected Tool](https://aws.amazon.com/well-architected-tool/), disponível gratuitamente no [Console de gerenciamento da AWS](https://console.aws.amazon.com/wellarchitected), você pode analisar suas workloads em relação a essas práticas recomendadas respondendo a um conjunto de perguntas para cada pilar. 

 No [Serverless Application Lens](https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/welcome.html), nos concentramos nas melhores práticas para arquitetar seus aplicativos sem servidor em. AWS

 Para obter orientações especializadas e melhores práticas adicionais para a arquitetura de sua nuvem (implantações de arquitetura de referência, diagramas e whitepapers), consulte o [Centro de Arquitetura da AWS](https://aws.amazon.com/architecture/). 

## Modernização para microsserviços
<a name="modernizing-to-microservices"></a>

 Os microsserviços são essencialmente unidades pequenas e independentes que compõem um aplicativo. [A transição de estruturas monolíticas tradicionais para microsserviços pode seguir várias estratégias.](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-decomposing-monoliths/decomposing-patterns.html) 

 Essa transição também afeta a forma como sua organização opera: 
+  Ela incentiva o desenvolvimento ágil, em que as equipes trabalham em ciclos rápidos. 
+  As equipes geralmente são pequenas, às vezes descritas como *duas equipes de pizza* — pequenas o suficiente para que duas pizzas possam alimentar toda a equipe. 
+  As equipes assumem total responsabilidade por seus serviços, desde a criação até a implantação e manutenção. 