Intelligent Systems Architecture pinned «#итоги Промышленная архитектура программных систем: Параллели со строительством и ключевые черты В разделе вводится новый архитектурный стиль в программной инженерии "Промышленная архитектура программных систем" и проводятся параллели с аналогичным стилем…»
#итоги
Системы и инженерия: Промышленная архитектура как элемент возрождения инженерных подходов в разработке программных систем
В разделе вводятся понятия системы и эмерджентности, инженерии; обсуждаются технические системы и современные вызовы, связанные с использованием Эждайл и микросервисной архитектуры. Также рассматриваются свойства программных систем в контексте промышленной архитектуры и принципы, которыми должны руководствоваться инженеры.
Основные моменты:
- Системы порождают эмерджентность — системный эффект, при котором возникают свойства, не характерные для её отдельных элементов.
- Понимание системного эффекта и применение инженерных подходов являются ключевыми факторами для успешного проектирования сложных программных решений.
- Ключевые свойства программных систем, как технических систем, выполненных в стиле Промышленной архитектуры: наличие потребительских качеств и выполнение полезных функций, способность к многократным изменениям состояния, многоэлементность и наличие множества связей между элементами, иерархичность.
- Применение Эджайл-методов и микросервисной архитектуры часто приводит к хаосу и непредсказуемости в эксплуатации и развитии систем.
- В настоящее время появилась необходимость в систематизации инженерных практик в архитектуре программных систем для создания предсказуемых, экономически эффективных и безопасных решений. В связи с этим предлагается новый стиль — «Промышленная архитектура программных систем».
Начало раздела: https://news.1rj.ru/str/IndustrialSoftwareArchitecture/26
Системы и инженерия: Промышленная архитектура как элемент возрождения инженерных подходов в разработке программных систем
В разделе вводятся понятия системы и эмерджентности, инженерии; обсуждаются технические системы и современные вызовы, связанные с использованием Эждайл и микросервисной архитектуры. Также рассматриваются свойства программных систем в контексте промышленной архитектуры и принципы, которыми должны руководствоваться инженеры.
Основные моменты:
- Системы порождают эмерджентность — системный эффект, при котором возникают свойства, не характерные для её отдельных элементов.
- Понимание системного эффекта и применение инженерных подходов являются ключевыми факторами для успешного проектирования сложных программных решений.
- Ключевые свойства программных систем, как технических систем, выполненных в стиле Промышленной архитектуры: наличие потребительских качеств и выполнение полезных функций, способность к многократным изменениям состояния, многоэлементность и наличие множества связей между элементами, иерархичность.
- Применение Эджайл-методов и микросервисной архитектуры часто приводит к хаосу и непредсказуемости в эксплуатации и развитии систем.
- В настоящее время появилась необходимость в систематизации инженерных практик в архитектуре программных систем для создания предсказуемых, экономически эффективных и безопасных решений. В связи с этим предлагается новый стиль — «Промышленная архитектура программных систем».
Начало раздела: https://news.1rj.ru/str/IndustrialSoftwareArchitecture/26
Telegram
Industrial Software Architecture
Мы немного разобрались с общими чертами Промышленной архитектуры в строительстве и нашли сходство с Промышленной архитектурой программных систем.
Теперь стоит погрузиться во вторую часть названия нового в программной инженерии архитектурного стиля и дать…
Теперь стоит погрузиться во вторую часть названия нового в программной инженерии архитектурного стиля и дать…
👍5🔥1
#оффтоп #холизм
Счёл важным привести пример системного подхода в одном из величайших трудов по стратегии «О войне», Клаузевица:
«В нашем предмете, более чем в каком-либо другом, вместе с частью должно мыслиться целое»
Что важно, автор задаёт эту установку (холизм) с самого начала, во вступительной части.
Счёл важным привести пример системного подхода в одном из величайших трудов по стратегии «О войне», Клаузевица:
«В нашем предмете, более чем в каком-либо другом, вместе с частью должно мыслиться целое»
Что важно, автор задаёт эту установку (холизм) с самого начала, во вступительной части.
👍8
Forwarded from Сообщество Архитекторов (CommunityManager)
57-й выпуск дайджеста для ваших выходных!
Understanding and implementing micro-frontends
on AWS
Руководство от Amazon в части формирования понимания архитектуры микрофронтенда и создания решений микрофронтенда на Amazon Web Services (AWS).
Apache Kafka Cluster Type Deployment Strategies
Несколько кластеров Kafka являются нормой, а не исключением. Варианты использования включают гибридную интеграцию, агрегацию, миграцию и аварийное восстановление. В этой записи
блога рассматриваются реальные истории успеха и кластерные стратегии для различных развертываний Kafka в разных отраслях.
Building A Generative AI Platform
Интересная статья про концептуализацию знаний про приложения с генеративным ИИ. Автор изучил, как компании внедряют приложения генеративного ИИ, и выделил много сходств в их платформах.
В этой статье он описываются общие компоненты платформы генеративного ИИ, что они делают и как они реализуются.
Thinking Like an Architect
Не устаревающая со временем концепция о роли архитектора от Gregor Hohpe. Автор книги «The Software Architect Elevator» недавно делал доклад «Thinking Like an Architect» на конференции
QCon London 2024. Эта статья представляет собой доклад, который начинается с объяснения ролей архитектора и концепции соединения уровней.
Control Flow—The Other Half of Integration Patterns
Еще одна статья от Gregor Hohpe. Он рассматривает концепцию Control Flow (поток управления) в части механизма реализации асинхронных взаимодействий.
Остальные статьи этого выпуска можно найти на Confluence.
Читаем
Understanding and implementing micro-frontends
on AWS
Руководство от Amazon в части формирования понимания архитектуры микрофронтенда и создания решений микрофронтенда на Amazon Web Services (AWS).
Apache Kafka Cluster Type Deployment Strategies
Несколько кластеров Kafka являются нормой, а не исключением. Варианты использования включают гибридную интеграцию, агрегацию, миграцию и аварийное восстановление. В этой записи
блога рассматриваются реальные истории успеха и кластерные стратегии для различных развертываний Kafka в разных отраслях.
Building A Generative AI Platform
Интересная статья про концептуализацию знаний про приложения с генеративным ИИ. Автор изучил, как компании внедряют приложения генеративного ИИ, и выделил много сходств в их платформах.
В этой статье он описываются общие компоненты платформы генеративного ИИ, что они делают и как они реализуются.
Thinking Like an Architect
Не устаревающая со временем концепция о роли архитектора от Gregor Hohpe. Автор книги «The Software Architect Elevator» недавно делал доклад «Thinking Like an Architect» на конференции
QCon London 2024. Эта статья представляет собой доклад, который начинается с объяснения ролей архитектора и концепции соединения уровней.
Control Flow—The Other Half of Integration Patterns
Еще одна статья от Gregor Hohpe. Он рассматривает концепцию Control Flow (поток управления) в части механизма реализации асинхронных взаимодействий.
Остальные статьи этого выпуска можно найти на Confluence.
Читаем
❤5
#оффтоп #комментирую
Прокомментирую пост выше.
Про микрофронтенды
В статье про микрофронтенды сочетание BFF и API Gateway заставляет задуматься: https://docs.aws.amazon.com/prenoscriptive-guidance/latest/micro-frontends-aws/introduction.html
Важный момент - микрофронты, это прежде всего орг паттерн.
В представленном варианте вслед за BFF у команды может появиться, да почти точно появится, свой бэкенд. Если это конечно «чисто фронтовая» команда и бэкенда у неё до сих пор не было.
В иных случаях, от BFF могут «пойти» запросы в обход API Gateway к «своим микросервисам».
Почему так? Потому что появление BFF у отдельной команды может говорить о том, что развитие API (выставленного через API Gateway) и бизнес-логики под ним, не успевает за потребностями команды (на сами деле за потребностями клиентов/заказчиков)
Про Control Flow
Статью Грега Хоупа про Control Flow читать обязательно: https://www.enterpriseintegrationpatterns.com/ramblings/queues_control_flow.html
Грег Хоуп - выдающийся автор.
Напомню, Грег один из авторов книги, которая по сути заложила стандарт (паттерны + набор символов) в интеграции: https://www.enterpriseintegrationpatterns.com/
Кто не читал, читать обязательно!!!
Данная статья - дальнейшее развитие темы интеграции Грегом.
Прокомментирую пост выше.
Про микрофронтенды
В статье про микрофронтенды сочетание BFF и API Gateway заставляет задуматься: https://docs.aws.amazon.com/prenoscriptive-guidance/latest/micro-frontends-aws/introduction.html
Важный момент - микрофронты, это прежде всего орг паттерн.
В представленном варианте вслед за BFF у команды может появиться, да почти точно появится, свой бэкенд. Если это конечно «чисто фронтовая» команда и бэкенда у неё до сих пор не было.
В иных случаях, от BFF могут «пойти» запросы в обход API Gateway к «своим микросервисам».
Почему так? Потому что появление BFF у отдельной команды может говорить о том, что развитие API (выставленного через API Gateway) и бизнес-логики под ним, не успевает за потребностями команды (на сами деле за потребностями клиентов/заказчиков)
Про Control Flow
Статью Грега Хоупа про Control Flow читать обязательно: https://www.enterpriseintegrationpatterns.com/ramblings/queues_control_flow.html
Грег Хоуп - выдающийся автор.
Напомню, Грег один из авторов книги, которая по сути заложила стандарт (паттерны + набор символов) в интеграции: https://www.enterpriseintegrationpatterns.com/
Кто не читал, читать обязательно!!!
Данная статья - дальнейшее развитие темы интеграции Грегом.
Amazon
Understanding and implementing micro-frontends on AWS - AWS Prenoscriptive Guidance
Learn about the advantages and complexities of implementing micro-frontends as a distributed-system approach.
👍6🤝1
#оффтоп
Итоги подводятся с трудом
Пытаюсь переварить нестыковки в терминологии. Похоже никто этим всерьёз не занимался. Не складывается целостная онтология.
А пока, чтобы подать признаки жизни, поделюсь своими наблюдателями и выводами в работе с ChatGPT (AI)
Наблюдения:
1. AI хорошо переводит код с одного языка на другой, если код написан хорошо; похоже, если человеку легко читать код, то и AI воспринимает его без проблем, вероятно, благодаря качественным обучающим данным, на которых он обучен
2. AI прекрасно помогает траблшутить (выявлять и устранять проблемы), но для этого нужно уметь траблшутить и задавать правильные вопросы, что требует опыта
3. AI хорошо генерирует примеры, если запросы точно сформулированы, но это также требует навыков и опыта
Выводы:
1. Уже не мыслю свою деятельность без AI, как помощника
2. AI как помощник в решении сложных задач пока пригоден только для опытных специалистов, поскольку умение задавать правильные вопросы требует глубокого понимания предмета
3. В обозримом будущем AI вряд ли сможет помочь в решении задач, сложнее тех, которые человек способен решить без AI
Итоги подводятся с трудом
Пытаюсь переварить нестыковки в терминологии. Похоже никто этим всерьёз не занимался. Не складывается целостная онтология.
А пока, чтобы подать признаки жизни, поделюсь своими наблюдателями и выводами в работе с ChatGPT (AI)
Наблюдения:
1. AI хорошо переводит код с одного языка на другой, если код написан хорошо; похоже, если человеку легко читать код, то и AI воспринимает его без проблем, вероятно, благодаря качественным обучающим данным, на которых он обучен
2. AI прекрасно помогает траблшутить (выявлять и устранять проблемы), но для этого нужно уметь траблшутить и задавать правильные вопросы, что требует опыта
3. AI хорошо генерирует примеры, если запросы точно сформулированы, но это также требует навыков и опыта
Выводы:
1. Уже не мыслю свою деятельность без AI, как помощника
2. AI как помощник в решении сложных задач пока пригоден только для опытных специалистов, поскольку умение задавать правильные вопросы требует глубокого понимания предмета
3. В обозримом будущем AI вряд ли сможет помочь в решении задач, сложнее тех, которые человек способен решить без AI
👍6
#кейс
К посту выше
С помощью ChatGPT за пару вечеров:
- обернул в FastAPI код несложного, но полноценного (не прототипа) приложения на Python, вообще не зная FastAPI на тот момент
- задокументировал API в Swagger, снабдив работающим примером
- упаковал в Docker (это) приложение на FastAPI вместе с зависимостями на Go
При этом, я много лет программировал на Java, а Python использую только изредка в последние годы, в основном ради удовольствия
К посту выше
С помощью ChatGPT за пару вечеров:
- обернул в FastAPI код несложного, но полноценного (не прототипа) приложения на Python, вообще не зная FastAPI на тот момент
- задокументировал API в Swagger, снабдив работающим примером
- упаковал в Docker (это) приложение на FastAPI вместе с зависимостями на Go
При этом, я много лет программировал на Java, а Python использую только изредка в последние годы, в основном ради удовольствия
👍8🔥2❤1
#кейс
ChatGPT упешно решил задачу распределения ответственности (Responsibility Assignment ) и модульного синтеза
Я подавал описания бизнес-сценариев в ChatGPT и просил распределить их по модулям. ChatGPT успешно вывел структуру модулей и идеально (High Cohesion) распределил сценарии между ними. Примечательно, что шаг выведения функционала из сценариев (определение необходимого функционала для реализации сценариев) был пропущен. Сценарии были описаны на английском, что не стоит игнорировать.
Хотя пример был довольно простым, и я не затрагиваю вопрос «владения» сквозными сценариями, результаты всё же показались мне вдохновляющими.
Вполне может оказаться так, что качественно описанные сценарии (и требования в целом) могут принести дополнительный профит в проектировании, потому что они AI-Friendly
ChatGPT упешно решил задачу распределения ответственности (Responsibility Assignment ) и модульного синтеза
Я подавал описания бизнес-сценариев в ChatGPT и просил распределить их по модулям. ChatGPT успешно вывел структуру модулей и идеально (High Cohesion) распределил сценарии между ними. Примечательно, что шаг выведения функционала из сценариев (определение необходимого функционала для реализации сценариев) был пропущен. Сценарии были описаны на английском, что не стоит игнорировать.
Хотя пример был довольно простым, и я не затрагиваю вопрос «владения» сквозными сценариями, результаты всё же показались мне вдохновляющими.
Вполне может оказаться так, что качественно описанные сценарии (и требования в целом) могут принести дополнительный профит в проектировании, потому что они AI-Friendly
👍9🔥1
#оффтоп #комментирую
Начал читать «Implementing Data Mesh» Жана-Жоржа Перрина и Эрика Броды.
В главе 5, Driving Data Products with Data Contracts, авторы говорят о том, что создание доверия является основой для работы с дата-продуктами: «First, we try to nurture an honest and positive relationship with our customers.»
Они высказывают очень важную мысль: «When you think about a good product, probably one of the most important considerations is that you have trust in it.»
Перед этим они отмечают: «Trust is the foundation. Harvard Business Review (HBR) published a piece on how trust can be materialized.» и ссылаются на статью «The 3 Elements of Trust» Джека Ценгера и Джозефа Фолкмана (ссылка: https://hbr.org/2019/02/the-3-elements-of-trust).
Я тут же прочитал эту статью и был настолько взволнован, что решил не откладывать пост и сразу поделиться своими комментариями. В статье утверждается, что доверие базируется на трёх элементах: Positive Relationships, Good Judgement/Expertise и Consistency.
И у меня есть что сказать. В нашем с Алексеем Маркеловым стартапе (и моём первом стартапе) одним из элементов идеи была соцсеть, где связи планировалось взвешивать по уровню доверия. Мы исследовали тему доверия, опрашивая разных экспертов, до кого могли «дотянуться», и в итоге пришли к двум выводам:
- Оценка доверия не поддаётся алгоритмизации.
- Доверие — это результат совместного позитивного опыта.
Максимальное доверие рождается, когда люди вместе проходят "огонь и воду". При этом все три компонента доверия из статьи Harvard Business Review справедливы.
Теперь вернусь к дата-продуктам. Да, действительно, первое, что нужно делать, — это заботиться о потребителях и учитывать их интересы. Для энтерпрайза это звучит дико, но эту мысль нужно очень аккуратно, понемногу прививать.
Ну а книгу однозначно рекомендую к ознакомлению: https://www.oreilly.com/library/view/implementing-data-mesh/9781098156213/
Начал читать «Implementing Data Mesh» Жана-Жоржа Перрина и Эрика Броды.
В главе 5, Driving Data Products with Data Contracts, авторы говорят о том, что создание доверия является основой для работы с дата-продуктами: «First, we try to nurture an honest and positive relationship with our customers.»
Они высказывают очень важную мысль: «When you think about a good product, probably one of the most important considerations is that you have trust in it.»
Перед этим они отмечают: «Trust is the foundation. Harvard Business Review (HBR) published a piece on how trust can be materialized.» и ссылаются на статью «The 3 Elements of Trust» Джека Ценгера и Джозефа Фолкмана (ссылка: https://hbr.org/2019/02/the-3-elements-of-trust).
Я тут же прочитал эту статью и был настолько взволнован, что решил не откладывать пост и сразу поделиться своими комментариями. В статье утверждается, что доверие базируется на трёх элементах: Positive Relationships, Good Judgement/Expertise и Consistency.
И у меня есть что сказать. В нашем с Алексеем Маркеловым стартапе (и моём первом стартапе) одним из элементов идеи была соцсеть, где связи планировалось взвешивать по уровню доверия. Мы исследовали тему доверия, опрашивая разных экспертов, до кого могли «дотянуться», и в итоге пришли к двум выводам:
- Оценка доверия не поддаётся алгоритмизации.
- Доверие — это результат совместного позитивного опыта.
Максимальное доверие рождается, когда люди вместе проходят "огонь и воду". При этом все три компонента доверия из статьи Harvard Business Review справедливы.
Теперь вернусь к дата-продуктам. Да, действительно, первое, что нужно делать, — это заботиться о потребителях и учитывать их интересы. Для энтерпрайза это звучит дико, но эту мысль нужно очень аккуратно, понемногу прививать.
Ну а книгу однозначно рекомендую к ознакомлению: https://www.oreilly.com/library/view/implementing-data-mesh/9781098156213/
Harvard Business Review
The 3 Elements of Trust
As a leader, you want the people in your organization to trust you. And with good reason. In our coaching with leaders, we often see that trust is a leading indicator of whether others evaluate them positively or negatively. But how to create that trust,…
🔥7
#забегаювперёд #важно
Понятие Data API неприменимо к дата-продуктам и вообще является довольно спорным.
По отношению к дата-продуктам я бы не использовал слова "API" и "интерфейс", а говорил только о контрактах.
Почему так?
Потому что дата-продуктом, например, может быть набор данных в CSV-файле, который хранится в объектном хранилище, и это никакое не приложение, у него нет своего интерфейса. Мы получаем CSV-файл целиком через интерфейс S3.
С витринами данных то же самое: мы получаем данные таких дата-продуктов через интерфейсы СУБД.
В дата-продуктах можно наблюдать инверсию отношений между контрактом и интерфейсом.
Применительно к API, API реализует контракт в подходе Contract-First, да и в принципе — если контракт существует. Но момент создания контракта интерфейса ещё нет.
Применительно к дата-продуктам контракт описывает способ предоставления дата-продукта, способ получения данных, протокол (например, СУБД или объектного хранилища) и т. д. На момент создания контракта интерфейс существует и нужно его учесть в спецификации/дефиниции контракта
Понятие Data API неприменимо к дата-продуктам и вообще является довольно спорным.
По отношению к дата-продуктам я бы не использовал слова "API" и "интерфейс", а говорил только о контрактах.
Почему так?
Потому что дата-продуктом, например, может быть набор данных в CSV-файле, который хранится в объектном хранилище, и это никакое не приложение, у него нет своего интерфейса. Мы получаем CSV-файл целиком через интерфейс S3.
С витринами данных то же самое: мы получаем данные таких дата-продуктов через интерфейсы СУБД.
В дата-продуктах можно наблюдать инверсию отношений между контрактом и интерфейсом.
Применительно к API, API реализует контракт в подходе Contract-First, да и в принципе — если контракт существует. Но момент создания контракта интерфейса ещё нет.
Применительно к дата-продуктам контракт описывает способ предоставления дата-продукта, способ получения данных, протокол (например, СУБД или объектного хранилища) и т. д. На момент создания контракта интерфейс существует и нужно его учесть в спецификации/дефиниции контракта
👍1
Иными словами, при взаимодействии с дата-продуктом мы взаимодействуем не с его приложением, а с хранилищем, и для этого используем интерфейсы хранилища. Поэтому букву A и, наверное, букву P из API можно смело исключить.
В потоковых (streaming) продуктах это интерфейсы брокеров/Pub-Sub систем, а не хранилищ, но сути это не меняет.
Хотя, конечно, дата-продукт может быть неотъемлемой частью какой-то системы.
В потоковых (streaming) продуктах это интерфейсы брокеров/Pub-Sub систем, а не хранилищ, но сути это не меняет.
Хотя, конечно, дата-продукт может быть неотъемлемой частью какой-то системы.
😁2
Рассуждать о том, что является API, а что нет, очень удобно в контексте зависимостей. От чего возникает зависимость при взаимодействии с дата-продуктом?
👍1
Ещё одна мысль
Структуры данных в API - это часть интерфейса. Через разные методы интерфейса могут быть доступны разные данные.
Структура данных в дата-продукте - это часть продукта. Данные одного и того же дата-продукта могут быть доступны через разные интерфейсы, например, JDBC, ODBC, в топике Kafka (CDC)
Структуры данных в API - это часть интерфейса. Через разные методы интерфейса могут быть доступны разные данные.
Структура данных в дата-продукте - это часть продукта. Данные одного и того же дата-продукта могут быть доступны через разные интерфейсы, например, JDBC, ODBC, в топике Kafka (CDC)
👍6
Хочу отметить, что последние посты напрямую связаны с промышленной архитектурой, так как без контрактов и интерфейсов немыслимо построение модульных систем. Мы будем регулярно возвращаться к этим вопросам в будущем.
Забегая вперёд, скажу, что стало понятно: под контрактами мы часто подразумеваем спецификации, в том числе машиночитаемые (WSDL, Swagger Definition, ProtoBuf), и не различаем контракты и оферты.
В моих планах — увязать между собой контракты, оферты и спецификации, а также простыми словами объяснить суть этих понятий. Важно отметить, что на практике уже можно наблюдать, как реализуются оферты и как к ним привязываются спецификации.
Напомню, что наличие машиночитаемых спецификаций — это основа для Automated Governance.
Забегая вперёд, скажу, что стало понятно: под контрактами мы часто подразумеваем спецификации, в том числе машиночитаемые (WSDL, Swagger Definition, ProtoBuf), и не различаем контракты и оферты.
В моих планах — увязать между собой контракты, оферты и спецификации, а также простыми словами объяснить суть этих понятий. Важно отметить, что на практике уже можно наблюдать, как реализуются оферты и как к ним привязываются спецификации.
Напомню, что наличие машиночитаемых спецификаций — это основа для Automated Governance.
👍7❤🔥1👏1
В своих постах я сознательно избегаю изобилия технических терминов и примеров кода, хотя примеры кода тоже будут. Вместо этого, я опираюсь на общеупотребительные понятия, такие как контракт, оферта или спецификация.
Многие концепции уже давно "вызрели" в других областях, так почему бы их не использовать? Кроме того, стоит отметить, что многие значимые работы в нашей сфере по своей сути являются философскими.
Для иллюстрации приведу цитату из статьи Джима Грея, который ввёл понятие транзакции. В своих трудах, например, он использует такие понятия, как сделка и контракт:
"The transaction concept derives from contract law. In making a contract, two or more parties negotiate for a while and then make a deal."
(“The Transaction Concept: Virtues and Limitations,” Jim Gray, June 1981)
Ссылка: https://www.cs.purdue.edu/homes/bb/cs542-06Spr-bb/TCVL-Gray-81.pdf
Многие концепции уже давно "вызрели" в других областях, так почему бы их не использовать? Кроме того, стоит отметить, что многие значимые работы в нашей сфере по своей сути являются философскими.
Для иллюстрации приведу цитату из статьи Джима Грея, который ввёл понятие транзакции. В своих трудах, например, он использует такие понятия, как сделка и контракт:
"The transaction concept derives from contract law. In making a contract, two or more parties negotiate for a while and then make a deal."
(“The Transaction Concept: Virtues and Limitations,” Jim Gray, June 1981)
Ссылка: https://www.cs.purdue.edu/homes/bb/cs542-06Spr-bb/TCVL-Gray-81.pdf
👍7
#предсказание
Побуду в роли оракула
Микросервисная архитектура в чёткий архитектурный стиль так и не сложилась. Под микросервисами понимается всё, что угодно. В пределе - любое распределённое приложение.
Архитектура MASA от Gartner, на мой взгляд, лишь демонстрирует кризис идей. Акцент на гранулярности сервисов (macro, mimi, micro — multigrained) — это опасное заблуждение, которое ярко проявляется в MASA.
“MASA: Create Agile Application Architecture With Composable Apps, APIs and Services”, Gartner, Aug. 2024
При этом постоянно появляются направления архитектурной мысли, нацеленнные на продление жизни микросервисной архитектуры. На одно из них я хочу обратить внимание — это MACH Architecture: https://macharchitecture.com/
Gartner, комментируя MACH Architecture, говорит "правильные'' слова и как бы "притрагивается" к инженерии:
"The definitions used in MACH are not exactly aligned to some industry definitions — for example, the "microservices" in MACH refer to independent modular business services commonly provided as API-first SaaS services."
https://www.gartner.com/en/documents/5366163
Весьма вероятно, следующим архитектурным стилем станет SOA 2.0, где важными отличиями от (старой доброй) SOA будут:
- децентрализованное владение
- федеративный Governance
- платформизация
Я считаю, что концепция сервисной ориентированности является крайне удачной. Сервисная ориентированность подразумевает фокус на ценности (value) и удовлетворении потребностей. Этому вопросу я посвящу отдельный пост.
Думаю, стоит попытаться достичь цели «business and IT alignment» на новом витке развития IT.
Главное, что необходимо сделать на следующем этапе, — децентрализовать SOA, сблизить её с бизнес-архитектурой и внедрить инженерные практики, унаследовав при этом паттерны построения распределённых решений с независимой поставкой (ценности) компонентов, порождённые за годы «межвременья» микросервисов.
Технически новые архитектурные стили будут тяготеть к облачным технологиям, функциональному программированию и событийной ориентированности. В идеале, реализации SOA 2.0 будут облачно-нативными (cloud native) и реактивными, что мне особенно импонирует.
Побуду в роли оракула
Микросервисная архитектура в чёткий архитектурный стиль так и не сложилась. Под микросервисами понимается всё, что угодно. В пределе - любое распределённое приложение.
Архитектура MASA от Gartner, на мой взгляд, лишь демонстрирует кризис идей. Акцент на гранулярности сервисов (macro, mimi, micro — multigrained) — это опасное заблуждение, которое ярко проявляется в MASA.
“MASA: Create Agile Application Architecture With Composable Apps, APIs and Services”, Gartner, Aug. 2024
При этом постоянно появляются направления архитектурной мысли, нацеленнные на продление жизни микросервисной архитектуры. На одно из них я хочу обратить внимание — это MACH Architecture: https://macharchitecture.com/
Gartner, комментируя MACH Architecture, говорит "правильные'' слова и как бы "притрагивается" к инженерии:
"The definitions used in MACH are not exactly aligned to some industry definitions — for example, the "microservices" in MACH refer to independent modular business services commonly provided as API-first SaaS services."
https://www.gartner.com/en/documents/5366163
Весьма вероятно, следующим архитектурным стилем станет SOA 2.0, где важными отличиями от (старой доброй) SOA будут:
- децентрализованное владение
- федеративный Governance
- платформизация
Я считаю, что концепция сервисной ориентированности является крайне удачной. Сервисная ориентированность подразумевает фокус на ценности (value) и удовлетворении потребностей. Этому вопросу я посвящу отдельный пост.
Думаю, стоит попытаться достичь цели «business and IT alignment» на новом витке развития IT.
Главное, что необходимо сделать на следующем этапе, — децентрализовать SOA, сблизить её с бизнес-архитектурой и внедрить инженерные практики, унаследовав при этом паттерны построения распределённых решений с независимой поставкой (ценности) компонентов, порождённые за годы «межвременья» микросервисов.
Технически новые архитектурные стили будут тяготеть к облачным технологиям, функциональному программированию и событийной ориентированности. В идеале, реализации SOA 2.0 будут облачно-нативными (cloud native) и реактивными, что мне особенно импонирует.
macharchitecture.com
MACH Architecture Articles and Insights
MACH is a modern architecture based on Microservices, API-First, Cloud-Native and Headless
👍10🤯3❤1
Важное уточнение
Любые инициативы, связанные с централизацией, включая создание федеративных структур, невозможны без устранения Agile-силосов и «дефеодализации» компаний. К сожалению, большинство компаний к этому не готовы, так как ещё не насытились сполна последствиями провалов крупных инициатив. Даже грома недостаточно, чтобы мужик перекрестился.
«Business and IT alignment» станет возможен, а SOA 2.0 приобретёт смысл лишь тогда, когда архитектурная функция будет поднята на стратегический уровень и наделена необходимыми полномочиями. Без выравнивания полномочий между бизнесом и IT достичь этой цели не получится.
А пока нужно запастись терпением и крепчать методологически, чтобы пережить безвременье в IT, с его бесшабашным Эджайлом и шальными микросервисами.
Любые инициативы, связанные с централизацией, включая создание федеративных структур, невозможны без устранения Agile-силосов и «дефеодализации» компаний. К сожалению, большинство компаний к этому не готовы, так как ещё не насытились сполна последствиями провалов крупных инициатив. Даже грома недостаточно, чтобы мужик перекрестился.
«Business and IT alignment» станет возможен, а SOA 2.0 приобретёт смысл лишь тогда, когда архитектурная функция будет поднята на стратегический уровень и наделена необходимыми полномочиями. Без выравнивания полномочий между бизнесом и IT достичь этой цели не получится.
А пока нужно запастись терпением и крепчать методологически, чтобы пережить безвременье в IT, с его бесшабашным Эджайлом и шальными микросервисами.
👍4🔥2🤔2😁1
#datamesh #datafabric #dataproduct
Коллеги проделали значительную работу, проанализировав материалы по темам Data Products, Data Mesh и Data Fabric: https://link.springer.com/article/10.1007/s12599-024-00876-5
Эта статья оказалась очень своевременной и принесла моей душе умиротворение. Авторам удалось весьма удачно интегрировать эти концепты.
В конце статьи представлен полезный список источников. Рекомендую
Коллеги проделали значительную работу, проанализировав материалы по темам Data Products, Data Mesh и Data Fabric: https://link.springer.com/article/10.1007/s12599-024-00876-5
Эта статья оказалась очень своевременной и принесла моей душе умиротворение. Авторам удалось весьма удачно интегрировать эти концепты.
В конце статьи представлен полезный список источников. Рекомендую
SpringerLink
Data products, data mesh, and data fabric
Business & Information Systems Engineering -
🔥2
Когда_пора_заняться_архитектурой.pdf
1.1 MB
Готовлюсь к интервью в канале друзей. Будут вопросы про монолитную архитектуру.
Планирую рассказать, почему само понятие монолитной архитектуры — это своего рода миф. В реальности не существует «монолитной архитектуры»; может быть монолитная конструкция и изделие, но не архитектура. И разработка не исключение.
Тем временем хочу поделиться презентацией с моего доклада на конференции «Подлодка». В этом докладе я анализирую разные определения термина «архитектура» и прихожу к выводу, что в самом широком смысле под этим термином следует понимать.
Планирую рассказать, почему само понятие монолитной архитектуры — это своего рода миф. В реальности не существует «монолитной архитектуры»; может быть монолитная конструкция и изделие, но не архитектура. И разработка не исключение.
Тем временем хочу поделиться презентацией с моего доклада на конференции «Подлодка». В этом докладе я анализирую разные определения термина «архитектура» и прихожу к выводу, что в самом широком смысле под этим термином следует понимать.
🔥10❤1
Конец високосного года выдался особенно жарким. Поделюсь выводами, которые сделал за эту неделю.