Moja organizacja przeżywa eksplozję mikrousług. Obecnie nie mamy sformalizowanego sposobu ładowania nowych projektów. Odkrywam, że zespół przyjdzie do mnie z błędem w procesie wdrażania lub kompilacji i spędzę na tym czas tylko po to, aby zdać sobie sprawę, że już go rozwiązałem w innym projekcie. Istnieje również duża niespójność między projektami, które chciałbym, aby były znormalizowane.
Zmiany często dotyczą jednego pliku (np. Serverless.yml lub Makefile), więc rozwiązanie obejmujące wspólne biblioteki, np. Podmoduły git, nie wydaje się wykonalne. Każdy projekt będzie miał własny zestaw konfiguracji, który musi być utrzymany, np. Dockerfiles lub serverless.yml, więc scentralizowane rozwiązania do zarządzania konfiguracją dla maszyn wirtualnych nie mają tak naprawdę zastosowania.
Jak mogę się upewnić, że nowe mikrousługi są zgodne ze standardami organizacji i zawierają poprawki / funkcje istniejących projektów w sposób łatwy i intuicyjny dla programistów, którzy chcą rozpocząć nowe projekty? Jakie są najlepsze praktyki dotyczące rozwiązywania tych problemów?
Obecny przepływ pracy polega na zapytaniu osoby znajdującej się obok Ciebie „z którego projektu mam sklonować, aby użyć go jako szablonu?” a następnie usuń wszystkie rzeczy, które nie są konieczne dla tego projektu.