Size: a a a

Архитектура ИТ-решений

2019 August 15

MS

Maxim Smirnov in Архитектура ИТ-решений
Phil Delgyado
Да нет никакой разницы между http get и прямым вызовом процедуры. Кроме того, что для http get нет ни нормальных инструментов проверок зависимостей, синтаксиса и т.п.
Удаленные процедуры - это такой сильно улучшенный http get.
Разница, между получением репрезентации ресурса методом HTTP GET и RPC есть. Ну, если мы придерживаемся одинаковых  определений этих действий :-)
источник

AL

Alexander Luchkov in Архитектура ИТ-решений
Phil Delgyado
Я вот потихоньку думаю, что для сложных систем задача уже не про "связность между постановкой и поведением", а про "как бы упросить систему вести себя близко к нужному". И "как понять, когда появляется что-то не нужное".
И тут, конечно, хочется каких-то инструментов управления взаимодействием, но пока удобных и эффективных решений я не видел (хотя регулярно пытаюсь что-то придумать, но оно работает для относительно небольших систем и относительно недолгое время). А вот про 100+ сервисов (не микро) и 10+ лет развития в сложной среде - это сложно (
Целое поле для деятельности)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Maxim Smirnov
Разница, между получением репрезентации ресурса методом HTTP GET и RPC есть. Ну, если мы придерживаемся одинаковых  определений этих действий :-)
А какая там разница-то?
(Ну, если забыть о том, что куча интересных вещей в концепцию работы с ресурсами вообще не укладываются...)
источник

RT

Roman Tsirulnikov in Архитектура ИТ-решений
Phil Delgyado
А какая там разница-то?
(Ну, если забыть о том, что куча интересных вещей в концепцию работы с ресурсами вообще не укладываются...)
Если ты про CRUD - эту ересь написал Фаулер, Рой Филдинг в своем определении REST очень даже допускает логические операции, где ресурс это буквально адрес вызова функции
источник

SG

Sergey Grashchenko in Архитектура ИТ-решений
Roman Tsirulnikov
Я бы предложил рассматривать архитектуру более-менее сложного продукта (мы недавно считали сервисы - получилось 540)  больше не с точки зрения инструментальных средств, а скорее с позиций:
1) декомпозиции прикладной задачи на сущности-действия
2) инженерии систем, как правильно разложить поведение по системам

когда система становится достаточно сложна, тривиальные методы не работают.
Это и проблема и возможность одновременно.
Я ожидаю прихода методик инженерии систем в ИТ в виде нового класса инструментов
Проблему формулируте верно, ожидания не совсем. Инструменты есть, тысячи их, и их можно создать под конкретные задачи самому. Есть анализаторы графов на самых разных scopes, есть контракты, есть автоматизация контрактов (aka grpc), есть мониторинги и circuit breakerы. Вопрос в том что вы никогда не внедрите единый инструмент/методику на 300+ разработчиков и 10 mloc. Не успеете-) проблема исключительно процедурная/социальная.
источник

SG

Sergey Grashchenko in Архитектура ИТ-решений
Или будет как недавно в новостях - "гб решило всех архитекторов унифицировать. Черепомерки закупили"
источник

MS

Maxim Smirnov in Архитектура ИТ-решений
Phil Delgyado
А какая там разница-то?
(Ну, если забыть о том, что куча интересных вещей в концепцию работы с ресурсами вообще не укладываются...)
Возможности кэширования ответов на GET запрос достаточно будет в качестве примера различия или это тоже не существенно?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Roman Tsirulnikov
Если ты про CRUD - эту ересь написал Фаулер, Рой Филдинг в своем определении REST очень даже допускает логические операции, где ресурс это буквально адрес вызова функции
Угу, но эту ересь подхватили все подряд, увы. Так что сведение системы к GET на данные и POST на операции (REST level 1, кажется) приходится пробивать силой даже в приличных командах.
А по умолчанию все стоят API на Rest level 2, с фиктивными коллекциями и прочей неочевидной семантикой - потому что "так правильно".
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Maxim Smirnov
Возможности кэширования ответов на GET запрос достаточно будет в качестве примера различия или это тоже не существенно?
А в чем пробема сделать кэширование на нужных функциях в RPC? А делать на всех вообще функциях - опасно )
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Вообще кэшировать результаты вызова  - плохая идея, кэшировать надо модели...
источник

RT

Roman Tsirulnikov in Архитектура ИТ-решений
Sergey Grashchenko
Проблему формулируте верно, ожидания не совсем. Инструменты есть, тысячи их, и их можно создать под конкретные задачи самому. Есть анализаторы графов на самых разных scopes, есть контракты, есть автоматизация контрактов (aka grpc), есть мониторинги и circuit breakerы. Вопрос в том что вы никогда не внедрите единый инструмент/методику на 300+ разработчиков и 10 mloc. Не успеете-) проблема исключительно процедурная/социальная.
+1
мне кажется неверен сам подход - попытка нарисовать умозрительную модель. обречена на провал, слишком сложная задача в большой организации с десятками аджайл-команд, которые непрерывно делают изменения.
Согласование всех интеграций через главного архитектора — путь в никуда, все проекты встанут на согласовании,
либо в организации появится "теневая" система про которую архитекторам просто не расскажут.
источник

RT

Roman Tsirulnikov in Архитектура ИТ-решений
Видимо ответ в Governance: гайд об архитектуре в организации, которые команды должны исполнять уже без привлечения архитектора.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
С прописанным процессом изменения этого гайда )
источник

RT

Roman Tsirulnikov in Архитектура ИТ-решений
Gihub/Bitbucket/Gitlab на выбор и не надо велосипедов
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, это не процесс, это место хранения )
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Кто pull request ревьюит?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А то начнется война правок )
источник

RT

Roman Tsirulnikov in Архитектура ИТ-решений
Phil Delgyado
Кто pull request ревьюит?
Архитекторы, min 2 апрува
источник

RT

Roman Tsirulnikov in Архитектура ИТ-решений
подать изменение может любой человек
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, вот это не всегда норм, иногда нужны другие подходы (например, если архитекторов много...)
А иногда желающих подать изменения многовато.
А иногда надо бы явно обосновать измнение и это отдельный документ
В общем, много там процессных вещей )
источник