Os microsserviços são uma abordagem arquitetônica alternativa à arquitetura monolítica. Para ajudar a distinguir melhor os microsserviços enquanto arquitetura vale a pena considerar o que são os monólitos.
O monólito é, principalmente, um deploy unificado. Quando todas as funcionalidades de uma aplicação devem ter seu deploy juntas, a aplicação é considerada um monólito.
O monólito de um único processo: todo o código é empacotado em um único processo.
O monólito modular: uma variação na qual o processo único consiste em módulos separados. Cada um pode ser trabalhado independentemente, mas todos ainda precisam ser combinados para o deploy.
O monólito distribuído: um monólito distribuído é um sistema que consiste em vários serviços, mas por qualquer motivo, todo o sistema deve ter deploy em conjunto. Emergem de ambientes que não dão foco suficiente para a coesão do negócio e ocultamento de informações – gerando uma arquitetura altamente acoplada. Os monólitos distribuídos têm todas as desvantagens de um sistema distribuído, e as desvantagens de um único processo monólito, sem ter vantagens suficientes de ambos.
Quanto mais e mais pessoas trabalham no mesmo lugar, elas afetam o trabalho uma da outra. Por exemplo, diferentes desenvolvedores podem querer mudar o mesmo pedaço de código.
Uma arquitetura de microsserviços oferece limites concretos em torno dos quais as linhas de propriedade podem ser traçadas em um sistema, dando-lhe muito mais flexibilidade e reduzindo os problemas do trabalho em equipe.
Deixe um comentário