Домен
Архитектура и проектирование
Профиль навыка
Bounded context, strangler fig, service boundaries, API contracts
Ролей
11
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
26
ещё 19 — необязательные
Архитектура и проектирование
Паттерны микросервисов
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (Go) | Понимает базовые архитектурные концепции Декомпозиция на микросервисы. Следует архитектурным решениям команды. Понимает основные паттерны. | |
| Backend Developer (Node.js) | Понимает базовые архитектурные концепции Декомпозиция на микросервисы. Следует архитектурным решениям команды. Понимает основные паттерны. | |
| Backend Developer (PHP) | Понимает отличия монолитной и микросервисной архитектуры в контексте PHP-разработки. Знаком с концепциями bounded context и domain-driven design, понимает, как Laravel-модули или Symfony-бандлы могут служить основой для будущей декомпозиции монолита на отдельные сервисы. | |
| Technical Product Manager | Обязателен | Понимает концепцию микросервисной архитектуры и принципы декомпозиции. Знает различия между монолитом и микросервисами с точки зрения продуктовых возможностей. Участвует в обсуждениях по определению границ сервисов. |
| Technical Writer | Понимает основы микросервисной архитектуры и её отличия от монолита. Знает ключевые концепции: bounded context, service boundaries, inter-service communication. Умеет документировать отдельный микросервис по шаблону. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Декомпозирует .NET-монолит на микросервисы: выделяет bounded contexts в отдельные ASP.NET Core сервисы, реализует anti-corruption layer с MediatR. Использует Ocelot или YARP как API gateway для миграции по Strangler Fig. Управляет распределёнными транзакциями с оркестрацией Saga через MassTransit. | |
| Backend Developer (Go) | Участвует в декомпозиции Go-монолита на микросервисы: выделяет bounded contexts, проектирует API-контракты через protobuf, реализует межсервисное взаимодействие через gRPC. Понимает trade-offs между монолитом и микросервисами, применяет strangler fig pattern. | |
| Backend Developer (Java/Kotlin) | Декомпозирует Java-монолит на Spring Boot микросервисы: выделяет bounded contexts в отдельные сервисы, реализует anti-corruption layer через Spring Integration. Использует Spring Cloud Gateway для миграции по Strangler Fig. Управляет распределёнными транзакциями с паттерном Saga через Axon Framework или кастомный оркестратор. | |
| Backend Developer (Node.js) | Декомпозирует монолит на Node.js-микросервисы с использованием bounded contexts DDD. Определяет границы сервисов через анализ доменных событий. Реализует паттерн Strangler Fig с маршрутизацией через API gateway. Управляет межсервисным взаимодействием через REST и асинхронный обмен сообщениями (BullMQ, RabbitMQ). | |
| Backend Developer (PHP) | Участвует в декомпозиции PHP-монолита: выделяет bounded contexts, проектирует API-контракты между сервисами, реализует anti-corruption layer. Использует Laravel-пакеты или Symfony-бандлы для модуляризации, настраивает межсервисное взаимодействие через REST/gRPC и асинхронную коммуникацию через очереди. | |
| Backend Developer (Python) | Понимает разницу между монолитом и микросервисами. Знает про service boundaries. Работает в существующей микросервисной архитектуре. Понимает inter-service communication (REST, events). | |
| Engineering Manager | Понимает компромиссы декомпозиции микросервисов для планирования команд: оценивает соответствие топологии команд границам сервисов, анализирует влияние разделения монолита на поставку. Проводит воркшопы по определению bounded contexts с разработчиками. Планирует roadmap миграции, балансируя поставку фич и работу по декомпозиции. | |
| Technical Lead | Принимает решения по декомпозиции микросервисов: определяет bounded contexts через сессии доменного моделирования, формирует контракты сервисов и границы API. Применяет паттерн Strangler Fig для инкрементальной миграции. Устанавливает стандарты межсервисной коммуникации (синхронная vs асинхронная) и правила владения данными между сервисами. | |
| Technical Product Manager | Обязателен | Понимает trade-offs микросервисной декомпозиции для продуктовых решений. Оценивает влияние архитектуры на скорость доставки, независимость команд и operational complexity. Участвует в domain modeling sessions с инженерами. |
| Technical Writer | Документирует микросервисную архитектуру: service catalog, dependency maps, communication patterns (sync/async). Создаёт onboarding guides для новых разработчиков. Документирует service contracts и integration patterns. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Проектирует декомпозицию .NET-микросервисов в масштабе: определяет границы сервисов по DDD с CQRS и event sourcing (EventStoreDB, Marten). Реализует интеграцию с service mesh (Istio sidecar с Kestrel). Проектирует стратегию database-per-service с паттернами eventual consistency. Ведёт миграции по Strangler Fig с сохранением SLA по zero-downtime. |
| Backend Developer (Go) | Обязателен | Проектирует декомпозицию Go-систем: определяет границы сервисов через domain analysis, event storming, data ownership. Реализует saga pattern через Kafka для distributed transactions, проектирует shared libraries и Go SDK для общей функциональности. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует декомпозицию Java-микросервисов в масштабе: определяет границы bounded contexts с CQRS и event sourcing (Axon, Eventuate). Реализует паттерны service mesh (Istio со Spring Boot). Проектирует database-per-service с распределённой оркестрацией Saga. Оценивает компромиссы гранулярности декомпозиции: nano-services vs крупнозернистые сервисы для требований пропускной способности и задержки. |
| Backend Developer (Node.js) | Обязателен | Проектирует microservices: domain-driven decomposition, bounded contexts, API contracts (OpenAPI/AsyncAPI). Реализует: service discovery, circuit breakers (opossum), distributed tracing. |
| Backend Developer (PHP) | Проектирует стратегию декомпозиции PHP-монолита: определяет границы сервисов на основе бизнес-доменов, выбирает паттерны (Strangler Fig, Branch by Abstraction), планирует миграцию данных. Решает проблемы распределённых транзакций через Saga-паттерн и обеспечивает eventual consistency между PHP-сервисами. | |
| Backend Developer (Python) | Обязателен | Проектирует декомпозицию Python-микросервисов: определяет границы bounded contexts, выделяя Django/FastAPI сервисы, реализует CQRS с раздельными моделями чтения/записи. Управляет консистентностью данных через паттерн Saga с Celery или Temporal workflows. Оценивает гранулярность сервисов: балансирует накладные расходы Python-рантайма и преимущества декомпозиции. Реализует контрактное тестирование с Pact. |
| Engineering Manager | Обязателен | Стратегически управляет декомпозицией микросервисов между несколькими командами: выравнивает границы сервисов с когнитивной нагрузкой команд (Team Topologies), управляет организационным дизайном с учётом закона Конвея. Координирует межкомандные зависимости при миграциях по Strangler Fig. Формирует платформенную команду для предоставления service mesh, observability и инфраструктуры деплоя декомпозированных сервисов. |
| Solutions Architect | Обязателен | Проектирует стратегию декомпозиции микросервисов на уровне предприятия: применяет стратегические паттерны DDD (context mapping, upstream/downstream отношения) между бизнес-доменами. Определяет архитектуру service mesh (Istio/Linkerd) с mTLS, управлением трафиком и circuit breaking. Проектирует паттерны CQRS и event-driven для кросс-доменной консистентности данных. Оценивает ROI декомпозиции относительно операционной сложности. |
| Technical Lead | Обязателен | Ведёт сложные инициативы по декомпозиции микросервисов: определяет границы bounded contexts через Event Storming и доменное моделирование. Проектирует миграцию по Strangler Fig с переключением трафика через feature flags. Реализует CQRS с event sourcing для доменов с высокой консистентностью. Устанавливает контракты сервисов, стратегию версионирования и стандарты обратной совместимости. Менторит команды по антипаттернам декомпозиции (распределённый монолит, общие БД). |
| Technical Product Manager | Обязателен | Активно участвует в решениях по микросервисной декомпозиции как TPM. Определяет продуктовые bounded contexts с учётом team topology. Оценивает impact на delivery speed, data consistency и user experience. Ведёт architecture roadmap. |
| Technical Writer | Проектирует систему документирования микросервисного ландшафта: automated service registry docs, event catalog, cross-service sequence diagrams. Обеспечивает документация отражает реальное состояние системы через auto-generation. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (C#/.NET) | Обязателен | Определяет стандарты декомпозиции .NET-микросервисов в организации: формирует референсные архитектуры с CQRS, event sourcing и паттернами Saga. Продвигает adoption service mesh (Istio/Linkerd) с .NET-специфичной настройкой. Проектирует межкомандное governance контрактов сервисов через AsyncAPI и OpenAPI спецификации. Ревьюит предложения по декомпозиции на предмет рисков распределённого монолита. Менторит старших инженеров по стратегическому дизайну DDD и context mapping. |
| Backend Developer (Go) | Обязателен | Руководит процессом декомпозиции Go-монолита: определяет стратегию миграции, приоритизирует выделение сервисов, координирует команды. Устанавливает стандарты межсервисного взаимодействия (gRPC/Kafka), паттерны data mesh и ownership-модель. |
| Backend Developer (Java/Kotlin) | Обязателен | Определяет стандарты декомпозиции Java-микросервисов в организации: формирует референсные архитектуры с Axon/Eventuate для CQRS и event sourcing. Управляет governance service mesh и оркестрацией Saga на уровне платформы. Проектирует межкомандное управление контрактами API через AsyncAPI, OpenAPI и consumer-driven контрактное тестирование. Ревьюит решения по гранулярности декомпозиции. Менторит старших инженеров по стратегическим паттернам DDD и избежанию ловушек распределённого монолита. |
| Backend Developer (Node.js) | Обязателен | Определяет microservices-стандарты: service template (NestJS starter), communication patterns, data ownership. Координирует cross-team service boundaries. |
| Backend Developer (PHP) | Руководит программой декомпозиции PHP-монолита: roadmap выделения сервисов, координация команд, управление рисками. Определяет архитектурные стандарты для PHP-микросервисов: шаблоны сервисов, общие библиотеки, service mesh, стратегию тестирования и деплоймента распределённой системы. | |
| Backend Developer (Python) | Обязателен | Определяет стандарты декомпозиции Python-микросервисов: формирует референсные архитектуры, балансирующие характеристики Python-рантайма с гранулярностью сервисов. Продвигает adoption Temporal/Conductor для оркестрации Saga, gRPC для межсервисных контрактов. Проектирует платформенные паттерны CQRS с FastAPI и event-driven архитектуры. Ревьюит предложения по декомпозиции на предмет рисков производительности. Менторит команды по определению bounded contexts и паттернам владения данными. |
| Engineering Manager | Обязателен | Определяет архитектурную стратегию продукта с Декомпозиция на микросервисы. Формирует architecture guidelines. Проводит architecture review. |
| Solutions Architect | Обязателен | Определяет архитектурную стратегию продукта с Декомпозиция на микросервисы. Формирует architecture guidelines. Проводит architecture review. |
| Technical Lead | Обязателен | Определяет архитектурную стратегию продукта с Декомпозиция на микросервисы. Формирует architecture guidelines. Проводит architecture review. |
| Technical Product Manager | Обязателен | Формирует product-driven decomposition strategy для подразделения. Определяет критерии для split/merge сервисов на основе business domains и team ownership. Координирует архитектурные миграции с minimal product disruption. |
| Technical Writer | Определяет стандарты документирования микросервисов для организации. Каждый сервис имеет обязательный набор документации. Координирует документирование cross-cutting concerns: observability, security, deployment. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (Go) | Обязателен | Определяет организационную стратегию микросервисной архитектуры на Go: стандарты размера сервисов, team topology, platform-as-product подход. Разрабатывает governance-фреймворк для микросервисов, определяет метрики здоровья архитектуры и политики эволюции. |
| Backend Developer (Node.js) | Обязателен | Проектирует microservices-стратегию: decomposition methodology, service mesh, observability platform. Определяет когда microservices оправданы, migration path от монолита. |
| Backend Developer (PHP) | Формирует архитектурную стратегию микросервисной трансформации PHP-экосистемы: оценка готовности организации, эволюционная архитектура, platform engineering. Определяет границы между PHP и другими технологиями (Go, Rust для performance-critical сервисов), проектирует developer experience для микросервисной платформы. | |
| Engineering Manager | Обязателен | Определяет архитектурную стратегию организации. Проектирует reference architectures. Формирует architecture governance. |
| Solutions Architect | Обязателен | Определяет видение и стратегию декомпозиции микросервисов на уровне организации: формирует принципы domain-driven архитектуры, стандарты context mapping и governance границ сервисов для всех бизнес-доменов. Оценивает build-vs-buy для service mesh, платформ event streaming и движков оркестрации. Продвигает architectural fitness functions для качества декомпозиции. Влияет на индустриальные практики через доклады на конференциях и публикации кейсов декомпозиции. Решает конфликты кросс-доменных bounded contexts на уровне C-level. |
| Technical Lead | Обязателен | Определяет философию декомпозиции микросервисов на уровне организации: устанавливает стратегический дизайн DDD как ключевую архитектурную дисциплину, создаёт фреймворки обнаружения bounded contexts для всех команд. Проектирует паттерны эволюционной архитектуры для инкрементальной декомпозиции без big-bang переписывания. Формирует платформенные возможности (service mesh, event backbone, оркестрация Saga) как организационные стандарты. Развивает модель зрелости декомпозиции и процесс архитектурного ревью. Менторит лидов по балансу между идеализмом декомпозиции и прагматичными ограничениями поставки. |
| Technical Product Manager | Обязателен | Определяет enterprise-стратегию микросервисной архитектуры с product lens. Формирует принципы decomposition для новых доменов, определяет migration path для legacy систем. Координирует cross-organization architecture evolution. |
| Technical Writer | Формирует стратегию документирования distributed systems на уровне компании. Определяет как documentation supports platform evolution, service mesh governance и organizational scaling. |