Code of Architecture
4K subscribers
66 photos
10 files
156 links
Канал книжного клуба Code of Architecture команды Тинькофф. Здесь мы анонсируем новые выпуски, обсуждаем прочитанное, делимся инсайтами и предлагаем новые книги для прочтения.

Наш ютуб: https://www.youtube.com/@CodeofArchitecture
Download Telegram
🗂 Делимся материалами с первого стрима по Building Evolutionary Architectures

На эфире упомянули много источников, которые связанны с темами эволюционной архитектуры:

Building Evolutionary Architectures (2nd Edition) • Rebecca Parsons, Neal Ford & James Lewis • GOTO 2023 — интервью авторов про второе издание книги;
Новогодний выпуск клуба Code of Architecture с обсуждением Amazon’s «The Distributed Computing Manifesto» — статья с разбором манифеста и эволюции архитектуры Amazon в начале двухтысячных;
Scaling up the Prime Video audio/video monitoring service and reducing costs by 90% — статья про недавнюю эволюцию архитектуры сервиса в Amazon с лямбда функций в монолит;
Migrations — The Hardest Actual Problem in Computer Science • Matt Ranney • YOW! 2022 — выступление Matt Ranney, Principal Engineer из DoorDash про сложность миграций при попытке реализовать эволюцию архитектуры;
Миграция в срок, реальность или миф? — подкаст Антона Костерина, моего заместителя в Тинькофф, который рассказал про сложности одной из наших миграций;
Chaos Engineering. Building Confidence in System Behavior through Experiments — книга про хаос-инженерию, которую авторы предлагают использовать в качестве фитнес-функций;
The Pipeline-Driven Organization • Roy Osherove • GOTO 2022 — интересное выступление на тему организаций, ориентированных на flow поставки ценности. Вместо DevOps, DevSecOps, TestOps, DevSecTest...WTF...Ops просто pipeliine-driven;
Самая главная молекула — крутая книга про ДНК и эволюцию;
«Рождение сложности. Эволюционная биология сегодня» — крутая книга про эволюцию и происхождение жизни.

#BEA_артефакты
Please open Telegram to view this post
VIEW IN TELEGRAM
🗂 Делимся артефактами со второго эфира по Building Evolutionary Architectures

Запись стрима можно посмотреть на нашем ютуб-канале. А во время эфира мы упоминали следующие источники:

- Structurizr — средство для моделирования в формате «diagrams as code», которое позволяет создавать множество диаграмм из одной модели;
- Backstage — централизованный каталог сервисов от Spotify, что уже проект CNCF, который позволяет продуктовым командам поставлять код хорошего качества, но одновременно не уменьшает их автономность. Вспоминали это как средство, где можно впиливать governance;
- getport.io — другая developer-платформа по типу backstage;
- KubeVela — «KubeVela is a modern software delivery platform that makes deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable»;
- Книга Clean Architecture и ее часть про дизайн модулей (краткое саммари этой части от Александра Поломодова можно прочитать здесь);
- Книга Software Architecture: The Hard Parts — в ней +/- те же авторы рассматривали +/- те же самые примеры fitness functions (мы ее рассматривали в прошлых сезонах Code of Architecture);
- Книга «Космо-логически» — простой экскурс в астрономию и main sequence, которая упоминается в принципах дизайна модулей наравне с abstractness, instability (крутой видеообзор на нее можно посмотреть здесь).

#BEA_артефакты
Please open Telegram to view this post
VIEW IN TELEGRAM
🗂 Делимся артефактами с третьего эфира по Building Evolutionary Architectures

В понедельник провели третий стрим по книге вместе с Сергеем Барановым. Делимся источниками, которые упоминали во время эфира:

Connascence.io — отдельный сайт, посвященный connascence и тому, как она относится к coupling и cohesion;
Бритва Оккама — та концепция, что не использовалась авторами книги при генерации контента;
Обзор книги «Learning DDD» — в этой книге многие темы рассмотрены гораздо лучше и глубже, чем в эволюционной архитектуре. Книгу мы обсуждали: записи стримов и специальный эфир с Владом Хононовым можно посмотреть в этом плейлисте;
— Книга «Continuous Architecture in Practice» — другая книга про непрерывное развитие архитектуры систем, которая показалась нам на порядок лучше эволюционной архитектуры;
Обзор книги «Fundamentals of Software Architecture» — изначально в этой книге появилась тема с connascence и архитектурными квантами;
— Книга «Software Architecture: The Hard Parts» — примеры в ней +/- те же авторы рассматривали +/- те же самые примеры (а еще краткий обзор всей книги можно прочитать в статье Александра Поломодова);
«Жизнь на грани» (Life on the Edge: The Coming of Age of Quantum Biology) — мы много говорили про эволюцию и развитие жизни, а эта книга как раз классно рассматривает эти темы;
Опенок темный с грибницей на 880 гектар — мы обсуждали ее в контексте, можно ли ее признать одним квантом.

#BEA_артефакты
Please open Telegram to view this post
VIEW IN TELEGRAM
🗂 Делимся артефактами с третьего эфира по Building Evolutionary Architectures

Вчера провели четвертый стрим по этой книге, на котором упомянали следующие книги и концепции:

«Рефакторинг баз данных: эволюционное проектирование (Refactoring Databases: Evolutionary Database Design)» — нон-фикшен 2006 года, на основе которого авторы написали обсуждаемую главу. В ней обсуждалось, как жилось раньше, во времена, когда RDBMS были доминирующей силой и они предоставляли гарантии ACID. Прамод Садаладж, кстати, является соавтором как старого, так и нового издания;

«NoSQL. Методология разработки нереляционных баз данных (NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence)» — тоже довольно старая книга 2012-го про NoSQL-базы, что пришли вслед за RDBMS. В ней Садаладж тоже соавтор. Кстати, 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.


#BEA_артефакты
Please open Telegram to view this post
VIEW IN TELEGRAM
🗂 Делимся артефактами с заключительного эфира по Building Evolutionary Architectures

Вчера проверили финальный стрим по книге. Miro по ней можно посмотреть здесь. Во время эфира упоминали следующие нон-фикшены и концепции:

Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture — книга с примерами использования архитектурных метрик от 10 экспертов в разработке софта;

— Whitepaper «From X programming to the X organisation» автора Enrico Zaninotto — статья с конференции, где на проектирование взглянули с точки зрения дизайна организации;

Organization: A Tool for Software Architects • Eberhard Wolff • GOTO 2021 — выступление на похожую тему, о том, что организация является инструментом для работы архитекторов;

Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations — крутая книга про построение высокопроизводительных организаций, где популяризируются DORA метрики (deployment frequency, lead time for changes, mean time to recover, change failure rate). Является must read для технических руководителей, хотя есть и обоснованная критика исследований (как обычно в исследования про возможность из корреляций сделать причинно-следственные выводы);

Обзор книги «Learning DDD» — ее мы уже обсуждали. В этой книге многие темы рассмотрены гораздо лучше и глубже, чем в эволюционной архитектуре;

Continuous Architecture in Practice — другая книга про непрерывное развитие архитектуры систем, которая показалась на порядок лучше эволюционной архитектуры;

Проект Феникс (The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win) — книга написана в жанре производственного романа и похожа на книгу «Цель» (Goal) или «Критическая цепь» (Critical Chain) Голдратта. Правда, здесь основные действия разворачиваются не на заводе, а в среде обитания айтишников компании Parts Unlimited;

Проект единорог (The Unicorn Project: A Novel about Developers, Digital Disruption, and Thriving in the Age of Data) — эта книга написана Gene Kim как продолжение предыдущего «Проекта Феникс». В прошлой книге был показан impact менеджеров на процессы разработки, а в этой книге — импакт individual contributors;

Письмо Jeff Bezos акционерам Amazon от 2015 года — здесь он рассказывал среди прочего про Invention Machine и решения двух типов:

- Type 1:

«Some decisions are consequential and irreversible or nearly irreversible – one-way doors – and these decisions must be made methodically, carefully, slowly, with great deliberation and consultation»

- Type 2:

«But most decisions aren’t like that – they are changeable, reversible – they’re two-way doors. If you’ve made a suboptimal Type 2 decision, you don’t have to live with the consequences for that long».

В письме речь шла умение принимать решения второго типа быстро, а решения первого — методично и взвешанно. И это отлично укладывается в архитектурные подходы.

Определение Гради Буча для Software Architecture звучало так: «Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change». Но сейчас часто предлагают необратимые решения откладывать напоследок до момента, когда у нас будет достаточно информации, и сами решения уже не принимать нельзя. Это обеспечивает определенную гибкость архитектуре и пригодность к дальнейшей эволюции.

#BEA_артефакты
Please open Telegram to view this post
VIEW IN TELEGRAM