Перейти к основному содержимому
DevScallix
← Solution ArchitectureПланируется

Solution Architecture: Модули

Программа учит проходить путь от бизнес-требований к обоснованной архитектуре решения: делать атрибуты качества измеримыми, выбирать стиль и паттерн интеграции, проектировать данные и безопасность, оценивать компромиссы облака и стоимости. Результат - решение, описанное через C4 и ADR и прошедшее ревью.

  1. 01

    Требования, атрибуты качества и ограничения

    Превратить расплывчатое бизнес-желание в проверяемые сценарии качества.

    • Функциональные и нефункциональные требования
    • Формат сценария атрибута качества
    • Ограничения: бюджет, команда, регулирование, legacy
    • Компромиссы между атрибутами
    • Выявление неоднозначности в требованиях

    Лабораторная: По заданному бизнес-описанию подготовить восемь сценариев качества и приоритизированный список ограничений.

  2. 02

    Архитектурные стили и границы

    Оценивать выбор стиля в контексте команды, требований и стадии роста.

    • Компромиссы монолита, модульного монолита и микросервисов
    • Границы домена и bounded context
    • Событийная архитектура и её цена
    • Layered и hexagonal: где какой уместен
    • Эволюционная архитектура и пути миграции

    Лабораторная: Подготовить два варианта стиля для одних и тех же требований, сравнительную таблицу и рекомендацию.

  3. 03

    Паттерны интеграции

    Строить надёжные и устойчивые к изменениям связи между системами.

    • Выбор между синхронным API и асинхронными сообщениями
    • Идемпотентность, повторы и паттерн outbox
    • Версионирование API и эволюция контракта
    • Anti-corruption layer и внешние системы
    • Saga и альтернативы распределённым транзакциям

    Лабораторная: Спроектировать поток интеграции с платёжным провайдером и складской системой и свести сценарии отказов в таблицу.

  4. 04

    Архитектура данных

    Балансировать владение данными, консистентность и потребности отчётности.

    • Данные каждого сервиса и риск общей базы
    • Выбор между строгой и итоговой консистентностью
    • CQRS, read-модели и кеш
    • Миграция данных и подходы без простоя
    • Разделение аналитических и операционных данных

    Лабораторная: Карта владения данными для домена заказов и план миграции с legacy-базы.

  5. 05

    Архитектура безопасности

    Закладывать безопасность в дизайн, а не добавлять её сверху.

    • Моделирование угроз (STRIDE)
    • Аутентификация, авторизация и потоки OAuth 2.0 / OIDC
    • Границы доверия и сегментация сети
    • Управление секретами и шифрование
    • Проверка по OWASP API Security Top 10

    Лабораторная: Для заданного решения построить диаграмму границ доверия, список угроз и меры снижения.

  6. 06

    Облако, отказоустойчивость и стоимость

    Связать модель развёртывания, устойчивость и стоимость с требованиями.

    • Managed-сервис или самостоятельная эксплуатация
    • Отказоустойчивость на нескольких зонах, RTO и RPO
    • Цена сложности и зависимость от вендора
    • Моделирование ёмкости и стоимости
    • Требования к observability в архитектуре

    Лабораторная: Таблица компромиссов устойчивости и стоимости для двух вариантов развёртывания (числа фиксируются как допущения).

  7. 07

    Документирование с C4 и ADR

    Держать архитектуру понятной для разных аудиторий и пригодной для обновления.

    • C4: уровни context, container, component
    • Что показывать и не показывать на каждом уровне
    • Связь ADR и диаграмм
    • Актуальность документации и её владелец
    • Dynamic- и deployment-диаграммы

    Лабораторная: Набор диаграмм C4 от context до component для учебного кейса.

  8. 08

    Архитектурное ревью и работа с командой разработки

    Донести архитектурное решение до команды и сохранить его при реализации.

    • Форматы и критерии архитектурного ревью
    • Облегчённый подход в духе ATAM
    • Fitness function и автоматические проверки
    • Сотрудничество с командой разработки
    • Управление отклонением от решения

    Лабораторная: Провести учебное архитектурное ревью решения другого участника и оформить письменный результат.

Вернуться на страницу программыЗадать вопрос о плане