

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

# Padrões, arquiteturas e implementações de design de nuvem
<a name="introduction"></a>

*Anitha Deenadayalan, Amazon Web Services (AWS)*

*Maio de 2024* ([histórico do documento](doc-history.md))

Este guia fornece orientação para implementar padrões de design de modernização comumente usados usando serviços AWS. Um número cada vez maior de aplicativos modernos é projetado usando arquiteturas de microsserviços para obter escalabilidade, melhorar a velocidade de lançamento, reduzir o escopo do impacto das mudanças e reduzir a regressão. Isso leva a uma maior produtividade do desenvolvedor e maior agilidade, melhor inovação e maior foco nas necessidades comerciais. As arquiteturas de microsserviços também apoiam o uso da melhor tecnologia para o serviço e o banco de dados e promovem o código poliglota e a persistência poliglota.

Tradicionalmente, os aplicativos monolíticos são executados em um único processo, usam um armazenamento de dados e são executados em servidores que escalam verticalmente. Em comparação, os aplicativos de microsserviços modernos são refinados, têm domínios de falha independentes, são executados como serviços em toda a rede e podem usar mais de um armazenamento de dados, dependendo do caso de uso. Os serviços são escalados horizontalmente e uma única transação pode abranger vários bancos de dados. As equipes de desenvolvimento devem concentrar-se na comunicação de rede, na persistência poliglota, na escalabilidade horizontal, na consistência eventual e no tratamento de transações nos armazenamentos de dados ao desenvolver aplicativos usando arquiteturas de microsserviços. Portanto, os padrões de modernização são essenciais para resolver problemas comuns no desenvolvimento de aplicativos modernos e ajudam a acelerar a entrega de software.

Este guia fornece uma referência técnica para arquitetos de nuvem, líderes técnicos, proprietários de aplicativos e negócios e desenvolvedores que desejam escolher a arquitetura de nuvem certa para padrões de design com base nas melhores práticas bem arquitetadas. Cada padrão discutido neste guia aborda um ou mais cenários conhecidos em arquiteturas de microsserviços. O guia discute os problemas e considerações associados a cada padrão, fornece uma implementação arquitetônica de alto nível e descreve a implementação do padrão na AWS. Exemplos de código aberto do GitHub e links de workshops são fornecidos quando disponíveis.

O guia aborda os seguintes padrões:
+ [Camada anticorrupção](acl.md)
+ [Padrões de roteamento da API](api-routing.md):
  + [Roteamento de nome de host](api-routing-hostname.md)
  + [Roteamento de caminho](api-routing-path.md)
  + [Roteamento de cabeçalho HTTP](api-routing-http.md)
+ [Disjuntor](circuit-breaker.md)
+ [Fornecimento de eventos](event-sourcing.md)
+ [Arquitetura hexagonal](hexagonal-architecture.md)
+ [Publicar/assinar](publish-subscribe.md)
+ [Tente novamente com o recuo](retry-backoff.md)
+ [Padrões saga](saga.md):
  + [Coreografia saga](saga-choreography.md)
  + [Orquestração saga](saga-orchestration.md)
+ [Scatter-gather](scatter-gather.md)
+ [Strangler fig](strangler-fig.md)
+ [Caixa de saída transacional](transactional-outbox.md)

## Resultados de negócios desejados
<a name="targeted-business-outcomes"></a>

Usando os padrões discutidos neste guia para modernizar os seus aplicativos, você pode:
+ Projete e implemente arquiteturas confiáveis, seguras e operacionalmente eficientes, otimizadas para custo e desempenho.
+ Reduza o tempo de ciclo para casos de uso que exigem esses padrões, para que você possa se concentrar nos desafios específicos da organização.
+ Acelere o desenvolvimento padronizando implementações de padrões usando os serviços da AWS.
+ Ajude seus desenvolvedores a criar aplicativos modernos sem herdar dívidas técnicas.