Minha organização está passando por uma explosão de microsserviços. Atualmente, não temos uma maneira formalizada de inicializar novos projetos. Estou descobrindo que uma equipe me procurará com um bug no processo de implantação ou compilação, e gastarei tempo apenas para perceber que já o resolvi em outro projeto. Também há muita inconsistência entre os projetos que eu gostaria de ver padronizados.
As mudanças geralmente envolvem um único arquivo (por exemplo, serverless.yml ou um Makefile), portanto, uma solução que envolve bibliotecas compartilhadas, por exemplo, sub-módulos git, não parece viável. Cada projeto terá seu próprio conjunto de configurações que precisa ser mantido, por exemplo, Dockerfiles ou serverless.yml, para que soluções de gerenciamento de configuração centralizadas para VMs não sejam realmente aplicáveis.
Como posso garantir que os novos microsserviços estejam em conformidade com os padrões da organização e incluam correções / recursos de projetos existentes de uma maneira fácil e intuitiva para desenvolvedores que desejam iniciar novos projetos? Quais são algumas das práticas recomendadas para resolver esses problemas?
O fluxo de trabalho atual que temos é perguntar à pessoa ao seu lado "de que projeto devo clonar para usar como modelo?" e exclua todas as coisas que não são necessárias para esse projeto.