La mia organizzazione sta vivendo un'esplosione di microservizi. Al momento non esiste un modo formale di avviare il bootstrap di nuovi progetti. Sto scoprendo che un team verrà da me con un bug nel suo processo di distribuzione o compilazione, e ci passerò del tempo solo per rendermi conto di averlo già risolto in un altro progetto. C'è anche molta incoerenza tra i progetti che vorrei vedere standardizzati.
Le modifiche spesso coinvolgono un singolo file (ad es. Serverless.yml o un Makefile), pertanto una soluzione che coinvolge librerie condivise, ad esempio i sottomoduli git, non sembra praticabile. Ogni progetto avrà una propria serie di configurazioni che devono essere mantenute, ad esempio Dockerfiles o serverless.yml, quindi le soluzioni di gestione della configurazione centralizzata per VM non sono realmente applicabili.
Come posso garantire che i nuovi microservizi siano conformi agli standard dell'organizzazione e includano correzioni / funzionalità di progetti esistenti in modo semplice e intuitivo per gli sviluppatori che vogliono avviare nuovi progetti? Quali sono alcune best practice per risolvere questi problemi?
L'attuale flusso di lavoro che abbiamo è di chiedere alla persona accanto a te "da quale progetto dovrei clonare per usare come modello?" e quindi eliminare tutto ciò che non è necessario per quel progetto.