Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Четвертый выпуск Code of Architecture по книге "Building Evolutionary Architectures"

Сегодня в 18:00 по Москве мы продолжим чтение книги про эволюционную архитектуру и поговорим про главу
Обсудим 6-ую главу Building Evolutionary Architectures, а точнее про темы
— инкрементальное изменение схемы и данных в базе данных
— транзакции как драйвер эволюции
— контроль ссылочной целостности в распределенных системах

Также поговорим о том, подходят ли триггеры и хранимые процедуры для эволюционной архитектуры.
Гостем стрима станет Николай Голов, Head of data engineering в ManyChat. В прошлом Николай развивал data-платформу в Авито и помогал перейти к микросервисной архитектуре от монолита.

#CoA #Databases #Data #SoftwareDevelopment #SoftwareArchitecture #Architecture #SystemDesign
👍72
Organization: A Tool for Software Architects • Eberhard Wolff • GOTO 2021

Интересное выступление с goto конференции, посвященное связи архитектуре и тому, как она связана с происходящим в организации.
Автор для начала рассказывает про закон Конвея "Организации проектируют системы, которые копируют структуру коммуникаций в этой организации" (1967 год).
А дальше рассказывает про обратный маневр Конвея (2012 год), который собственно и показывает как можно использовать организацию как инструмент для архитекторов:)
Дальше история развивается в сторону customer-supplier взаимодействия команд внутри компании - это один из паттернов взаимодействия команд, который разбирается в DDD, подробнее можно почитать в моем кратком саммари книги Влада Хононова "What is DDD".
Дальше автор доклада делает следующие выводы и задает следующие вопросы
1) Organization must be defined -> coarse-grained architecture
2) Managers work on organization & (organization = architecture) -> (architects == managers)? - но тут автор отвечает, что в законе Конвея не про оргсхему, а про коммуникации в организации
3) Communiction is a tool for architects - вывод из предыдущего размышления. Тут же появляется история про CoP (Community of Practiice), которое у нас в Tinkoff реализуется через институт профессий, у которых есть свои лидеры, общие встречи, задачи улучшения общих инструментов и практик

Дальше автор рассказывает про книгу "Accelerate", из которой он делает вывод, что на замену старому подходу к архитектуре, где все решения принимает архитектор, должен прийти новый, где "what is important is enabling teams to make changes to their products or services without depending on other teams or systems". В этой концепции architec enable others:) Потом автор вспоминает про концепцию коллаборативных игр и конкретно игру "Pandemic", где все участники уж точно в одной лодке и побеждают или проигрывают вместе - так должно быть и в IT проектах:)

Где-то в середине выступления автор доходит до слайда
Architects shouldn't do architecture!
Вместо этого он предлагает архитектору помогать распространению знаний и дальнейшему их adoption в рамках работы. Дальше пример с проведением вокршопов с kata/dojo и дальше поддержки команд, что пробуют новое. Преимуществами воркшопа автор называет
- распространение знаний о новых техниках
- распространение знаний о вызовах и решениях
- улучшение коллаборации команд

Ну и заканчивается все обсуждением культурных вопросов и проблем
1) Когда на обсуждении новой идеи люди говорят "Well, just tell us how you want us to work" - здесь проблема с тем, что так не работает, работа над новой идеей - это совместная работа и если люди просто спрашивают "что им нужно делать", то значит они не купили вашу идею
2) Шаринг бизнес-целей и стратегии с архитекторами, например по причине секретности - ну тут сложно что-то улучшать, если не понятна цель
3) Социальные организации не являются детерминисткими - наши действия не всегда приводят к предсказуемому результату. Автор приводит пример с неудавшейся реорганизацией, которая не повлияла на потоки коммуникации

В заключении автор заканчивает следующими тезисами
- establishing communication = supporting architecture
- training + consulting = fine-grained architecture

#Architecture #SoftwareArchitecture #Architect #Conference #SoftwareDevelopment #Software #Management
👍10🔥2
Материалы к четвертому выпуску Code of Architecture по книге "Building Evolutionary Architectures"

Вчера у нас прошел четвертый стрим по книге и мы упоминали следующие книги и концепции:
- Книга "Рефакторинг баз данных: эволюционное проектирование (Refactoring Databases: Evolutionary Database Design)" - старая книга 2006 года, на основе которой авторы написали обсуждаемую главу. Pramod Sadalage - является соавтором как старой книги, так и новой. В этой книге обсуждалось то, как жилось раньше во времена, когда RDBMS были доминирующей силой и они предоставляли гарантии ACID
- Книга "NoSQL. Методология разработки нереляционных баз данных (NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence)" - старая книга 2012 про NoSQL базы, что пришли вслед за RDBMS. В этой книге Pramod Sadalage тоже является соавтором. Кстати, NoSQL решения уже не предоставляли гарантии ACID, а ограничивались BASE (Basically Available, Soft-state, Eventually-consistent)
- Концепция NewSQL, которая пришла вслед за стандартными RDBMS и NoSQL решениями. Основная особенность в том, что клиенты такой базы получают в ней одновременно и ACID гарантиии на транзакции и горизонтальное масштабирование как в NoSQL решениях. Но ничего не дается бесплатно, поэтому такие базы обычно сложно устроены внутри и нетривиальны с точки зрения operations
- Отдельно мы вспоминали про GDPR и штрафы за его несоблюдение, например, за бесконечное хранение данных пользователей.
- Плюс много историй было про Snowflake и есть вот такое крутое видео от Николая, где он про него рассказывает
- Кроме того, мы упоминали и другие базы данных из категории NewSQL
- - Google Spanner - один из первых представителей класса NewSQL решений. Подробнее рекомендую почитать в white paper. Есть в облаке Google в формате Google Cloud Spanner
- - CockroachDB - другая NewSQL база данных, которую написали выходцы из Google, вдохновляясь Google Spanner. Подробнее в white paper. В прошлом году ребята из Cockroach Labs анонсировали CockroachDB Serverless в GA (generally available)
- - YDB - другая NewSQL база данных, но уже от Yandex. Примечательно, что тут другой подход к транзакциям, а именно детерминированные транзакции Calvin, подробнее в white-paper. Она доступна в Yandex Cloud

#SoftwareArchitecture #Architect #CoA #Databases #Data #SoftwareDevelopment #SystemDesign #DistributedSystems
👍7🔥2
Беслатный онлайн-курс по математике для школьников 4-6 классов от Тинькофф Образования

У нас появились бесплатные курсы по математике для школьников в средних классах. Эти курсы помогут повысить интерес к математике у школьников, так как не всегда математику преподают в школах круто. Также курсы могут помочь развить мышление и подготовить школьников к новым свершениям в старших классах.

P.S.
Я сам учился в ЗФТШ (заочной физико-технической школе при МФТИ), но это было уже в 10 и 11 классе и помогло мне в свое время поступить на Физтех. Но эта штука не очень масштабировалась, а наше обучение в рамках Тинькофф Поколения сможет охватить больше направлений и помочь большему количеству школьников получить актуальные и полезные знания и навыки. В общем, я считаю, что наши программы обучения - это топчик:)

#Math #Courses #SelfDevelopment #ForKids #Science
👍11❤‍🔥7
Рождение богов (La Sagesse des Mythes. La Naissance des Dieux)

Очень красивый и интересный комикс из той же серии, что комикс про Прометея и Ящик Пандоры. На самом деле именно этот комикс является началом серии, так как тут рассказывается греческая версия большого взрыва с появлением земли (Геи) из Хаоса, дальше рождением неба (Урана), а также дальнейшим появлением первых богов греческого Пантеона, среди которых был и Кронос, единственный не оказавшийся взаперти. Дальше срабатывает рекурсия и Кронос ведет себя как свой отец Уран, но его младшенький сын, Зевc, тоже оказывается на свободе и идет против отца ... В общем, этот комикс позволяет ознакомиться с космологией по гречески, которая переплетается с религией и философией.

Автор этих комиксов - современный французский философ, Люк Ферри, который знакомит людей с великими мифами через философские идеи.

#Comics #History #ForKids
👍8
Continuous Architecture in Practice Eoin Woods & Simon Brown • GOTO 2021

Крутое интервью в двух частях Eoin Woods (соавтора книги "Continuous Architecture in Practice"), которое он дал Simon Brown (автора книги "Software Architecture for Developers").

В первой части они обсуждают
- Обсуждают древние времена начала 2000х годов, когда Eoin вместе с Nick Rozanski написал книгу "Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives". Это были времена waterfall, RUP (rational unified processes), UML и остальных вещей, которые потеряли популярность в наши времена
- Дальше происходит погружение в то, к чему относится Viewpoints and Perspectives - Eion рассказывает про "4+1 architectural view model" и как они расширяли этот подход
- Дальше ребята обсуждают "context view", который был в книге "Software Systems Architecture", где этот контекст должен был быть у продакта системы, но на практике оказалось, что такого контекста нет ни у кого и его приходится собирать в начале проектирования системы
- А продолжается все вопросом архитектурной документации и какой минимальный состав необходим - Eion отвечает, что все зависит от потребностей стейкхолдеров:) Дальше приводит ребят из operations, compliance, ... Тут же обсуждается история про самодокументируемый код и отсутствие необходимости в документации, как проповедовал Uncle Bob - этот подход авторы ставят под сомнение

Во второй части обсуждение продолжается другими темами
- UML в 2021 году - Eoin много лет продвигал UML, но в 2021 году многие уже не умеют его читать и понимать
- Про синхронизацию частей системы - здесь про моделирование в отличие от картинок в Power Point (подробнее можно посмотреть в выступлении Simon Brown про structurizr)
- Про разницу evolutionary и contionuos architecture - здесь автор сравнивает книгу evolutionary architecture (что мы обсуждаем в книжном клубе "Code of Architecture") и свою, в которой более практичный подход к постоянной работе над архитектурой систем
- Про важность software architecture в век agile разработки, когда вопросы продумывания архитектуры отбрасывают как рудимент больших up front ивестиций и решают просто начать писать код спринт за спринтом:)
- Про архитектурное мышление и размазывание архитектурных решений на протяжении software development life cycle со сдвигом влево (shift left)
- Про практичность книги "Continuous Architecture in Practice" - целевая аудитория у книги по мнению авторов: практикующие архитекторы с опытом и те, кто новички в этой роли:)

P.S.
Я уже писал про принципы Continuous Architecture и то, что книга мне зашла. Собственно, после этих интервью мне подход авторов понравился еще больше.

#Software #Architect #SystemDesign #Philosophy #SoftwareArchitecture #Processes #Management
👍6🔥2
Обзор white paper "Google's Hybrid Approach to Research"

В последнее время я заинтересовался темой того, как устроено RnD (Research and Development) направление в разных технологических компаниях. Так я наткнулся на эту статью 2012 года с описанием того, как к этому подходит Google (статья доступна в pdf версии здесь). Мне подход показался интересным и я написал обзор, в который добавил визуализации основных идей авторов изначальной статьи.

#RnD #SoftwareDevelopment #SystemDesign #Engineering #Management
👍11
Письмо Джеффа Безоса акционерам 2010 года

Продолжая тему RnD (Research and Development), я хочу вспомнить письмо Джеффа Безоса акционерам в 2010 году. В этом письме Джефф рассказывал про важность общих подходов и инструментов. Вот основные моменты, что я отметил для себя:
- Many of the problems we face have no textbook solutions, and so we -- happily -- invent new approaches.
- We’ve leaned heavily on the core principles from the distributed systems and database research communities and invented from there.
- All the effort we put into technology might not matter that much if we kept technology off to the side in some sort of R&D department, but we don’t take that approach. Technology infuses all of our teams, all of our processes, our decision-making, and our approach to innovation in each of our businesses. It is deeply integrated into everything we do.


Как по мне, подход близок тому, что описывался в гибридном подходе Google.

#RnD #SoftwareDevelopment #SystemDesign #Engineering #Management
👍52🔥2
Хедлайнеры русского рока: истории групп и их легендарных альбомов

При чтении этой книги складывалось ощущение, что я слышу в фоне музыку тех групп, о которых читаю:)
В книге есть про легендарные группы, которые я слушал еще в детстве: Кино, Аквариум, Земфира, Сплин, Би-2, ДДТ, Ленинград, Наутилус Помпилиус, Алиса, Король и Шут.
Сейчас я предпочитаю слушать зарубежную музыку, так как она хорошо служит фоном и не отвлекает от работы, но иногда по радио в машине я слышу старых знакомых и часто хочеться начать подпевать. Если возвращаться к самой книге, то ее приятно держать в руках - хорошая бумага, красивые фотографии, а также ее интересно читать - путь многих рокеров к успеху на сцене был тернист и нелинеен:)

P.S.
На приложенных снимках можно увидеть содержание книги и понять о ком еще там будет рассказ, кроме вышеперечисленных групп.

#Music #Biography
👍6🔥4
Пятый и последний выпуск Code of Architecture по книге "Building Evolutionary Architectures"

Во вторник в 18:00 по Москве мы закончим читать эту книгу и рассмотрим всю третью часть Impact, в которой всего три главы:
- Building Evolvable Architectures - про принципы, механики и гайдлайны
- Evolutionary Architecture Pitfalls and Antipatterns - про техническую архитектуру, инкрементальные изменения и интересы бизнеса
- Putting Evolutionary Architecture into Practice - организационные факторы, фтнес функции на уровне органзации, с чего начать и к чему прийти

Эфир проведем вмест с Сергеем Барановым, организатором и создателем конференции ArchDays, а еще автором Agile Mindset и телеграм-канала «Микросервисы — русскоязычное сообщество».

#CoA #SoftwareDevelopment #SoftwareArchitecture #Architecture #SystemDesign
👍76🔥1
Invent and Wander. Избранные статьи создателя Amazon Джеффа Безоса (Invent and Wander: The Collected Writings of Jeff Bezos)

Это совместная книга Джеффа Безоса и Уолтера Айзексона, автора популярных биографий Стива Джобса, Альберта Эйнштейна, Леонардо да Винчи и других. Она определенно стоит прочтения
1) В ней классное вступление от Уолтера, где он ярко рассказывает о Джеффе как о человеке, которого можно поставить в один ряд с другими героями его книг
2) Дальше Уолтер передает слово самому Джефу, который рассказывает историю Amazon в ежегодных письмах акционерам
3) А заканчивается все отдельными историями Джеффа на разные темы, такие как доверие, находчивость, конкуренция, гармония работы и личной жизни, ...

В общем, мне было интересно читать книгу, но под конец я немного устал от одних и тех же историй и нарративов.
Например, в книге есть в разных вариациях истории
- про одержимость клиентами, а не конкурентами
- про то, что у Джеффа до сих пор День 1, когда ты все еще не забронзовел и активно меняешься и растешь (альтернатива - это День 2, когда ты стал почивать на лаврах)
- про обратимые и необратимые решения и разный процесс их принятия
- про отсутствие презентаций и культуру написания one-pager и six-pager
- про инновации и риск, а также про то, что лучшие решения он принимал сердцем
- про механику работы платформ, которую он превозносит рассказывая про маркетплейс, программу Fulfillment by Amazon и Amazon Prime
- про то, как появился AWS (Amazon Web Services), как околол 7 лет у него не было конкурентов и как за это время он вырвался вперед
- про важность общих инструментов и подходов, про RnD и инновации в инженерные исследования - кстати, про это я уже рассказывал чуть раньше вспоминая про письмо акционерам за 2010 год
- про то, как появился Blue Origin и зачем человечеству стоит полететь в космос

P.S.
На Ozon сейчас эту книгу можно купить за 162 рубля и хотя перевод местами и ужасный (особенно в части про IT), но читать ее можно.

#Management #Leadership #Biography #SuccessStory
👍65🔥1
Investigation of The Relationship Between Brand Value And R&D Activities: Fortune 500 Companies Analysis

Я продолжаю копать тему RnD и читаю разные статьи и не все из них одинаково полезны. Например, статья от Google, про которую я рассказывал ранее была топчик, а сегодняшняя статья на другом конце спектра. Ребята хотели проверить связь между стоимостью бренда компании и тем, сколько они вкладывают в RnD активности.
Сначала авторы провели метаисследование и проанализировали результаты предыдущих исследований (результаты есть в приложенном изображении), а дальше построили свою модель (есть в приложенных изображениях) и выдывинули следующие гипотезы для проверки
H1: There is a relationship between the brand value and the R&D expenditures of the companies that are involved in Fortune 500.
H2: There is a relationship between the brand value and revenues of Fortune 500 companies
H3: Fortune 500 companies have a relationship between the number of patents and brand value.

В итоге, авторы нашли положительную корреляцию между стоимостью бренда компаний из списка Fortune 500 и их трат на RnD, есть положительная корреляция между стоимостью бренда таких компаний и их доходами. А вот связь корреляции между количеством патентов и стоимостью бренда не оказалось.

P.S.
Вроде бы статья и по интересной мне теме, но какая-то скучная и почти бесполезная.

#RnD #Management #WhitePaper
👏4👍1🔥1
Прыжок с парашютом

Три недели назад я повез сына прыгнуть с парашютом, а внезапно сам вышел из самолета на высоте 4 тысяч метров ...

Все началось еще в апреле, когда мы с женой подарили Паше, старшему сыну, прыжок с парашютом на его день рождения. Ему надо было только выбрать место, где он хочет прыгнуть и вариант прыжка. Он выбрал Ватулино, куда мы и отправились в одно из воскресений. Нам туда надо было ехать порядка двух часов и я решил, что просто отвезти сына туда - это слишком просто, поэтому решил прыгнуть с ним. Мы приехали на место, но было облачно, поэтому часок пришлось подождать пока распогодится, потом мы прошли инструктаж, оделись в костюмы и отправились в самолет. Мы с сыном сели в хвосте самолета и прыгали позже всех, кроме человека в wing suit:)

Я не боюсь высоты и поэтому идея прыжка не вызывала бурных эмоций ... до момента выхода из самолета - на высоте 4 тысяч метров, посмотрев вниз на землю через просветы в облаках, ты выходишь и начинаешь свободное падение ... в первый раз сложно не испытать эмоций. Дальше был полет через облака, раскрытие купола и принятие на время управления над куполом, когда можно, натягивая стропы, закладывать повороты и двигаться в зону приземления. Перед самим приземлением инструктор забрал управление на себя и четко приземлился на поле, что изображено на приложенном снимке.

В общем, первый прыжок с парашютом у меня и Паши удался ...
👍31🔥303😱1
Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture

Сегодня у нас в клубе "Code of Architecture" последний стрим по книге "Building Evolutionary Architecture" и под это дело я решил прочитать книгу про метрики в архитектуре программного обеспечения. И так удачно сложилось, что я смог прочесть большую часть этой книги в пути между Москвой и Сочи. А в Сочи я прилетел вчера на кэмп SouthHub для CTO, где у меня сегодня еще и небольшое выступление.

Но если возвращаться к теме книги, то она
- скромного объема - порядка 200 страниц
- в ней 10 авторов, что так-то дофига:)
- каждый автор рассказывает свой взгляд на метрики и как их оценивать
- а так как у каждого есть свои отдельные книги, то здесь их взгляд угадывается легко, например
-- David Farley рассказывает про CI/CD метрики (соавтор книги "Continuous Delivery")
-- Eóin Woods рассказывает про метрики в рамках подхода continuous architecture (соавтор книги "Continuous Architecture in Practice")
- кроме того, автор каждой главы вспоминает про эволюционную архитектуру и fitness functions, даже если это не очень укладывается в его рассказ - видимо, одной из целей данной книги было популяризировать подход ...
- как по мне это не особо получилось, но набор case studies мне понравился - здесь есть над чем подумать и сделать так, чтобы архитектурные изменения были более целенаправленными и измеримыми.

Кстати, авторы этого сборника говорят о том, что прочитавшие книгу научатся:
- Measure how well your software architecture is meeting your goals
- Choose the right metrics to track (and skip the ones you don't need)
- Improve observability, testability, and deployability
- Prioritize software architecture projects
- Build insightful and relevant dashboards

И в этой книге действительно рассматриваются все эти темы ... Правда, на уровне helicopter view:)

#SoftwareArchitecture #SoftwareDevelopment #Architecture #SystemDesign #Metrics #Management #Processes #ContinuousDelivery
👍19🔥41