New We are sorting MAX channels into categories and territories. Read the news
Public channel ID 76936775713522

Архитектоника в ИТ

Канал Александра Межова с заметками про ИТ-архитектуру и разработку.

TG https://t.me/arch_and_dev

Сайт - https://amezhov.ru/blog/

Channels in category
2 093
This channel's rank
№ 1 222
Open category →
Open in MAX

Posts for the period

By reactions

Search and the whole feed — after free registration. Custom dates — with a subscription; the channel owner sees them for free. Sorting by reactions — with a subscription. Sign up

Loading…

Цена архитектурных решений

Многие задаются вопросом, какие решения являются архитектурно значимыми. Но как оценивать их критичность, зачем учитывать обратимость и почему всё это особенно важно сейчас?

М. Нейгард говорит, что значимые решения влияют на структуру, нефункциональные свойства, зависимости, интерфейсы (API), технологии разработки. Однако М. Ричардс и Н. Форд уточняют: решения являются архитектурными тогда, когда нацелены на поддержание важных архитектурных свойств (например, масштабируемости). Без привязки к этому выбор любой технологии – это не архитектурное решение, тем более значимое.

Знакомство с разными кодовыми базами заставило меня посмотреть на это с ещё одной стороны. При изучении системы часто полезно двигаться от понимания предметной области к технической реализации и организации её сопровождения. Это позволяет выделить три взаимосвязанных измерения – уровня:

1️⃣ Предметное. Что и зачем система должна делать? Инварианты, процессы, бизнес-правила.

2️⃣ Техническое. Как система реализует необходимое поведение? Архитектура, интеграции, данные, код.

3️⃣ Организационное. Кто и как обеспечивает её развитие и работу? Владение, процессы, эксплуатация.

А теперь самое важное:

Ошибки, допущенные на верхних уровнях, часто мультиплицируются на последующих, образуя лавинообразный эффект.

Ошиблись при моделировании, неправильно определив статусную модель и отношения между агрегатами и сущностями – обрекли на страдания всех: реализацию, код, службу поддержки и пользователей. Технически корректная реализация воспроизводит ошибочную бизнес-модель.

Однажды выбрали хореографию, потому что так было проще в начале реализации проекта, но при усложнении бизнес-процессов вовремя не перешли на оркестрацию – получили запутанный код, ломающийся при каждом изменении, и бесконечную нагрузку на операционную команду, обречённую на решение проблем с согласованием данных из-за некорректного завершения бизнес-процессов.

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

Таким образом, проблемы возникают не только из-за ошибочных решений, но и из-за решений, которые когда-то были правильными, однако продолжили применяться после изменения исходных предпосылок.

Значимость архитектурного решения определяется не только тем, что оно затрагивает, но и масштабом возможных последствий, стоимостью изменения и обратимостью. Уровень решения помогает оценить потенциальную область распространения его последствий, но не определяет значимость автоматически.

Такой подход полезен и при оценке критичности технического долга, например во время приёмки существующего проекта.

При этом обратимость нужно рассматривать как критерий критичности решения. Одновременно необратимость – это не что-то плохое, но иной уровень ответственности и контроля. Некоторые изменения можно безопасно откатить, другие дорого, третьи невозможно. Поэтому наряду с критериями пересмотра в ADR полезно фиксировать возможность и стоимость обратимости.

Возвращаясь к началу: почему это важно сейчас? Многие задачи адресуются ИИ, команды начинают перестраивать разработку через SDD-подобные решения. При делегировании ИИ важен не столько технический уровень задачи, сколько масштаб последствий решений, которые ИИ получает право принимать самостоятельно. Следовательно, нужны более чёткие критерии того, что можно делегировать ИИ, а за что и как придётся держать ответ самому.

А теперь подумайте и спросите себя, какого уровня решения за вас недавно принимал ИИ? Определены ли границы этих решений и как они контролируются. 😏

#arch #view
Views: 6
Go to post Open in MAX Report an inaccuracy
VKontakte Telegram Odnoklassniki
Favorites at datool.ru

Follow the channel in your account

Sign up at datool.ru to add the channel “Архитектоника в ИТ” to favorites and track its metrics.

Sign up
For channel owners

Verify your channel

Sign in or sign up at datool.ru, then add our bot to the channel following the instructions in your account. Once ownership is verified, the lock disappears and channel management becomes available.

Sign in or sign up

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go