"Software Design: Tidy First?" - новая книга, над которой работает Kent Beck. Читать главы можно уже сейчас:
- https://tidyfirst.substack.com/archive?sort=new
#SoftwareDesign
- https://tidyfirst.substack.com/archive?sort=new
#SoftwareDesign
Substack
Archive - Software Design: Tidy First?
Full archive of all the posts from Software Design: Tidy First?.
👍7🔥2👎1
Forwarded from Архитектура ИТ-решений
Обнаружил, что в январе 2022 The Open Group выпустило руководство о том, как делать микросервисы по TOGAF ADM. https://publications.opengroup.org/togaf-library/g21i Вот прям по тупо по процессу, со всеми фазами: бизнес-архитектура, архитектура данных и т.д. На 50 страниц руководство.
Сначала мне показалось это бредом, но потом я решил еще немного почитать и подумать. Вдруг есть в этом тот или иной смысл?
Сначала мне показалось это бредом, но потом я решил еще немного почитать и подумать. Вдруг есть в этом тот или иной смысл?
publications.opengroup.org
TOGAF® Series Guide: Microservices Architecture (MSA)
This document is part of the TOGAF Standard, 10th Edition.
This document provides guidance on how the architect can use the TOGAF® Standard to develop, manage, and govern Microservices Architecture (MSA) or any architecture where MSA is part of the scope.
This document provides guidance on how the architect can use the TOGAF® Standard to develop, manage, and govern Microservices Architecture (MSA) or any architecture where MSA is part of the scope.
👍1
Forwarded from Блог Сергея Баранова
Гипотезу Данбара про 150 контактов опровергли.
https://royalsocietypublishing.org/doi/10.1098/rsbl.2021.0158
Опровержение научное, наборы данных общедоступны. Опровергнуть удалось за счет использования современных вычислительных мощностей, которые были недоступны во время, когда Данбар формулировал свою гипотезу.
Почему это важно?
В последние годы один из популярных подходов для проектирования продуктовой структуры под решение на микросервисах — Team Topologies, в основе которого как раз лежит гипотеза Данбара о том, что мы можем поддерживать не более пяти глубоких (интимных) дружеских отношений, примерно 150 приятельских контактов, но можем знать имена до 1500 человек.
В итоге выяснилось, что одним числом показатели выразить невозможно, даже границы (от и до) кол-ва приятельских отношений (те самые 150) определить статистически не удалось, там от нуля и до неизвестно скольки сверху.
В общем, эти выводы ставят под сомнение опирающиеся на число Данбара структуры в Team Topologies и Agile Release Train в Scaled Agile. Это не означает, что они неверные или не эффективные, это лишь означает, что одна из гипотез, лежащих в основе формирования структур опровергнута, что открывает для нас простор для экспериментов и улучшений.
https://royalsocietypublishing.org/doi/10.1098/rsbl.2021.0158
Опровержение научное, наборы данных общедоступны. Опровергнуть удалось за счет использования современных вычислительных мощностей, которые были недоступны во время, когда Данбар формулировал свою гипотезу.
Почему это важно?
В последние годы один из популярных подходов для проектирования продуктовой структуры под решение на микросервисах — Team Topologies, в основе которого как раз лежит гипотеза Данбара о том, что мы можем поддерживать не более пяти глубоких (интимных) дружеских отношений, примерно 150 приятельских контактов, но можем знать имена до 1500 человек.
В итоге выяснилось, что одним числом показатели выразить невозможно, даже границы (от и до) кол-ва приятельских отношений (те самые 150) определить статистически не удалось, там от нуля и до неизвестно скольки сверху.
В общем, эти выводы ставят под сомнение опирающиеся на число Данбара структуры в Team Topologies и Agile Release Train в Scaled Agile. Это не означает, что они неверные или не эффективные, это лишь означает, что одна из гипотез, лежащих в основе формирования структур опровергнута, что открывает для нас простор для экспериментов и улучшений.
👍19
Архитектура ИТ-решений
Обнаружил, что в январе 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