Let’s Architect! Projetando arquiteturas de microsserviços
Em 2022, publicamos Let’s Architect! Arquitetando microsserviços com containers. Abordamos padrões de integrações e algumas abordagens para implementar microsserviços usando containers. Neste post do Let’s Architect!, queremos nos aprofundar apenas nos microsserviços, focando nos principais desafios que arquitetos e engenheiros de software enfrentam ao trabalhar em grandes sistemas distribuídos estruturados como um conjunto de serviços independentes.Há muitas considerações a serem abordadas em detalhes em um tópico amplo, como microsserviços.
Devemos refletir sobre a estrutura organizacional, os canais de automação, a estratégia de várias contas, os testes, a comunicação e muitas outras áreas. Com este post, nos aprofundamos no tópico analisando as opções de descoberta e conectividade disponíveis por meio do Amazon VPC Lattice; depois, nos concentramos nos padrões de arquitetura para comunicação, principalmente na comunicação assíncrona, pois ela se encaixa muito bem este cenário.
Por fim, exploramos como trabalhar com microsserviços serverless e analisamos um estudo de caso da Amazon, retirado diretamente da Biblioteca do Amazon Builder.
AWS Container Day com Kubernetes
Os aplicativos modernos geralmente são criados usando uma abordagem distribuída de microsserviços, que envolve a divisão do aplicativo em serviços menores e especializados. Cada um desses serviços implementa seu próprio subconjunto de funcionalidades ou lógica de negócios.
Para facilitar a comunicação entre esses serviços, é essencial ter um método para autorizar, rotear e monitorar o tráfego da rede. Também é importante, em caso de problemas, ter a capacidade de identificar a causa raiz de um problema, seja ele originado no nível do aplicativo, do serviço ou da rede.
O Amazon VPC Lattice pode oferecer uma forma consistente de conectar, proteger e monitorar a comunicação entre instâncias, container e funções serverless. Com o Amazon VPC Lattice, você pode definir políticas para gerenciamento de tráfego, acesso à rede, roteamento avançado, implementar a capacidade de descoberta e, ao mesmo tempo, monitorar como o tráfego está fluindo dentro de aplicativos complexos quase em tempo real.
Padrões de integração de aplicativos para microsserviços
A integração fraca pode ajudá-lo a projetar sistemas independentes que podem ser desenvolvidos e operados individualmente, além de aumentar a disponibilidade e a confiabilidade do cenário geral do sistema, especialmente usando comunicação assíncrona. Embora existam muitas abordagens para cenários de integração e conversação, nem sempre está claro qual abordagem é a melhor para uma determinada situação.
Assista a esta sessão do re:Invent 2022 para aprender sobre os padrões fundamentais para cenários de integração e conversação com ênfase em acoplamento fraco e comunicação assíncrona. Explore casos de uso do mundo real arquitetados com serviços nativos da nuvem e sem servidor e receba orientação sobre como escolher a tecnologia de integração.
Assistir este vídeo do re:Invent 2022!
Padrões de design para o sucesso em microsserviços serverless
Os engenheiros de software adoram padrões — abordagens comprovadas para problemas conhecidos que facilitam o desenvolvimento de software e preparam nossos projetos para o sucesso. Em sistemas complexos e distribuídos, como microsserviços, padrões como CQRS e Event Sourcing ajudam a desacoplar e escalar sistemas.
A primeira parte do vídeo é sobre a introdução de padrões de arquitetura e seus aplicativos, enquanto a segunda parte contém um conjunto de demonstrações e exemplos do console da AWS.
Nesta sessão, examinamos alguns padrões típicos para a criação de microsserviços serverless robustos e de alto desempenho e como os padrões de acesso a dados podem impulsionar a persistência poliglota.
Assistir este vídeo do AWS Summit!
Evitar a sobrecarga em sistemas distribuídos colocando o serviço menor sob controle
Se não prestarmos atenção à escala relativa de um serviço e de seus clientes, sistemas distribuídos com microsserviços podem correr o risco de sobrecarga. Um padrão de arquitetura comum adotado por muitos serviços da AWS consiste em dividir o sistema em um control plane e um data plane
Este artigo detalha esse cenário para entender o que poderia acontecer se a frota do data plane excedesse a escala da frota do control plane em um fator de 100 ou mais. Isso pode acontecer em uma arquitetura baseada em microsserviços quando o serviço X se recupera de uma interrupção e começa a enviar uma grande quantidade de solicitações ao serviço Y.
Sem um ajuste fino cuidadoso, essa mudança de comportamento pode sobrecarregar o cliente menor. Com esse recurso, queremos compartilhar alguns modelos mentais e estratégias de design que são benéficos para sistemas distribuídos e equipes que trabalham em arquiteturas de microsserviços.
Ir para a Biblioteca do Amazon Builders!
Artigo originalmente publicado por Blog AWS