Orquestração e gerenciamento de estados
A natureza distribuída dos microsserviços faz com que a orquestração de fluxos de trabalho envolvendo vários microsserviços seja um desafio. Os desenvolvedores podem querer adicionar código de orquestração diretamente aos serviços deles. Essa abordagem deve ser evitada porque introduz um acoplamento mais alto e dificulta a rápida substituição de serviços específicos.
Você pode usar o AWS Step Functions
O Step Functions é uma forma confiável de coordenar componentes e percorrer as funções do aplicativo. O Step Functions oferece um console gráfico para organizar e visualizar os componentes do aplicativo como uma série de etapas. Isso facilita a criação e a execução de serviços distribuídos.
O Step Functions inicia e rastreia automaticamente todas as etapas e tenta executar novamente aquelas que apresentaram falha para que a aplicação seja executada na ordem e da forma esperadas. O Step Functions registra em log o estado de cada etapa. Quando ocorre algum erro, você pode diagnosticar e depurar rapidamente os problemas. Você pode alterar e adicionar etapas sem escrever código, o que ajuda na evolução do aplicativo e na agilidade da inovação.
O Step Functions faz parte da plataforma sem servidor da AWS e comporta a orquestração de funções do Lambda, bem como aplicações baseadas em recursos de computação, como o Amazon EC2, o Amazon EKS e o Amazon ECS, e serviços adicionais como o Amazon SageMaker
Para criar fluxos de trabalho, o Step Functions usa a Amazon States Language
A figura a seguir mostra um exemplo de fluxo de trabalho para uma arquitetura de microsserviços combinando etapas sequenciais e paralelas. A invocação desse fluxo de trabalho pode ser feita usando a API do Step Functions ou o API Gateway.
![](images/image10.png)
Um exemplo de fluxo de trabalho de microsserviços invocado pelo Step Functions