Архитектура ИТ-решений
Обнаружил, что в январе 2022 The Open Group выпустило руководство о том, как делать микросервисы по TOGAF ADM. https://publications.opengroup.org/togaf-library/g21i Вот прям по тупо по процессу, со всеми фазами: бизнес-архитектура, архитектура данных и т.д.…
Btw, коллекция (почти) всех гайдов одним архивом:
TOGAF® Series Guide Full Set
This is the set of TOGAF® Series Guides. They contain detailed guidance on how to use the TOGAF framework, and are expected to be the most rapidly developing part of the TOGAF documentation set.
- https://publications.opengroup.org/guides/togaf/togaf-series-guides/t180
#SoftwareArchitecture
TOGAF® Series Guide Full Set
This is the set of TOGAF® Series Guides. They contain detailed guidance on how to use the TOGAF framework, and are expected to be the most rapidly developing part of the TOGAF documentation set.
- https://publications.opengroup.org/guides/togaf/togaf-series-guides/t180
#SoftwareArchitecture
publications.opengroup.org
TOGAF® Series Guide Set (The TOGAF® Standard, Version 9.2)
This set of TOGAF® Series Guides is specific to the TOGAF Standard, Version 9.2. Updated versions of some of the TOGAF Series Guides are available in the TOGAF Standard, 10th Edition (C220).
This is a set of TOGAF Series Guides containing detailed guidance…
This is a set of TOGAF Series Guides containing detailed guidance…
👍4
"Data Mesh" by Zhamak Dehghani
Released April 2022
Publisher(s): O'Reilly Media, Inc.
ISBN: 9781492092391
https://www.oreilly.com/library/view/data-mesh/9781492092384/
#SoftwareArchitecture
Released April 2022
Publisher(s): O'Reilly Media, Inc.
ISBN: 9781492092391
https://www.oreilly.com/library/view/data-mesh/9781492092384/
#SoftwareArchitecture
O’Reilly Online Learning
Data Mesh
We're at an inflection point in data, where our data management solutions no longer match the complexity of organizations, the proliferation of data sources, and the scope of our... - Selection from Data Mesh [Book]
👍7🔥2
Когда спрашивают зачем нужен слой абстракции от БД:
😁11👍3
Forwarded from SecurityLab.ru
❌ФСТЭК отзовет более 50 продуктов иностранных разработчиков, которые приостановили свою деятельность в России
— Приостановлены сертификаты на решения от IBM, Microsoft, Oracle, SAP, Vmware, ESET, Trend Micro и другие.
— Действие сертификатов будет прекращено, если компании не возобновят поддержку продуктов в течение 90 дней.
— Теперь государственным информационным системам и объектам критической информационной инфраструктуры придётся ещё быстрее искать замену зарубежным системам.
https://www.securitylab.ru/news/530814.php?r=1
— Приостановлены сертификаты на решения от IBM, Microsoft, Oracle, SAP, Vmware, ESET, Trend Micro и другие.
— Действие сертификатов будет прекращено, если компании не возобновят поддержку продуктов в течение 90 дней.
— Теперь государственным информационным системам и объектам критической информационной инфраструктуры придётся ещё быстрее искать замену зарубежным системам.
https://www.securitylab.ru/news/530814.php?r=1
SecurityLab.ru
ФСТЭК оставит иностранные компании без сертификатов
ФСТЭК отзовет более 50 продуктов иностранных разработчиков, которые приостановили свою деятельность в России, если они не смогут за 90 дней гарантировать обеспечение техподдержки своих систем.
😁13👍3🎉2🤔1🤯1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Запись первого offline DDD-meetup после пандемии: - https://youtu.be/ybYtgII151g?t=27m10s Было здорово! После митапа выпили пива в дружеской обстановке. Вживую познакомился с грамотными и перспективными ребятами, образующими костяк сообщества. Удивила высокая…
Коллеги, какие у вас настроения по поводу очной архитектурной встречи в обозримом будущем (м.Вернадского)?
Anonymous Poll
27%
Поддерживаю, давно пора собраться, готов присутствовать очно
51%
Поддерживаю, но приму участие только в online-формате
22%
Лучше не надо - обстоятельства не располагают
Ребята, вчерашний пост я удалил вскоре после публикации, потому что некоторым показалось наличие в нем политического подтекста, хотя он отражал исключительно мой личный опыт без намека на какие бы то ни было параллели.
Мне жаль, что эту ценную информацию, которая сильно облегчила мою архитекторскую деятельность по разрешению противоречий, сегодня не все могут рассматривать без политической призмы. Поэтому, я публикую укороченную версию вчерашнего поста:
Мне жаль, что эту ценную информацию, которая сильно облегчила мою архитекторскую деятельность по разрешению противоречий, сегодня не все могут рассматривать без политической призмы. Поэтому, я публикую укороченную версию вчерашнего поста:
Существуют некоторые вещи, которые являются ключевыми. Профессиональная задача архитектора - эти вещи выявлять.
📝 “Architecture is about the important stuff. Whatever that is” - Ralph Johnson
[Здесь шла речь о принципе, который со времен Гераклита используется для разрешения противоречий.]
Такие же принципы существуют и в архитектуре, и одним из монументальных принципов является Constantine's Law: "Low Coupling & High Cohesion". Однако, знание этого принципа еще не гарантирует его успешной практической применимости, также как и знание букв еще не делает человека поэтом. Потому что, как говорил Edsger W. Dijkstra:
📝 "Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better." — Edsger W. Dijkstra
В своей практике я иногда замечал, как программисты могут "переусложнить" решение, не утруждаясь осознанием тонкой грани между простотой и примитивностью. Различие между этими терминами проявляется позже, когда становится очевидным, что краткосрочные интересы препятствуют долгосрочным интересам, а не служат им. И тогда проект, подобно Уроборосу, удерживает себя за хвост своего собственного развития. Это явление иногда ошибочно путают с YAGNI.
Колоссальный монументальный труд в исследовании вопроса управления сложностью проделал Vlad Khononov - человек, обладающий уникальной способностью объяснять сложные вещи простым языком. Очень скоро его книга "Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems" станет доступной в продаже. Книга номер один среди всех существующих руководств по созданию успешного проекта. Книга, которая не захламляет, а очищает и кристаллизует знания, учит управлять образом мышления, и вооружает нас принципом, способным легко отыскивать победные решения в задачах любого уровня сложности. Книга, которая станет достойным продолжением дела Larry Constantine, Tom DeMarco, Meilir Page-Jones, David L. Parnas, Robert C. Martin.
📝 “Architecture is about the important stuff. Whatever that is” - Ralph Johnson
Такие же принципы существуют и в архитектуре, и одним из монументальных принципов является Constantine's Law: "Low Coupling & High Cohesion". Однако, знание этого принципа еще не гарантирует его успешной практической применимости, также как и знание букв еще не делает человека поэтом. Потому что, как говорил Edsger W. Dijkstra:
📝 "Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better." — Edsger W. Dijkstra
В своей практике я иногда замечал, как программисты могут "переусложнить" решение, не утруждаясь осознанием тонкой грани между простотой и примитивностью. Различие между этими терминами проявляется позже, когда становится очевидным, что краткосрочные интересы препятствуют долгосрочным интересам, а не служат им. И тогда проект, подобно Уроборосу, удерживает себя за хвост своего собственного развития. Это явление иногда ошибочно путают с YAGNI.
Колоссальный монументальный труд в исследовании вопроса управления сложностью проделал Vlad Khononov - человек, обладающий уникальной способностью объяснять сложные вещи простым языком. Очень скоро его книга "Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems" станет доступной в продаже. Книга номер один среди всех существующих руководств по созданию успешного проекта. Книга, которая не захламляет, а очищает и кристаллизует знания, учит управлять образом мышления, и вооружает нас принципом, способным легко отыскивать победные решения в задачах любого уровня сложности. Книга, которая станет достойным продолжением дела Larry Constantine, Tom DeMarco, Meilir Page-Jones, David L. Parnas, Robert C. Martin.
🔥17👍5🤯1
Неплохое руководство по управлению сложностью:
- https://www.youtube.com/watch?v=LKtk3HCgTa8
В текстовом виде:
- https://github.com/matthiasn/talk-trannoscripts/blob/master/Hickey_Rich/SimpleMadeEasy.md
Thanks to @vault13dweller
- https://www.youtube.com/watch?v=LKtk3HCgTa8
В текстовом виде:
- https://github.com/matthiasn/talk-trannoscripts/blob/master/Hickey_Rich/SimpleMadeEasy.md
Thanks to @vault13dweller
YouTube
"Simple Made Easy" - Rich Hickey (2011)
Rich Hickey, the author of Clojure and designer of Datomic, is a software developer with over 30 years of experience in various domains. Rich has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield…
👍9
"Series of articles about functors, applicatives, and other mappable containers." by Mark Seemann
- https://blog.ploeh.dk/2018/03/19/functors-applicatives-and-friends/
#FunctionalProgramming
- https://blog.ploeh.dk/2018/03/19/functors-applicatives-and-friends/
#FunctionalProgramming
ploeh blog
Functors, applicatives, and friends
Functors and related data structures are containers of values. It's a family of abstractions. An overview for object-oriented programmers.
👍2
Forwarded from DDDevotion
Не очень слежу, но тем не менее, в марте в гошечке 1.18 завезли генерики)
Я помню как они появились в c# 2.0 (а до этого я только у читал про них у Майерса). И это был кайф!
https://go.dev/doc/tutorial/generics
Я помню как они появились в c# 2.0 (а до этого я только у читал про них у Майерса). И это был кайф!
https://go.dev/doc/tutorial/generics
go.dev
Tutorial: Getting started with generics - The Go Programming Language
Сейчас в кулуарах российского архитектурного сообщества обсуждается вопрос организации Reference Application и Reference Architectures.
Если кто не в курсе - это такая эталонная демонстрация, создаваемая с целью демонстрации архитектурных решений на живом примере. Но лучше один раз увидеть - в качестве примера можно посмотреть:
Пример DDD/MSA Reference Application:
- https://github.com/dotnet-architecture/eShopOnContainers
Пример Reference Architecture:
"Agile Architecture Modeling Using the ArchiMate® Language":
- https://publications.opengroup.org/g20e
- https://nicea.nic.in/sites/default/files/Agile_Architecture_Modelling_Using_Archimate.pdf
- https://community.opengroup.org/archimate-user-community/home/-/issues/8
Archi Banking Group: Combining the BIAN Reference Model, ArchiMate® Modeling Notation, and the TOGAF® Framework:
- https://publications.opengroup.org/y201
- https://publications.opengroup.org/y201m
И т.п.
Я нередко использую Reference Applications в работе, для демонстрации типовых архитектурных решений разработчикам. Могу заметить, что полностью завершенные эталонно-демонстрационные приложения мне неизвестны, поэтому, приходится обращаться к ним в качестве демонстрационных примеров разрозненно и фрагментарно, "выкусывая" из них качественно организованные аспекты и игнорируя остальные. У меня даже сформировался некий "путеводитель", указывающий в каком демонстрационном приложении лучше смотреть реализацию того, либо иного, архитектурного аспекта.
Не хватает единого и завершенного демонстрационного приложения, которое сделало бы такой "путеводитель" ненужным. По всей видимости, ситуация назрела для обсуждения её решения.
Если кому эта тема интересна, и кто-то хочет её обсудить, и имеет возможность принять участие в создании Reference Application/Architectures, обращайтесь ко мне в личку ( @emacsway ) за инвайтом в группу обсуждения. Вместе попробуем найти решение этого вопроса.
Если кто не в курсе - это такая эталонная демонстрация, создаваемая с целью демонстрации архитектурных решений на живом примере. Но лучше один раз увидеть - в качестве примера можно посмотреть:
Пример DDD/MSA Reference Application:
- https://github.com/dotnet-architecture/eShopOnContainers
Пример Reference Architecture:
"Agile Architecture Modeling Using the ArchiMate® Language":
- https://publications.opengroup.org/g20e
- https://nicea.nic.in/sites/default/files/Agile_Architecture_Modelling_Using_Archimate.pdf
- https://community.opengroup.org/archimate-user-community/home/-/issues/8
Archi Banking Group: Combining the BIAN Reference Model, ArchiMate® Modeling Notation, and the TOGAF® Framework:
- https://publications.opengroup.org/y201
- https://publications.opengroup.org/y201m
И т.п.
Я нередко использую Reference Applications в работе, для демонстрации типовых архитектурных решений разработчикам. Могу заметить, что полностью завершенные эталонно-демонстрационные приложения мне неизвестны, поэтому, приходится обращаться к ним в качестве демонстрационных примеров разрозненно и фрагментарно, "выкусывая" из них качественно организованные аспекты и игнорируя остальные. У меня даже сформировался некий "путеводитель", указывающий в каком демонстрационном приложении лучше смотреть реализацию того, либо иного, архитектурного аспекта.
Не хватает единого и завершенного демонстрационного приложения, которое сделало бы такой "путеводитель" ненужным. По всей видимости, ситуация назрела для обсуждения её решения.
Если кому эта тема интересна, и кто-то хочет её обсудить, и имеет возможность принять участие в создании Reference Application/Architectures, обращайтесь ко мне в личку ( @emacsway ) за инвайтом в группу обсуждения. Вместе попробуем найти решение этого вопроса.
GitHub
GitHub - dotnet-architecture/eShopOnContainers: Cross-platform .NET sample microservices and container based application that runs…
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 7, Docker Containers and Azure Kubernetes Services. Supports Visual St...
👍14
Коротко о самой сути термина Technical Debt:
📝 "Asking "is something technical debt" is usually uninteresting. The metaphor's value is comparing paying interest vs principal. We judge debt of $1K differently if we are paying $1/month to service it vs $100/month"
-- Martin Fowler, https://twitter.com/martinfowler/status/1517152168775614473?t=BMpST8vXSLBnY36k9o-lUg&s=19
Подробнее по этой теме здесь.
📝 "Asking "is something technical debt" is usually uninteresting. The metaphor's value is comparing paying interest vs principal. We judge debt of $1K differently if we are paying $1/month to service it vs $100/month"
-- Martin Fowler, https://twitter.com/martinfowler/status/1517152168775614473?t=BMpST8vXSLBnY36k9o-lUg&s=19
Подробнее по этой теме здесь.
Twitter
Martin Fowler
Asking "is something technical debt" is usually uninteresting. The metaphor's value is comparing paying interest vs principal. We judge debt of $1K differently if we are paying $1/month to service it vs $100/month
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Володя осветил один из частых вопросов: "Collections and Primitive Obsession" by Vladimir Khorikov - https://enterprisecraftsmanship.com/posts/collections-primitive-obsession/ #DDD #SoftwareDesign
"Modeling Relationships in a DDD Way" by Vladimir Khorikov
- https://enterprisecraftsmanship.com/posts/modeling-relationships-in-ddd-way/?__s=dqpdv6io8bhfhi1pm82y
Хорошая статья, но самый интересный вопрос остался неосвещенным:
> The problem is that it’s hard to decide which side of a many-to-many relation is the owner of that relation.
#DDD #SoftwareDesign
- https://enterprisecraftsmanship.com/posts/modeling-relationships-in-ddd-way/?__s=dqpdv6io8bhfhi1pm82y
Хорошая статья, но самый интересный вопрос остался неосвещенным:
> The problem is that it’s hard to decide which side of a many-to-many relation is the owner of that relation.
#DDD #SoftwareDesign
Enterprise Craftsmanship
Modeling Relationships in a DDD Way
Let’s talk about modeling of relationships, including the dreaded many-to-many relationships, in a DDD way.
👍4🤔1
"Multi-cloud: From Buzzword to Decision Model" by Gregor Hohpe
- https://architectelevator.com/cloud/multi-cloud-decision-model/
Architects aren’t there to make all decisions. They help others make better decisions by sharing models. Let’s do that for a major enterprise decision: whether to cloud or multi-cloud.
📝 "Architects aren’t the smartest people in the room. Their primary job is to make everyone else smarter, for example, by getting folks to see more dimensions."
Хорошая статья.
#SoftwareArchitecture
- https://architectelevator.com/cloud/multi-cloud-decision-model/
Architects aren’t there to make all decisions. They help others make better decisions by sharing models. Let’s do that for a major enterprise decision: whether to cloud or multi-cloud.
📝 "Architects aren’t the smartest people in the room. Their primary job is to make everyone else smarter, for example, by getting folks to see more dimensions."
Хорошая статья.
#SoftwareArchitecture
The Architect Elevator
Multi-cloud: From Buzzword to Decision Model
Architects aren’t there to make all decisions. They use models to help others make better decisions, including whether to multi-cloud or not.
👍8
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
"Multi-cloud: From Buzzword to Decision Model" by Gregor Hohpe - https://architectelevator.com/cloud/multi-cloud-decision-model/ Architects aren’t there to make all decisions. They help others make better decisions by sharing models. Let’s do that for a major…
"Gregor’s Law" by Gregor Hohpe
Excessive complexity is nature’s punishment for organizations that are unable to make decisions.
- https://architectelevator.com/gregors-law/
#SoftwareArchitecture
Excessive complexity is nature’s punishment for organizations that are unable to make decisions.
- https://architectelevator.com/gregors-law/
#SoftwareArchitecture
The Architect Elevator
Gregor’s Law
Excessive complexity is nature’s punishment for organizations that are unable to make decisions.
🔥5👍3
Forwarded from Блог Сергея Баранова
Давно не писал в канал, не мог найти времени, а все от того, что параллельно работаем над такими вещами, как:
- референс-архитектуры, в том числе микросервисные, в том числе ддд-compliant (детали тут: https://news.1rj.ru/str/emacsway_log/888)
- возрождение архитектурных ката, попробуем перезапустить с @Kirill_vet
- российская сертификация/база знаний в области разработки и проектирования (от сообщества для сообщества). Понятно, что нет такого понятия, как «российская специфика», но есть определенный базис, который нужен и хорошо, если мы сможем его давать внутри страны 👍получится - хорошо, не получится - чему-то научимся :)
- ddd проникает во все большее число компаний, растет интерес к применению ddd для отображения в орг структуру. Чему я несказанно рад, потому что при проектировании микросервисов так или иначе всегда строили модель предметной области, а вот предложение перенести эту модель в орг структуру и бизнес-архитектуру принималось через раз (где принималось, те понимают о чем я 😉). Готовлю выступление «оргдизайн через ddd». Кстати, это буквально воплощение закона Конвея.
- со дня на день стартует подготовка к archdays. Оффлайн🤞, наверное все же с онлайном, ибо странно не использовать этот канал совсем. Уже есть заявки, ждем еще 👀
- референс-архитектуры, в том числе микросервисные, в том числе ддд-compliant (детали тут: https://news.1rj.ru/str/emacsway_log/888)
- возрождение архитектурных ката, попробуем перезапустить с @Kirill_vet
- российская сертификация/база знаний в области разработки и проектирования (от сообщества для сообщества). Понятно, что нет такого понятия, как «российская специфика», но есть определенный базис, который нужен и хорошо, если мы сможем его давать внутри страны 👍получится - хорошо, не получится - чему-то научимся :)
- ddd проникает во все большее число компаний, растет интерес к применению ddd для отображения в орг структуру. Чему я несказанно рад, потому что при проектировании микросервисов так или иначе всегда строили модель предметной области, а вот предложение перенести эту модель в орг структуру и бизнес-архитектуру принималось через раз (где принималось, те понимают о чем я 😉). Готовлю выступление «оргдизайн через ddd». Кстати, это буквально воплощение закона Конвея.
- со дня на день стартует подготовка к archdays. Оффлайн🤞, наверное все же с онлайном, ибо странно не использовать этот канал совсем. Уже есть заявки, ждем еще 👀
👍6🤔2🔥1
Forwarded from Блог Сергея Баранова
Пошла жара вокруг ДДД. Имхо когда мы говорим о какой-то практике, нужно четко разделять:
1. Академическую часть
2. Приклад
3. Контекстно-зависимое применение
Поясню на примере ДДД.
Академическая часть - это Эванс, Вернон, работы о самом ДДД, теория сложных адаптивных систем, моделирование, системное мышления и проячее. Академическая часть нужна для того чтобы:
- развивать фундаментальные основы, независимо от приклада
- обучать прикладным вещам (да, для этого важно понимать, на чем они основаны)
2. Приклад. Например, - дизайн организационной структуры, принятие управленческих решений на основе типов доменов (что инхаус разрабатывать, что отдать на аутсорс), проектирование микросервисного решения
3. Контексто-зависимый приклад - например, Банк, CRM, ритейл, Поиск. Для применения здесь не нужно даже знать терминологию ДДД, и даже вообще знать что есть какое-то ДДД, но тому кто будет проектировать или строить модели, проводить совместное исследование домена, безусловно, нужны знания и на академическом и на прикладном уровне (а вот контекстно-зависимый приклад уже не так важен, его нужно структурировать усилиями участников совместной практики).
И так с любой практикой, имхо. Есть популярный узкоспециализированный приклад, есть принципы и основы на которых он построен и их знание позволяет подстраиваться под любые специализации в рамках области определения и есть еще более фундаментальные основы, которые дают понимание самых базовых принципов.
Менеджмент становится намного проще при знании мат аппарата теории массового обслуживания (теории очередей) просто потому, что знание что там в числителе, что в знаменателе, что от чего зависит позволяет быстро оценить зависимости по переменным для любого контекста. Это не обязательно, конечно, и не всем нужно, но для обучения менеджменту (в моем понимании - и архитектуре), для понимания как работать с потоком создания ценности, это имхо прям must have знания.
Туда же микросервисы, где для создания написания кода сервисов важнее прикладные навыки, а для проектирования уже важны и фундаментальные знания, причем чем в большем спектре они перейдут в проф. интуицию, тем лучше.
Буду рад обсудить в коментах.
1. Академическую часть
2. Приклад
3. Контекстно-зависимое применение
Поясню на примере ДДД.
Академическая часть - это Эванс, Вернон, работы о самом ДДД, теория сложных адаптивных систем, моделирование, системное мышления и проячее. Академическая часть нужна для того чтобы:
- развивать фундаментальные основы, независимо от приклада
- обучать прикладным вещам (да, для этого важно понимать, на чем они основаны)
2. Приклад. Например, - дизайн организационной структуры, принятие управленческих решений на основе типов доменов (что инхаус разрабатывать, что отдать на аутсорс), проектирование микросервисного решения
3. Контексто-зависимый приклад - например, Банк, CRM, ритейл, Поиск. Для применения здесь не нужно даже знать терминологию ДДД, и даже вообще знать что есть какое-то ДДД, но тому кто будет проектировать или строить модели, проводить совместное исследование домена, безусловно, нужны знания и на академическом и на прикладном уровне (а вот контекстно-зависимый приклад уже не так важен, его нужно структурировать усилиями участников совместной практики).
И так с любой практикой, имхо. Есть популярный узкоспециализированный приклад, есть принципы и основы на которых он построен и их знание позволяет подстраиваться под любые специализации в рамках области определения и есть еще более фундаментальные основы, которые дают понимание самых базовых принципов.
Менеджмент становится намного проще при знании мат аппарата теории массового обслуживания (теории очередей) просто потому, что знание что там в числителе, что в знаменателе, что от чего зависит позволяет быстро оценить зависимости по переменным для любого контекста. Это не обязательно, конечно, и не всем нужно, но для обучения менеджменту (в моем понимании - и архитектуре), для понимания как работать с потоком создания ценности, это имхо прям must have знания.
Туда же микросервисы, где для создания написания кода сервисов важнее прикладные навыки, а для проектирования уже важны и фундаментальные знания, причем чем в большем спектре они перейдут в проф. интуицию, тем лучше.
Буду рад обсудить в коментах.
👍13🤔1
Forwarded from Архитектура ИТ-решений
Собственно, короткая заметка о выходе TOGAF10 у меня в блоге https://mxsmirnov.com/2022/04/28/togaf-10/
👍3