System Design Space

    Глава 57

    Обновлено: 15 февраля 2026 г. в 12:20

    Continuous Architecture in Practice (short summary)

    Прогресс части0/14

    Источник

    Книжный клуб CoA

    Материал главы основан на разборе книги в книжном клубе Code of Architecture

    Читать оригинал

    Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps

    Авторы: Murat Erder, Pierre Pureur, Eoin Woods
    Издательство: Addison-Wesley Professional
    Объём: 352 страниц

    6 принципов непрерывной архитектуры: от проектов к продуктам, quality attributes, delay decisions и архитектура для DevOps.

    Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps — оригинальная обложкаОригинал

    Связанная книга

    Building Evolutionary Architectures

    Fitness Functions, эволюция архитектуры и architectural quantum

    Читать обзор

    6 принципов Continuous Architecture

    6 принципов Continuous Architecture

    ContinuousArchitecture1
    Продуктовый подход
    2
    Фокус на NFR
    3
    Отложенные решения
    4
    Готовность к изменениям
    5
    Полный жизненный цикл
    6
    Inverse Conway
    Наведите на принцип или нажмите «Показать все» для демонстрации

    Первый стрим: Главы 1–2

    Глава 1: Why Software Architecture is More Important Than Ever

    Архитектура в мире Agile, архитектура в облаке, роль архитектора как «не добавляющего ценность». Определение Continuous Architecture и набор принципов. Описание сквозного case study.

    Глава 2: Architecture in Practice — Essential Activities

    • Принятие и governing архитектурных решений
    • Атрибуты качества и технический долг
    • Циклы обратной связи: Fitness Functions, Continuous Testing
    • Модели и нотации для описания архитектуры
    • Архитектура как поток принятия решений

    Гость стрима

    Максим Смирнов — ИТ-архитектор, автор канала «Архитектура ИТ-решений». В прошлом главный архитектор билайна, Банка России и Бинбанк Диджитал.

    Связанная книга

    Learning Domain-Driven Design

    DDD, Bounded Contexts, Event Sourcing и интеграционные паттерны

    Читать обзор

    Второй стрим: Главы 3–4

    Глава 3: Data Architecture

    • DDD: Ubiquitous Language и Bounded Contexts
    • Polyglot Persistence: SQL/NoSQL
    • Модели консистентности и Eventual Consistency
    • Event Sourcing
    • Data Ownership и аналитика
    • Эволюция схемы в SQL и NoSQL

    Глава 4: Security as an Architectural Concern

    • CIA триада: Confidentiality, Integrity, Availability
    • Идентификация и приоритизация угроз
    • Threat Modeling
    • Shift-Left Security
    • Zero Trust Architecture

    Упомянутые материалы

    NIST SP 800-63: Authenticator Assurance Levels
    FIDO2: Web Authentication (WebAuthn)
    HashiCorp Vault: Secrets Management
    Zero Trust Architecture (NIST)

    Гости стрима

    • Вацлав Довнар — независимый консультант по процессам безопасной разработки
    • Дмитрий Гаевский — инженер dev-to-dev решений, RnD и event-driven систем

    Связанная книга

    Site Reliability Engineering

    SLO, error budgets, мониторинг и четыре золотых сигнала от Google

    Читать обзор

    Третий стрим: Главы 5–6

    Глава 5: Scalability

    Архитектурные подходы к масштабированию:

    • Stateless нагрузки
    • Stateful нагрузки
    • Горизонтальное и вертикальное масштабирование

    Глава 6: Performance

    Производительность как архитектурная характеристика:

    • Почему performance важна
    • Мониторинг производительности
    • Техники оптимизации

    Упомянутые материалы

    Requirements Engineering for Software and Systems
    Architecting for Scale (Lee Atchison)
    AWS Well-Architected Framework
    Статья Ozon про кеширование

    Гости стрима

    • Алексей Тарасов — развивает архитектуру Тинькофф Инвестиций
    • Даниил Кулешов — архитектор новой системы авторизации

    Связанная книга

    Release It!

    Паттерны устойчивости: Circuit Breaker, Bulkhead, Timeouts

    Читать обзор

    Четвёртый стрим: Главы 7–9

    Глава 7: Resilience

    Устойчивость как архитектурная характеристика. Паттерны: Circuit Breaker, Bulkhead, Retry, Timeout.

    Глава 8: Emerging Technologies

    AI и Blockchain — их влияние на архитектуру программного обеспечения.

    Глава 9: Conclusion

    Подведение итогов книги и рекомендации по внедрению Continuous Architecture.

    Упомянутые материалы по Resilience

    Site Reliability Engineering (Google)Building Secure and Reliable Systems
    AWS Fault Isolation Boundaries (whitepaper)
    Deployment Archetypes for Cloud (Google)
    A Philosophy of Software Design
    Release It! (Michael Nygard)

    Гости стрима

    • Евгений Пешков — техлид, основатель сообщества DDDevotion
    • Сергей Баранов — архитектор, основатель конференции ArchDays

    Источник

    Telegram: book_cube

    Пост Александра Поломодова о Resilience

    Читать пост

    Resilience как архитектурная характеристика

    Базовая терминология

    Fault (сбой)

    Случайное условие, которое при возникновении может привести к отказу системы или её компонента.

    Failure (отказ)

    Ситуация, когда система отклоняется от требуемого поведения. Fault — причина, Failure — следствие.

    Availability (доступность)

    Измеримая характеристика: отношение времени доступности к общему времени работы системы.

    Reliability (надёжность)

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

    High-Availability vs Resilience

    Старый подход: High-Availability

    • Кластеры приложений и баз данных
    • Cross-site репликация данных
    • Hot standby для аварийного переключения

    Проблемы: сложность, высокая стоимость, долгий failover, полная недоступность во время восстановления

    Новый подход: Resilience

    • Каждая часть системы сама отвечает за устойчивость
    • Адаптивное поведение при сбоях
    • Ограничение распространения ошибок (blast radius)

    Преимущества: гибкость, graceful degradation, быстрое восстановление отдельных компонентов

    Ключевой инсайт: High-Availability был рассчитан на монолитные on-premise системы. Для распределённых микросервисных систем (on-premise или в облаке) Resilience — более подходящий подход.

    MTBF vs MTTR

    MTBF

    Mean Time Between Failures

    Среднее время наработки на отказ. Фокус High-Availability подхода: максимизировать время между сбоями.

    MTTR

    Mean Time To Recover

    Среднее время восстановления. Фокус Resilience подхода: минимизировать время восстановления и blast radius.

    Сдвиг парадигмы: В современных системах сбои частей происходят достаточно часто. Вместо попыток предотвратить все сбои (MTBF), важнее научиться быстро восстанавливаться (MTTR) и ограничивать влияние сбоев.

    Механизмы обеспечения Resilience

    Повторные запросы

    Retry с exponential backoff

    Автоматический перезапуск

    Self-healing процессов

    Circuit Breaker

    Размыкание цепи при сбоях

    Bulkhead

    Изоляция отсеков системы

    Timeout

    Корректная работа с latency

    Fallback

    Запасные варианты ответа

    Дополнительные ресурсы

    Где найти книгу