Jest to głównie problem z komunikacją, ale błędy mogą być mniej prawdopodobne dzięki prostym środkom technicznym i organizacyjnym. Po pierwsze, powinieneś dostarczyć dobrą, wysokiej jakości dokumentację wszystkich wpisów w plikach konfiguracyjnych, a także łatwo dostępny przykład lub „domyślny” plik konfiguracyjny. Przykładowy plik może zostać automatycznie wdrożony w każdym środowisku, ponieważ nie jest przeznaczony do bezpośredniej zmiany przez zespół prod.
Następnie, z każdą nową wersją, dostarczaj dziennik zmian, w którym dokumentowane są ważne zmiany. Zmiany w konfiguracji, które mogą uniemożliwić działanie systemu, gdy go brakuje, są zawsze ważne, więc upewnij się, że informacje tam są.
Załóżmy na przykład, że zespół programistów dodaje kilka par klucz-wartość do application.properties w swoim środowisku. Jaki byłby najlepszy sposób rejestrowania tych nowych kluczy, aby podczas wdrażania w zespole operacyjnym wiedzieli dokładnie, które klucze należy dodać, aby zminimalizować ryzyko uruchomienia nowej usługi i jej awarii z powodu braku klucza?
Najlepszym sposobem na zmniejszenie ryzyka niepowodzenia jest uniknięcie zmiany aplikacji w taki sposób, aby wymagała nowych kluczy, dlatego aplikacja powinna być kompatybilna wstecz ze starszymi plikami konfiguracyjnymi, gdy tylko jest to możliwe. Często aplikacja może zachowywać się w rozsądny sposób, podając wbudowane wartości domyślne dla nowych kluczy w przypadku ich braku.
Jeśli jednak nie jest to możliwe, Twój system powinien maksymalnie ułatwić zespołowi prod, aby dowiedzieć się, dlaczego nowa usługa nie uruchamia się, gdy brakuje klucza. Powinien pojawić się wyraźny komunikat o błędzie, informujący dokładnie, którego klucza brakuje w jakim pliku , a jeśli to konieczne, gdzie znaleźć informacje o brakującym kluczu lub wskazówkę lub przykład na temat znaczącej pozycji dla tego klucza.
Jeśli konfiguracja jest złożona, a format zmienia się w taki sposób, że ręczna edycja staje się podatna na błędy, możesz również rozważyć udostępnienie narzędzi do edycji konfiguracji i migracji do nowszej wersji.
Na przykład korzystam z przeglądarki internetowej Firefox i wraz z każdą nową wersją (którą otrzymuję automatycznie) do konfiguracji lokalnej dodawane są pewne elementy, które można sprawdzić na stronie „about: config”. Jest to porównywalne z konfiguracją w środowisku „produkcyjnym”. Ponieważ cała konfiguracja jest ściśle zgodna z poprzednimi wersjami, nigdy nie muszę ręcznie dodawać nowych kluczy do konfiguracji tylko dlatego, że pojawiła się nowa wersja przeglądarki. W przypadku, gdy chcę coś tam zmienić (być może nowy wpis, który nie był częścią poprzedniej wersji), albo używam menu Narzędzia / Opcje, albo strony „about: config” i mogę znaleźć wpis plus trochę rodzaj dokumentacji. Dlatego zalecam próbę wdrożenia systemu w podobny sposób.