На вчерашнем стриме обсуждали организацию коммуникации разных частей в распределенных системах. Разбирали:
— сетевые протоколы;
— remote procedure calls (rpc);
— ориентированные на сообщения коммуникации;
— варианты мультикаста.
Запись эфира уже можно посмотреть на ютуб, а главные тезисы прочитать в статье Александра Поломодова или на доске в Miro.
Please open Telegram to view this post
VIEW IN TELEGRAM
Обсудим:
— как синхронизировать часы в разных частях распределенной системы;
— концепцию логических часов (logical clocks);
— как делать взаимные блокировки (mutual exclusion), чтобы совместно использовать ресурсы;
— как можно выбирать лидера (election algorithms);
— как работает координация при помощи сплетен (gossip-based coordination);
— работу publish-subscribe и то, как распределенно делать event matching.
Также найдем способ для оценки близости двух частей распределенной системы между собой (location systems и GPS в качестве примера).
Гостями стрима станут наши коллеги: Сергей Гоппиков, руководитель команд платформы открытия продуктов Tinkoff Business, и Даниил Кулешов, архитектор новой системы авторизации для клиентов Тинькофф.
🗓️ Увидимся в понедельник 13 февраля в 18:00 по Москве на нашем ютуб-канале.
До встречи в эфире!
Please open Telegram to view this post
VIEW IN TELEGRAM
— физические и логические часы;
— взаимные блокировки;
— выбор лидера;
— подход publish-subscribe в распределенных системах;
— близость узлов между собой и то, как ее можно оценивать.
Запись стрима можно посмотреть на нашем ютуб-канале, а главные тезисы главы прочитать в статье Александра Поломодова и на доске в Miro.
Please open Telegram to view this post
VIEW IN TELEGRAM
— зачем нужны имена, идентификаторы и адреса;
— что такое плоское именование — flat naming (в качестве примеров рассмотрим Distributed Hash Tables);
— что такое структурированное именование — structured naming (разберем работу DNS и Unix FileSystems);
— что такое именование, основанное на атрибутах — attribute-based naming (вспомним про LDAP);
— что такое named-data networking.
Гостем стрима станет наш коллега Алексей Квак, который руководит группой разработки в Тинькофф, а еще специализируется на бэкенде и базах данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ждем сегодня на стриме🔔
Прочитаем шестую главу Distributed Systems, которая посвящена именованию в распределенных системах. Гостем эфира станет наш коллега Алексей Квак.
Встречаемся в 18:00 (по Москве) на нашем ютуб-канале.
Прочитаем шестую главу Distributed Systems, которая посвящена именованию в распределенных системах. Гостем эфира станет наш коллега Алексей Квак.
Встречаемся в 18:00 (по Москве) на нашем ютуб-канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
В понедельник обсудили шестую главу Distributed Systems вместе с Алексеем Кваком. Разобрали:
— адреса, идентификаторы и имена;
— плоское именование, включая распределенные хэш-таблицы и consistent hashing;
— структурное именование, включая unix filesystem и DNS;
— attribute-based naming, включая триплеты RDF из семантического веба и LDAP, как комбинацию структурного и attribute-based подхода;
— name-data networking — экспериментальный подход, который хочет занять место протокола IP в современном интернете.
Запись эфира можно посмотреть на ютуб-канале, тезисы — в статье Александра Поломодова и на доске в Miro.
Please open Telegram to view this post
VIEW IN TELEGRAM
📖 Обсудим репликацию и консистентность на завтрашнем стриме
В эфире разберем:
— для чего нужна репликация и какие проблемы она решает (производительность и надежность), а какие приносит с собой (сложность поддержки консистентности);
— модели консистентности (дата-центричные и клиенто-центричные);
— дата-центричные модели консистентности (sequential, causal, eventual, continuous);
— клиенто-центричные модели консистентности (monotonic reads, monotonic writes, read your writes, writes follow reads), а также рассмотрим пример с ZooKeeper;
— управление репликами (replica management);
— протоколы косистентности.
А еще поговорим о том, как работает кеширование и репликация в современном Web.
Гостями стрима станут наши коллеги — Дмитрий Гаевский и Виталий Кондратов. Дмитрий занимается разработкой dev to dev-решений на больших масштабах, создает сложные RnD-решения и проектирует event-driven-системы. Виталий — архитектор в отделе базовых технологий. Он разрабатывает и улучшает базы данных и инфраструктуру для их эксплуатации.
🗓️ Увидимся в понедельник 27 февраля в 18:00 по Москве на нашем ютуб-канале.
В эфире разберем:
— для чего нужна репликация и какие проблемы она решает (производительность и надежность), а какие приносит с собой (сложность поддержки консистентности);
— модели консистентности (дата-центричные и клиенто-центричные);
— дата-центричные модели консистентности (sequential, causal, eventual, continuous);
— клиенто-центричные модели консистентности (monotonic reads, monotonic writes, read your writes, writes follow reads), а также рассмотрим пример с ZooKeeper;
— управление репликами (replica management);
— протоколы косистентности.
А еще поговорим о том, как работает кеширование и репликация в современном Web.
Гостями стрима станут наши коллеги — Дмитрий Гаевский и Виталий Кондратов. Дмитрий занимается разработкой dev to dev-решений на больших масштабах, создает сложные RnD-решения и проектирует event-driven-системы. Виталий — архитектор в отделе базовых технологий. Он разрабатывает и улучшает базы данных и инфраструктуру для их эксплуатации.
🗓️ Увидимся в понедельник 27 февраля в 18:00 по Москве на нашем ютуб-канале.
Разберем седьмую главу Distributed Systems вместе с Дмитрием Гаевским и Виталием Кондратовым. В эфире обсудим репликацию и консистентность.
Встречаемся в 18:00 (по Москве) на нашем ютуб-канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня в эфире разберем:
— базовые концепции и модели отказов;
— устойчивость на уровне процессов на примере алгоритмов Raft и Paxos;
— надежную связь между клиентом и сервером (ошибки на уровне p2p взаимодействия и RPC);
— надежную доставку сообщений группе процессов: multicasting и atomic multicast протоколы;
— распределенный коммит (вспомним о 2-х и 3-х фазном коммите и сценариях, которые они закрывают);
— техники восстановление из сбоев: checkpointing и логирование сообщений.
Гостями стрима станут Денис Костоусов, ведущий Scala-разработчик нашей команды Common, и Салих Фахрутдинов, Senior SRE Tinkoff Origination Platform, он отвечает за надежность заявочного процесса банка.
Please open Telegram to view this post
VIEW IN TELEGRAM
Этот эфир мы провели вместе Виталием Кондратовым в начале прошлой недели. На стриме обсуждали:
— для чего нужна репликация и какие проблемы она решает (производительность и надежность), а какие приносит с собой (сложность поддержки консистентности);
— модели консистентности (дата-центричные и клиенто-центричные);
— дата-центричные модели консистентности (sequential, causal, eventual, continuous);
— клиенто-центричные модели консистентности (monotonic reads, monotonic writes, read your writes, writes follow reads), а также рассмотрим пример с ZooKeeper;
— управление репликами (replica management);
— протоколы косистентности.
А еще поговорили о том, как работает кеширование и репликация в современном Web.
Немного задержались с материалами после стрима. Исправляемся! Запись стрима можно посмотреть на нашем ютуб-канале, а краткий обзор и тезисы прочитать в статье Александра Поломодова и на доске в Miro.
Please open Telegram to view this post
VIEW IN TELEGRAM
Девятая глава посвящена безопастности. Поэтому на стриме сегодня обсудим:
— для чего нам нужна безопасность в распределенной системе;
— какие подходы к безопасности бывают: через confidentiality и integrity, а также через модель угроз (security threats);
— как разделять политики безопасности и механизмы для их реализации;
— какие существуют принципы для проектирования надежных систем;
— какие базовые моменты по криптографии надо знать для понимания работы современных протоколов;
— как работает аутентификация и авторизация;
— как размышлять о доверии (trust) в распределенной системе;
— как обеспечивать отслеживание проникнования в систему (intrusion) за счет мониторинга и логов.
Гостем эфира станет наш коллега Игорь Маслов, руководитель управления базовых технологий Тинькофф.
Please open Telegram to view this post
VIEW IN TELEGRAM
В понедельник на заключительном стриме по книге ван Стина и Таненбаума обсуждали вопросы безопасности вместе с Игорем Масловым. Поговорили про модели угроз, политику безопасности и механики для их обеспечения, аутентификацию и авторизацию, а также доверие в распределенных системах. Закончили эфир темой мониторинга и аудита.
Запись стрима — на ютуб-канале, а основные тезисы — на доске в Miro. В статье Александра Поломодова можно также прочитать краткий обзор заключительной главы.
Еще оставляем ссылку на запись 8-й главы, которая посвящена отказоустойчивости. Её мы разбирали в прошлый понедельник вместе с нашими коллегами Денисом Костоусовым и Салихом Фахрутдиновым.
Please open Telegram to view this post
VIEW IN TELEGRAM
На последнем стриме по Distributed Systems мы говорили про вопросы безопасности и кратко обсудили тему авторизации. Нам показалось, что авторы книги пропустили достаточно важную модель — ReBAC (Relationship-Based Access Control).
Она стала популярна после того, как Google в 2019 году опубликовал white paper «Zanzibar: Google’s Consistent, Global Authorization System». В документе авторы рассказали:
— как конфигурировать авторизационную модель;
— как выражать взаимосвязи в виде триплетов;
— как проверять наличие или отсутствие прав.
Отдельно стоит отметить, что с моментам публикации Zanzibar несколько компаний сделали коммерческие и Open Source-реализации этой модели, например, SpiceDB. Это позволяет использовать подход в своих проектах.
В понедельник на стриме мы более детально обсудим проблематику авторизации, разберем модель ReBAC, погрузившись в white paper от Google и немного в Open Source-реализацию на примере SpiceDB.
Гостями эфира станут наши коллегаи — Даниил Кулешов, архитектор новой системы авторизации для клиентов, и Сергей Клименко, который отвечает за аутентификацию и авторизацию, а также сервис Тинькофф ID.
🔔 Встречаемся в следующий понедельник 20 марта в 18:00 по Москве на нашем ютуб-канале.
Она стала популярна после того, как Google в 2019 году опубликовал white paper «Zanzibar: Google’s Consistent, Global Authorization System». В документе авторы рассказали:
— как конфигурировать авторизационную модель;
— как выражать взаимосвязи в виде триплетов;
— как проверять наличие или отсутствие прав.
Отдельно стоит отметить, что с моментам публикации Zanzibar несколько компаний сделали коммерческие и Open Source-реализации этой модели, например, SpiceDB. Это позволяет использовать подход в своих проектах.
В понедельник на стриме мы более детально обсудим проблематику авторизации, разберем модель ReBAC, погрузившись в white paper от Google и немного в Open Source-реализацию на примере SpiceDB.
Гостями эфира станут наши коллегаи — Даниил Кулешов, архитектор новой системы авторизации для клиентов, и Сергей Клименко, который отвечает за аутентификацию и авторизацию, а также сервис Тинькофф ID.
Please open Telegram to view this post
VIEW IN TELEGRAM
Разберем «Zanzibar: Google’s Consistent, Global Authorization System» вместе с Даниилом Кулешовым и Сергеем Клименко.
Встречаемся в 18:00 (по Москве) на нашем ютуб-канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
Google Zanzibar White Paper.pptx.pdf
2.1 MB
В понедельник разобрали вместе с Даниилом Кулешовым и Сергеем Клименко. Делимся артефактами и полезными ссылками с эфира:
- запись стрима;
- сам white paper;
- статья What is Google Zanzibar;
- white paper с хайлайтами;
- Zanzibar Academy.
Презентацию оставили во вложении.
Please open Telegram to view this post
VIEW IN TELEGRAM
В апреле начнем читать нон-фикшен Джона Оустерхаута 📚
Книга посвящена проектированию ПО, точнее его философским аспектам. В ней рассматриваются вопросы управления сложностью, подходы к процессу проектирования и возможные проблемам с ним. Словом, идеи и принципы, которые есть в нон-фикшене Оустерхаута, помогут облегчить и архитектуру больших программных систем и снизить затраты на их разработку.
Краткое саммари всей книги можно прочитать в статьях Александра Поломодова:
— первая часть;
— вторая часть.
Разбирать A Philosophy of Software Design начнем на следующей неделе. Следите за анонсами в нашем канале🔔
Книга посвящена проектированию ПО, точнее его философским аспектам. В ней рассматриваются вопросы управления сложностью, подходы к процессу проектирования и возможные проблемам с ним. Словом, идеи и принципы, которые есть в нон-фикшене Оустерхаута, помогут облегчить и архитектуру больших программных систем и снизить затраты на их разработку.
Краткое саммари всей книги можно прочитать в статьях Александра Поломодова:
— первая часть;
— вторая часть.
Разбирать A Philosophy of Software Design начнем на следующей неделе. Следите за анонсами в нашем канале
Please open Telegram to view this post
VIEW IN TELEGRAM
После недельного перерыва возвращаемся с книгой, которую множество раз упоминали во время предыдущих стримов — A Philosophy of Software Design by John Ousterhout 📘
2-е издание состоит из 22-х глав. Поэтому планируем разобрать этот нон-фикшен за 4 выпуска.
Сегодня разберем первые шесть глав. Подробно обсудим следующие темы:
— Природа сложности. Симптомы и причины;
— Тактическое программирование против стратегического;
— Глубокие модули против мелких;
— Скрытие информации и ее утечка в соседние модули;
— Универсальные модули против специализированных.
Гостем стрима станет наш коллега Гордей Васильев. Он вместе с командой разрабатывает и поддерживает единое API для взаимодействия с backend-системами Тинькофф Страхование.
🔔 Увидимся сегодня в 18:00 по Москве на нашем ютуб-канале.
2-е издание состоит из 22-х глав. Поэтому планируем разобрать этот нон-фикшен за 4 выпуска.
Сегодня разберем первые шесть глав. Подробно обсудим следующие темы:
— Природа сложности. Симптомы и причины;
— Тактическое программирование против стратегического;
— Глубокие модули против мелких;
— Скрытие информации и ее утечка в соседние модули;
— Универсальные модули против специализированных.
Гостем стрима станет наш коллега Гордей Васильев. Он вместе с командой разрабатывает и поддерживает единое API для взаимодействия с backend-системами Тинькофф Страхование.
🔔 Увидимся сегодня в 18:00 по Москве на нашем ютуб-канале.
И в этом нам помогут 7-11 главы A Philosophy of Software Design. В понедельник обсудим методики, которые предлагает Джон Оустерхаута. А пока обозначим их и темы, на которые поговорим:
— на разных уровнях используйте разные абстракции;
— перемещение сложности вниз;
— лучше вместе или по отдельности;
— сокращение числа мест обработки исключений;
— проектируй дважды и не используй первую идею пришедшую в голову.
Гостем стрима станет наш коллега Олег Корнев, архитектор группы платежных сервисов.
Please open Telegram to view this post
VIEW IN TELEGRAM