Методология управления взрывом микроуслуг - PullRequest
0 голосов
/ 30 августа 2018

Микросервисы сейчас в тренде, и большинство из них разработано в облаке. У меня есть ситуация, когда мы разлагаем большинство монолитных служб на микросервисы уровня домена . В каждой проблемной области только несколько сервисов.

В облаке Amazon каждый отдельный сервис будет реализован в виде нескольких лямбда-функций. Так как 100s функций каждая выполняет определенный вид деятельности, развертывается отдельными конвейерными заданиями каждая .

Объем функций может потенциально увеличиться до порядка 1000 с в очень ближайшем будущем. Это по сравнению с 40 монолитными приложениями, которые мы имеем сегодня. Есть ли способ группировки, визуализации, показателей использования аккаунта, стоимости и т. Д.?

Ситуация будет похожа или сложна, чем ад XML, который мы видели в более ранней версии Spring Framework.

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Прежде всего, вы можете рассмотреть такую ​​среду, как Chalice, если вы переходите на микросервисы в Lambda. Это поможет уменьшить разрастание служб, но каждый случай индивидуален, и все зависит от того, где вы рисуете свои ограниченные контексты.

Если говорить о том же опыте, с которым вы начинаете, то вам захочется инвестировать значительные средства в несколько областей. Во-первых, важно иметь последовательный подход к ведению журнала. Вы хотите последовательно отправлять журналы в одну службу агрегирования журналов, чтобы вы могли легко запрашивать все службы для получения метрик. В этом могут помочь CloudWatch, Sumo Logic и т. Д. Также используйте X-Ray, чтобы получить более подробную информацию.

Вы также можете рассмотреть возможность добавления некоторой автоматизации в ваш конвейер CI / CD для создания документации на Swagger или чего-то подобного. Это должно быть сделано так, чтобы результат был каталогом с возможностью поиска Из всех услуг со всей необходимой документацией. Мой опыт связан с выполнением этого с помощью Swagger UI и некоторого пользовательского HTML, который генерируется и разворачивается при каждом задании сборки.

Последняя рекомендация - инвестировать в тестирование. Контрактное тестирование и тестирование обратной совместимости является ключом к тому, чтобы уберечь себя от развертывания критических изменений. Я также добавил бы переключатели функций в качестве еще одной клавиши, которая может идти рука об руку здесь.

Удачи в этом деле!

0 голосов
/ 31 августа 2018

AWS Lambda поддерживает теги. Это самый чистый способ понять биллинг на Lambda по тегам.

Вы можете пометить свои микросервисы для распределения затрат и выставления счетов.

Подробнее об этом:

https://docs.aws.amazon.com/lambda/latest/dg/tagging.html

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...