Читаю довольно свежую книгу "Building Microservices. Designing Fine-Grained Systems", Sam Newman
Первая самая мощная рекомендация, которую я считаю, очень важной - это внедрение агреггированной системы логирования.
Это система, которая будет собирать и формировать общий лог со всех микросервисов, которые находятся в системе.
Действительно, когда довольно большая система разбита на части с некоторыми, порой весьма неожиданными законами взаимодейтсвия, определение истинных источников некорректной работы системы может стать вашим самым страшным кошмаром, при котором надо залезать в разные системы и ломать голову, что же тут могло пойти не так. Да, сценарии тестирования могут помочь, но не являются панацеей. А вот система логов, которая собирает все данные в одном месте, строго соблюдая хронологию - вещь незаменимая.
Автор настолько серьезно относится к этой рекомендации, что указывает на необходимость этого условия "по умолчанию" - т.е. сначала обеспечьте общее логирование, а затем уже пилите свои микросервисы.
Также эта аггрегация может являться центром ваших уведомлений по любым проблемам, происходящим в системе.
Подписываюсь под каждым словом ))