Hoje vamos nos concentrar em modelos que permitem que nossas equipes criem novos microsserviços em apenas alguns minutos. Contaremos como funciona e por que essa história não é apenas sobre a automação do trabalho manual, mas sobre a eficácia do desenvolvimento como tal.
Muitos desenvolvedores usam modelos de uma forma ou de outra. Na maioria das vezes, eles copiam o código de projetos mais antigos para economizar tempo. Do nosso ponto de vista, essa prática tem várias desvantagens ao mesmo tempo:
1. Você pode escolher um microsserviço malsucedido para cópia - com elementos ausentes, configurações incorretas etc.
2. Se os desenvolvedores não tiverem um benchmark, o risco de erros adicionais aumenta. Isso significa que alguém terá que gastar mais tempo para consertá-los.
3. Sempre há o risco de ignorar elementos importantes, não perceber um pipeline ausente, usar uma versão antiga da biblioteca, especificando autorização incorreta ou configurações de registro.
Em geral, se uma operação se repete de vez em quando, já vale a pena ser automatizada. Mas economizar tempo está longe de ser a principal vantagem de implementar um modelo.
O que o modelo de microsserviço faz
Um modelo de microsserviço é um bloco de construção de um produto de software, um bloco de construção que pode ser reutilizado de projeto a projeto.
– , , ( ). , .
, :
. - .
, time-to-market. , .
Production Ready. , , Feature Flags, .
. «» – , , , . .
, , .. , , – .
- , . , – . .
Rest API, , ,
(CI/CD)
, Observability, , , health check monitoring
, : Git , Jenkins/Gitlab.
.Net
Microsoft Visual Studio :
Web API Project - -, HTTP-.
Data base project – .
HTTP Service client project –
MassTransit consumers project – RabbitMQ.
Job Project – - .
. UI, :
Visual Studio , .
, , . : , , . – -, ..
Qual é o próximo? - Vamos replicar essa experiência para outras equipes. Queremos preservar a integridade do modelo tanto quanto possível e, ao mesmo tempo, torná-lo universal para uso em diferentes projetos. Estaremos criando modelos para todas as plataformas. Asseguraremos assim um nível de qualidade uniforme e um conjunto único de melhores práticas, independentemente das condições de cada caso.