Mi organización está experimentando una explosión de microservicios. Actualmente no tenemos una forma formal de impulsar nuevos proyectos. Estoy descubriendo que un equipo vendrá a mí con un error en su proceso de implementación o construcción, y dedicaré tiempo solo para darme cuenta de que ya lo resolví en otro proyecto. También hay mucha inconsistencia entre los proyectos que me gustaría ver estandarizados.
Los cambios a menudo involucran un solo archivo (por ejemplo, serverless.yml o un Makefile), por lo que una solución que involucra bibliotecas compartidas, por ejemplo, submódulos git no parece viable. Cada proyecto tendrá su propio conjunto de configuración que debe mantenerse, por ejemplo, Dockerfiles o serverless.yml, por lo que las soluciones de administración de configuración centralizada para máquinas virtuales no son realmente aplicables.
¿Cómo puedo asegurarme de que los nuevos microservicios se ajusten a los estándares de la organización e incluyan correcciones de errores / características de los proyectos existentes de una manera que sea fácil e intuitiva para los desarrolladores que desean comenzar nuevos proyectos? ¿Cuáles son algunas de las mejores prácticas para resolver estos problemas?
El flujo de trabajo actual que tenemos es preguntarle a la persona a su lado "¿de qué proyecto debería clonar para usar como plantilla?" y luego elimine todo lo que no es necesario para ese proyecto.