Implementação de microsserviços na AWS
Data de publicação: 9 de novembro de 2021 (Histórico do documento e colaboradores)
Resumo
Os microsserviços são uma abordagem arquitetônica e organizacional de desenvolvimento de software criada para acelerar ciclos de implantação, promover inovação e propriedade, melhorar a capacidade de manutenção e a escalabilidade de aplicações de software e escalar organizações que fornecem software e serviços usando um método ágil que ajuda as equipes a trabalhar de forma independente umas das outras. Com uma abordagem de microsserviços, o software é composto de pequenos serviços que se comunicam por meio de Interfaces do Programa da Aplicação (APIs) bem definidas que podem ser implantadas de forma independente. Esses serviços são de propriedade de pequenas equipes autônomas. Essa abordagem ágil é essencial para escalar a organização com êxito.
Três padrões comuns foram observados quando os clientes da AWS criam microsserviços: orientado por API, orientado por eventos e transmissão de dados. Este whitepaper apresenta todas as três abordagens e resume as características comuns dos microsserviços, aborda os principais desafios de criação de microsserviços e descreve como as equipes de produto podem utilizar a Amazon Web Services (AWS) para superar esses desafios.
Devido à natureza bastante envolvente de vários tópicos discutidos neste whitepaper, como armazenamento de dados, comunicação assíncrona e descoberta de serviços, é recomendável considerar os requisitos e casos de uso específicos de suas aplicações, bem como as orientações fornecidas, antes de fazer escolhas arquitetônicas.
Introdução
As arquiteturas de microsserviços não são uma abordagem totalmente nova da engenharia de software, mas uma combinação de vários conceitos bem-sucedidos e comprovados, como:
-
Desenvolvimento de software ágil
-
Arquiteturas orientadas a serviços
-
Projeto voltado a APIs
-
Integração e entrega contínuas (CI/CD)
Em muitos casos, os padrões de projeto da aplicação de 12 fatores
Este whitepaper primeiro descreve os diferentes aspectos de uma arquitetura de microsserviços altamente escalável e tolerante a falhas (interface do usuário, microsserviços, implementação e datastore) e como criá-la na AWS usando tecnologias de contêiner. Em seguida, recomendamos os serviços da AWS para implementar uma arquitetura de microsserviços sem servidor típica e reduzir a complexidade operacional.
A arquitetura sem servidor é definida como um modelo operacional baseado nos seguintes princípios:
-
Nenhuma infraestrutura para provisionar ou gerenciar
-
Escalabilidade automática por unidade de consumo
-
Modelo de faturamento pague pelo valor
-
Recursos incorporados de disponibilidade e tolerância a falhas
Por fim, este whitepaper aborda o sistema geral e discute os aspectos entre serviços de uma arquitetura de microsserviços, como monitoramento e auditoria distribuídos, consistência de dados e comunicação assíncrona.
Este whitepaper se concentra apenas nas workloads executadas na Nuvem AWS. Ele não abrange cenários híbridos ou estratégias de migração. Para obter mais informações sobre migração, consulte o whitepaper Metodologia de migração de contêineres