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

Наш ютуб: https://www.youtube.com/@CodeofArchitecture
Download 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

На последнем стриме по этой книге рассмотрим всю третью часть Impact. А именно разберем три главы, посвященные реализации эволюционной архитектуры. Среди тем, которые обсудим:

— рекомендации для построения эволюционной архитектуры;
— подводные камни и антипаттерны на пути к эволюционной архитектуре;
— влияние техники, бизнеса, орг.структуры и команд на возможность реализации эволюционной архитектуры.

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

🔔 Последний стрим по Building Evolutionary Architectures проведем во вторник 13 июня в 18:00 по Москве.

Не забудьте подписаться на уведомления нашего ютуб-канала, чтобы не пропустить начало.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ждем сегодня на заключительном стриме по Building Evolutionary Architectures

На последнем стриме по этой книге рассмотрим всю третью часть Impact. А именно разберем три главы, посвященные реализации эволюционной архитектуры. Гостем эфира станет Сергей Баранов.

🔔 Встречаемся в 18:00 по Москве на нашем ютуб-канале.
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
В понедельник обсудим white paper «Amazon Aurora: Design Considerations for High Troughput cloud-Native Relational Databases»

Amazon Aurora — интересная база данных как с точки зрения маркетинга, так и технически:

— если говорить про маркетинг, то этот технический продукт внутри AWS особо отмечал Джефф Безос в своих ежегодных письмах акционерам за 2014 и 2015 год;

— если говорить про технику, то это реализация концепции «the log is a database».

Сам документ состоит из следующих частей:

• Introduction — здесь авторы обсуждают проблему, которую можно охарактеризовать так: «The I/O bottleneck faced by traditional database systems changes in cloud environment»;

• Durability at cloud scale — как подходить к рассмотрению буковки D из знакомого всем акронима ACID, размышлять про кворумы, кореллированные ошибки и сокращать MTTR (mean time to recovery) за счет разделения данных на сегменты;

• The log is the database — как превратить redo лог в основной элемент базы данных и материализовывать остальные сущности асинхронно;

• The log marches forward — основная часть про логику работы log sequence number в нормально состоянии и в случае отказов;

• Putting it all together — раздел с красивой картинкой, где показана общая архитектура, собирающая воедино мысли из предыдущих разделов;

• Performance results — результаты бенчмарков, которые показывают ради чего затевался весь сыр-бор;

• Lessons learned — рассказ, почему Aurora хороша для SaaS приложений типа salesforce, про эволюцию схемы внутри БД, и как патчить саму Aurora без downtime;

• Related work — в этом разделе описываются другие работы, которые относились к дизайн принципам, которые использовали ребята при проектировании Aurora.

Эфир проведем вместе с нашими коллегами: Игорь Маслов, руководитель управления базовых технологий и обработки данных Тинькофф и Виталий Кондратов, архитектор отдела базовых технологий.

🔔 Встречаемся 19 июня в 18:00 по Москве на нашем ютуб-канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
▶️ Ждём на сегодняшнем эфире по white paper «Amazon Aurora»

Базу данных разберем вместе с нашими коллегами — Игорем Масловым и Виталием Кондратовым.

🔔 Встречаемся в 18:00 по Москве на нашем ютуб-канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 Делимся артефактами со вчеращнего обсуждение Amazon Aurora

Запись стрима можно посмотреть на нашем ютуб-канале, важные моменты — на доске в Miro, а краткое саммари прочитать в статье Александра Поломодова.
Please open Telegram to view this post
VIEW IN TELEGRAM
Выбираем новую книгу 📗

Выбираем вместе с вами следующий нон-фикшн. Отмечайте понравившийся вариант в опросе ниже👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Пост не про книги 👾

Сейчас у нас во всю идет регистрация на соревнования по спортиному хакингу для любых направлений IT's Tinkoff CTF. Миссии, которые предстоит пройти участникам, будут интересны разработчикам, SRE- и QA-инженерам, аналитикам и другим ИТ-специалистам. А еще можно выбрать лигу по своим скиллам: для тех, кто раньше не участвовал в таких соревнованиях, или для опытных игроков с хардовыми испытаниями.

Лучшие команды наградят весомыми призами! Покорять мультивселенные участники отправятся 15 и 16 июля. Участвовать можно онлайн и очно в наших ИТ-хабах по всей России. Там офлайн-участников ждут квизы, настолки, крутой мерч и нетворкинг с экспертами.

Зарегистрироваться и прочитать подробнее можно здесь и в карточках выше 👆

#itstinkoffCTF
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 Начнем обсуждать Kubernetes Patterns (2-е издание) в понедельник

В первом выпуске начнем с самого простого: обсудим вводную главу и первую часть книги с фундаментальными паттернами.

В первой главе пойдет речь про:

— самые основы в виде 12-factor application как некого стандарта для приложений;
— базовые концепции k8s контейнеров, подов, сервисов, labels и namespaces.

А в части про фундаментальные паттерны обсудим:

— как описывать зависимости приложения;
— как декларативно задавать то, как оно должно разворачиваться;
— как делать health checks приложений;
— как выглядит управление жизненным циклом приложения;
— как происходит автоматическое размещения рабочих нагрузок в кластере и как мы можем на это влиять с точки зрения разработки.

Гость эфира — наш коллега Станислав Сычев, руководитель команды Runtime Platform. Его команда строит крупные K8s-кластеры и продумывают, как в них жить множественным потребителям.

🔔 Встречаемся в понедельник 10 июля в 18:00 по Москве на нашем ютуб-канале.

#kubernetes_patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
Ждем сегодня на первом стриме по Kubernetes Patterns

На стриме обсудим вводную главу и первую часть, в которой говорится о фундаментальных паттернах. Гостем эфира станет наш коллега Станислав Сычев.

Также перед стримом рекомендуем прочитать обзор Александра Поломодова whitepaper «Design patterns for container-based distributed systems». Авторы статьи Brendan Burns (соавтор Kubernetes) и David Oppenheimer проводят параллели между паттернами из объектно-ориентированного программирования и паттернами для контейнеров, которые дают полезные абстракции для построения распределенных систем. Они рассматривают три варианта паттернов:

— паттерны уровня одного контейнера;
— паттерны уровня одной машины (single-node);
— паттерны уровня многих машин (multi-node).

Изучение этого whitepaper позволит отследить эволюции концепции контейнерных паттернов от этой статьи до книги Kubernetes Patterns.

🔔 Встречаемся в 18:00 по Москве на нашем ютуб-канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
📗Продолжаем читать Kubernetes Patterns (2-е издание)

Во втором выпуске сфокусируемся на поведенческих паттернах. Поговорим про взаимодействие Pods и самой платформы.
А также обсудим:

— какие бывают типы заданий в k8s;
— какие виды запуска подов обеспечивает k8s;
— можно ли построить stateful-приложение с помощью стандартных инструментов k8s;
— как в k8s происходит Service Discovery;
— и что под можем сам рассказать о себе.

Гостями эфира станут наш коллега Салих Фахрутдинов, Senior SRE Tinkoff Origination Platform, который отвечает за надежность заявочного процесса банка, и Михаил Кабищев из Ozon, он руководит разработкой платформы, которая делает жизнь dev-команды легче и проще.

🔔 Встречаемся в понедельник 17 июля в 18:00 по Москве на нашем ютуб-канале.

#kubernetes_patterns
Please open Telegram to view this post
VIEW IN TELEGRAM