Прежде всего, вы можете рассмотреть такую среду, как Chalice, если вы переходите на микросервисы в Lambda. Это поможет уменьшить разрастание служб, но каждый случай индивидуален, и все зависит от того, где вы рисуете свои ограниченные контексты.
Если говорить о том же опыте, с которым вы начинаете, то вам захочется инвестировать значительные средства в несколько областей. Во-первых, важно иметь последовательный подход к ведению журнала. Вы хотите последовательно отправлять журналы в одну службу агрегирования журналов, чтобы вы могли легко запрашивать все службы для получения метрик. В этом могут помочь CloudWatch, Sumo Logic и т. Д. Также используйте X-Ray, чтобы получить более подробную информацию.
Вы также можете рассмотреть возможность добавления некоторой автоматизации в ваш конвейер CI / CD для создания документации на Swagger или чего-то подобного. Это должно быть сделано так, чтобы результат был каталогом с возможностью поиска
Из всех услуг со всей необходимой документацией. Мой опыт связан с выполнением этого с помощью Swagger UI и некоторого пользовательского HTML, который генерируется и разворачивается при каждом задании сборки.
Последняя рекомендация - инвестировать в тестирование. Контрактное тестирование и тестирование обратной совместимости является ключом к тому, чтобы уберечь себя от развертывания критических изменений. Я также добавил бы переключатели функций в качестве еще одной клавиши, которая может идти рука об руку здесь.
Удачи в этом деле!