Микросервисы ничего не знают о существовании друг друга: работают со своей базой данных, API и сообщениями в очереди. Каждый микросервис решает только одну бизнес-задачу и старается делать это максимально эффективно за счёт выбора подходящей для него технологий и собственной стратегии масштабирования (рис. 41).
Становится заметна главная черта хорошей архитектуры: сложность системы растёт линейно с увеличением количества микросервисов.
Рис. 41. Разрыв прямых связей между микросервисами
Погружение в контекст для специалистов в IT:
1. Pattern: Microservice Architecture[71].
2. Microsoft Dev School – Микросервисы, чистый PaaS и конкурс «Мисс Россия»[72].
3. Microservices, a definition of this new architectural term[73].
На этом этапе сложные технические задачи решены, поэтому начинаются проблемы на уровне бизнес-задач:
1. Среди сотен микросервисов и разных API заказчик не может понять, какие инструменты есть у него в руках. Пазл складывается в стройные картинки только у энтерпрайз-архитекторов, а их, как известно, очень мало на Земле.
2. Заказчик хочет увидеть лес за деревьями, чтобы понимать, какие есть детали и как из них можно собирать новые продукты, не прибегая к разработке.
3. Сборку новых продуктов из существующих кубиков хочется совместить с продуктовой разработкой, чтобы Владелец продукта[74] сам ориентировался в том, какие ресурсы ему доступны .
Многие компании не идут дальше, потому что на текущем этапе бизнес-задачи уже могут решаться достаточно быстро и эффективно. Тем, кто решает двигаться дальше:
1. Изучите концепцию Citizen Integrator[75]. Для наглядного примера заведите себе пару процессов в Zapier или подобном сервисе.
2. Опишите микросервисы в виде блоков, решающих бизнес-задачу (рис. 42), и сделайте из них конструктор. Это можно сделать: 1) на готовых инструментах, 2) обернуть BPM-движки типа Camunda, 3) написать всё самим с нуля. Все три подхода жизнеспособны. Выбор подхода зависит от стратегии вашей компании и наличии у вас ИТ-архитекторов и хороших программистов. В итоге вы будете мыслить на уровне бизнес-сервисов.
Рис. 42. Объединение микросервисов и сервисы для бизнеса
Погружение в контекст для специалистов в IT:
1. The Microservices Workflow Automation Cheat Sheet[76].
2. Clouds, iPaaS, Citizen Integrator and Why India’s Outsourcing Is Losing Money[77].