WikiBars

Содержание

Выработка решений

  • Предположения

  • Выбор технологий (котлин, фреймворки, где запускать - кубер/ранчер)

  • Проектирование

  • Оценка - сколько стоит реализация решения?

    • небольшая фича может пол года занять
    • другая фича реализуется быстрее и тоже принесет деньги - это правильнее выбрать на реализацию

Коммуникации

  • Стейкхолдеры

  • Командам - приносит командам конечное решение - управляет ожиданиями

  • Другим архитекторам (не может быть экспертом во всем)

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

  • Как сделано? Какие компоненты в системе? Как развернуто приложение? Какие контракты? Какие предположения сделаны?

  • Почему именно так? (нет неверных архитектур - есть дорогие и неподходящие)

  • Диаграммы

    • неформальные нотации
    • полуформальныве нотации - C4 model
    • формальные нотации
  • Логи архитектурных решений

  • Гайдлайны - чтобы убедиться что команда разработки сделает все необходимое

Проблемы

  • Как приносить решения большого масштаба?

  • Где хранить логи архитектурных решений и диаграммы?

  • Как избежать централизации принятия решений? Bus фактор

  • Как избежать феномена Ivory Tower? Башня из слоновьей кость - архитектор отрывается от быстрого реального мира

Как приносить решения большого масштаба?

Proposals

  • RFC - Request for Comments - запрос на комментарии к предлагаемому решению
    • документ описания проблемы и вариантов решения
    • выносим на обсуждение другим архитекторам

Где хранить логи архитектурных решений и диаграммы?

  • git

  • wiki

  • Документы

Что хотим? Какие варианты? Плюсы и минусы

Как избежать централизации принятия решений? Bus фактор

Децентрализация

  • Обучение

  • Архитектурные комитеты

  • Архитектурные читалки

Общее

  • Уровень решения - организация

  • ИТ стратегия - нужно понимание хотим ли мы идти в облака, продвигать k8s

  • Подходы, коммуникации, платформы

Что вместо архитектора предприятия?

  • Решения на уровне организации - RFC, ADR...

  • Собственная плптформа: CI/CD, Runtime, Monitiring

  • Передача знаний

  • InnerSourcing - временно отдать члена команды другой команде

  • Тех радар - что пропуем, что решили - используем или нет

Книги

  • Documenting Software Architecture - Почему в 1 диаграмме никогда не сможем описать все что хотим

  • Patterns of Enterprise Application Architecture - Мартин Фаулер

  • Building evolutionary architectures - Мир меняется, как должны меняться системы?

Блоги

  • https://vvsevolodovich.dev

  • https://medium.com/@nvashanin