Архитектура ИТ-решений
13K subscribers
270 photos
27 files
1.07K links
Разговоры об архитектуре корпоративных информационных систем (архитектура предприятия, архитектура ИТ-решений, микросервисы).

Этот канал не продается, а я не сдаю квартиры/машины/яхты. Будьте, пожалуйста, осторожны!
Download Telegram
Software Architecture Monday with Mark Richards 66 видео лекций по ИТ-архитектуре с 11 января 2018 по 12 августа 2019 https://www.developertoarchitect.com/lessons/ На YouTube они просто выложены россыпью здесь: https://youtu.be/3bxAm3XIFmk
Пятничное из блога Архитектура информационных систем https://mxsmirnov.com/2016/03/02/muda/
Хороший дизайн - это тот, который делает возможными будущие изменения поведения, Если бы нам нужно было выбирать между двумя дизайнами при наличии бесконечных ресурсов, мы бы просто реализовали их оба и посмотрели, какой из них сделает возможным будущие изменения.
Кент Бек о "тестировании" структурных изменений https://medium.com/@kentbeck_7670/testing-structure-changes-d8d01f65b64e
Бизнес-леди и двое мужчин. Трогательная история непростых отношений Лоретты и двух версий корпоративного архитектора Арчи
в блоге The Open Group:
Much to Loretta’s surprise she finds out she already has an Enterprise Architect in her organization. She is reminded he is a part of the CTO organization. Loretta remembers that this is the position they discuss at the beginning of every budget cycle when they consider cutting costs. Each year for the last three years, the CTO defends the position saying that Enterprise Architecture is an investment and takes time to take hold and yield results
https://blog.opengroup.org/2019/08/20/the-future-enterprise-architect/
Вот эта статья https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/ заставила меня задуматься о том, в какой мере и в наше время те или иные ИТ решения являются результатом экспериментов(серий неудачных, намного реже удачных попыток). Все хайповые ныне вещи от бигдаты до бессерверных архитектур делались для решения вполне утилитарных задач. Но делались они при этом каким-то особым, специальным способом, позволившим им выйти далеко за пределы изначальных потребностей... Теперь мы кипятим на них воду
Facebook пишет, что ссылка: https://tttttt.me/s/it_arch нарушает нормы сообщества. Не читайте FB, читайте Telegram в браузере (ссылка выше)
Не самый короткий, но довольно полезный текст (с хорошими ссылками) про CAP-теорему, панк-рок и "Войну и мир" Льва Толстого http://www.julianbrowne.com/article/brewers-cap-theorem
Рекомендую к прочтению книжку Распределенные системы. Паттерны проектирования. Издательство Питер, 2019 - тот редкий случай, когда для чтения перевода не нужно иметь под рукой англоязычный оригинал. Книжка, безусловно, про паттерны, но не только про паттерны. Так, например, один из вопросов, на которые она дает ответ - как быть с повторно-используемыми (reusable) компонентами в микросервисной архитектуре
Архитектура ИТ-решений
Рекомендую к прочтению книжку Распределенные системы. Паттерны проектирования. Издательство Питер, 2019 - тот редкий случай, когда для чтения перевода не нужно иметь под рукой англоязычный оригинал. Книжка, безусловно, про паттерны, но не только про паттерны.…
В отличии от сервиса в сервис-ориентированной архитектуре, которые изначально рассматривался как компонент, разработанный для повторного использования, микросервис таковым не является. Скорее наоборот, мы реализуем в микросервисе некий частный случай, функционал, востребованный иногда или возможно востребованный, например, при тестировании гипотез или функции необходимые лишь части клиентов и т.п.
Где же в этом случае реализовывать многократно используемые функции? В монолите такие функции реализуются в виде библиотек, принося с одной стороны несомненную пользу, а с другой – ад зависимостей. Брендан Бёрнс, автор книжки про паттерны проектирования распределенных систем, рекомендует реализовывать такой функционал в виде отдельных контейнеров. Нужен вам reusable функционал – добавляете в свой pod соответствующий контейнер и вызываете его из основного процесса внутри вашего микросервиса
Архитектура ИТ-решений
Рекомендую к прочтению книжку Распределенные системы. Паттерны проектирования. Издательство Питер, 2019 - тот редкий случай, когда для чтения перевода не нужно иметь под рукой англоязычный оригинал. Книжка, безусловно, про паттерны, но не только про паттерны.…
Кстати, книжка довольно небольшая, чуть больше 200 страниц. Обзор её от издателя перевода на Хабре https://habr.com/ru/company/piter/blog/442514/ и страница книги с оглавлением и ознакомительным фрагментом на сайте издателя https://www.piter.com/product/raspredelennye-sistemy-patterny-proektirovaniya Паттернов проектирования распределенных систем, наверняка должно быть больше, особенно, если считать с анти-паттернами(другой подход к теме см., например, здесь https://www.infoq.com/articles/kubernetes-effect/). Но паттерны – это штука, которая плохо поддается учету. У кого-то их три, у кого-то пять, а еще у кого-нибудь пятьдесят, но он их никогда не использует. Мне показалось, что автор скорее использовал паттерны, в качестве последовательных вех, раскрывающих некий общий подход от простого к сложному, от одноузловых паттернов, через технологические компоненты к принципу проектирования прикладных решений
Архитектура ИТ-решений
В отличии от сервиса в сервис-ориентированной архитектуре, которые изначально рассматривался как компонент, разработанный для повторного использования, микросервис таковым не является. Скорее наоборот, мы реализуем в микросервисе некий частный случай, функционал…
Интересно влияние идеи повторно-используемых компонент в виде контейнеров, дополнительно включаемых в микросервисы, на корпоративные ИТ-ландшафты. Когда-то давно стандартизация, унификация и борьба с дублированием функционала в корпоративных ИТ велась под флагом внедрения единых систем: корпоративное хранилище данных, корпоративная сервисная шина и т.п. (в английском, название таких систем начинаются со слова Enterprise). Когда стало ясно, что подобные системы моментально превращаются в черные дыры, способные пожирать данные и бюджеты, но совершенно не справляющиеся с задачей быстрой поставки функционала, политика корпоративных ИТ скорректировалась в сторону SOA-сервисов. Мол реализуйте логику где и на чем хотите, но читайте данные и отправляйте команды через обязательный набор сервисов. Сейчас вместо общих сервисов приходит тема раздачи адаптеров. Это чем-то похоже на service mesh. Нужен вам какой-нибудь справочник? – подцепите в свой pod MDM-контейнер, а где он возьмет данные и как раздаст их по всем узлам – это уже не забота прикладного программиста.

Вообще говоря, это уже не вполне микросервисы, что, само по себе, и не хорошо и не плохо. Зато какое поле деятельности для очередной волны переписывания всех корпоративных систем
Архитектура ИТ-решений
Ян Шарп произнес эти слова в 1969 году на конференции NATO Conference on Software Engineering Techniques: Есть некое дополнение к программированию, и его надо вытащить на свет. Это программная архитектура. Архитектура и проектирование(дизайн, примечание моё)…
Следующей вехой развития ИТ-архитектуры стала книжка Фредерика Брукса "Мифический человеко-месяц, или как создаются программные системы", 1975г. (которая, кстати, навсегда поссорила разработку с архитектурой). Одна из многочисленных мыслей этой книги: архитектурных замыслов может быть более одного (что, кстати, хорошо по сравнению с их полным отсутствием).
Увязка различных идей обрела название концептуальной целостности (conceptual integrity). Пусть замыслов будет несколько, лишь бы они выстраивались в соглсованную картинку. Практически сразу анти-паттерном обеспечения концептуальной целостности был назван design by committee (верблюд - это лошадь, спроектированная комитетом), что впрочем не мешает нам устраивать битвы идей в формате архитектурных комитетов до сих пор