Neste tutorial, você implantará um aplicativo monolítico node.js em um contêiner do Docker, e depois desacoplará o aplicativo em microsserviços sem qualquer tempo de inatividade. O aplicativo node.js hospeda um fórum simples com discussões e mensagens entre os usuários.

As arquiteturas monolíticas tradicionais são difíceis de escalar. À medida que a base de códigos de um aplicativo cresce, fica cada vez mais complexo mantê-la e atualizá-la. Apresentar novos recursos, línguas, estruturas e tecnologias fica mais difícil, limitando inovações e novas ideias.

Com uma arquitetura de microsserviços, cada componente do aplicativo roda sozinho e se comunica com outros serviços por meio de uma API bem definida. Os microsserviços são projetados de acordo com as capacidades dos negócios, e cada serviço realiza uma única função. Os microsserviços podem ser escritos com o uso de estruturas e linguagens de programação diferentes, e você pode implantá-los separadamente, como um único serviço ou como um grupo de serviços.

Durante este tutorial, nós mostraremos como você pode executar um aplicativo monolítico simples em um contêiner do Docker, implantar o mesmo aplicativo como microsserviços, e também migrar o tráfego para os microsserviços sem tempo de inatividade. Assim que terminar, você poderá usar este tutorial e o código que há nele como modelo para construir e implantar seus próprios microsserviços em contêineres na AWS.

arquitetura do aplicativo
Arquitetura monolítica

Arquitetura monolítica

O aplicativo node.js todo roda em um contêiner como um único serviço, e cada contêiner apresenta os mesmos recursos que todos os outros contêineres. Caso algum recurso do aplicativo apresente um pico de demanda, a arquitetura toda deve ser escalada.

 
Arquitetura de microsserviços

Arquitetura de microsserviços

Cada recurso de um aplicativo node.js roda como um serviço separado dentro do seu próprio contêiner. Os serviços podem escalar e ser atualizados separadamente dos outros.

Experiência AWS: intermediária

Tempo até a conclusão: 2 horas

Custo para a conclusão: cada serviço usado nesta arquitetura está elegível para o Nível gratuito da AWS. Se você estiver fora dos limites de uso do Nível Gratuito, concluir este tutorial custará menos de 0,25 USD*.

Tecnologia utilizada: para concluir este tutorial, você usará:

*Essa estimativa supõe que você seguirá as configurações recomendadas em todo o tutorial e encerrará todos os recursos em até 24 horas.

**Pode ser que contas criadas nas últimas 24 horas ainda não tenham acesso a todos os recursos necessários para concluir este projeto.