Моя организация переживает взрыв микросервисов. В настоящее время у нас нет формализованного способа запуска новых проектов. Я обнаружил, что команда придет ко мне с ошибкой в процессе развертывания или сборки, и я потрачу на нее время только для того, чтобы понять, что уже исправил ее в другом проекте. Также есть много несоответствий между проектами, которые я хотел бы видеть стандартизированными.
Изменения часто затрагивают один файл (например, serverless.yml или Makefile), поэтому решение с использованием общих библиотек, например, подмодулей git, не представляется жизнеспособным. Каждый проект будет иметь свой собственный набор конфигурации, который необходимо поддерживать, например, Dockerfiles или serverless.yml, поэтому решения по централизованному управлению конфигурациями для виртуальных машин на самом деле не применимы.
Как я могу гарантировать, что новые микросервисы соответствуют стандартам организации и включают исправления / функции из существующих проектов таким образом, чтобы это было легко и интуитивно понятно для разработчиков, которые хотят начать новые проекты? Каковы некоторые передовые методы решения этих проблем?
Текущий рабочий процесс, который мы имеем, состоит в том, чтобы спросить человека рядом с вами "из какого проекта я должен клонироваться, чтобы использовать его в качестве шаблона?" а затем удалите все вещи, которые не нужны для этого проекта.