Implementando microsserviços em AWS - Implementando microsserviços em AWS

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

Data de publicação: 31 de julho de 2023 (Histórico do documento)

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 definidosAPIs, 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: API orientado, 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

As arquiteturas de microsserviços combinam conceitos bem-sucedidos e comprovados de vários campos, como:

  • Desenvolvimento ágil de software

  • Arquiteturas orientadas a serviços

  • API-primeiro design

  • ContínuoIntegration/Continuous Delivery (CI/CD)

Frequentemente, os microsserviços incorporam padrões de design do aplicativo Twelve-Factor.

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.

Você é Well-Architected?

A AWS Well-Architected Framework 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, disponível gratuitamente no AWS Management Console, 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, 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.

Modernização para microsserviços

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.

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.