Jepsen (Distributed Systems Safety Research)
Сегодня я решил вспомнить про jepsen, clojure библиотеку, которая позволяет тестировать распределенные системы. Почему именно сейчас? Потому что на этой неделе я делал ревью доклада для ArchDays на тему эмулирования сбоев. В рамках ревью я вспомнил про библиотеку Jepsen и мы немного обсудили подход Kyle Kingsbury, автора библиотеки, к тестированию гарантий и отказов в распределенных системах. В общем и целом, мне нравится подход Кайла и я считаю его полезным для применения, поэтому я решил написать этот пост:)
Кайл отлично рассказал о своем подходе в 2018 году на конференции GOTO (рекомендую посмотреть видео - оно сделано с юмором и кучей информации).
На его сайте есть краткое описание работы библиотеки
Jepsen analyses generally consist of running operations against a distributed system in a dedicated cluster, introducing faults into that cluster, and observing whether the results of those operations are consistent with some model. This introduces various sources for error: bugs, bounds on the search space, and the problem of induction. Jepsen’s design also limits its use as a performance benchmark.
На этом же сайте есть крутая схема моделей консистентности, соответствие которым проверяется в тестах. Плюс есть отдельный раздел с результатами анализа разных баз, которых накопилось больше 20 за 10 лет исследований.
Но если если возвращаться к выступлению 2018 года, то там Кайл сначала рассказывает по сложности работы stateful сервисов, а точнее баз данных, приводя метафору с горящей кучей покрышек, над которой развернуты приложения, которые предоставляют API клиентам, которые делают вид, что все хорошо. Дальше он рассказывает про виды проблем в распределенных системах и рассказывает про результаты исследований популярных продуктов и проблемы, найденные в них.
А в конце выпустления он доходит до практических советов по поводу выбора базы данных / очереди для вашего продукта делать следующее
- читать документацию и искать предоставляемые этим решением гарантии
- если там написано просто strong consistency, ACID, strict и ничего больше, то возможно авторы базы данных не понимают что это значит (или скрывают реальные гарантии за marketing bullshit)
- смотреть на формальные гарантии и спецификации
- думать про те инварианты и гарантии, которые важны для вашей системы (баланс между safety/consistency и performance)
- думать про модели отказа (failure modes) и конкретно про
-- краши процессов (kill -9)
-- откзаы машин
-- clock skew
-- паузы на gc/io
-- разделения сети (network partition) (iptables -j DROP)
- тестировать систему end-to-end, а не только базу или очередь - это позволит проверить работоспособность пользовательских сценариев целиком
- не быть перфекционистом и остановиться в тестировании системы на good enough уровне
#DistributedSystems #QualityAssurance #SystemDesign #Engineering #Software #Architecture #SoftwareArchitecture #SoftwareDevelopment #SRE
Сегодня я решил вспомнить про jepsen, clojure библиотеку, которая позволяет тестировать распределенные системы. Почему именно сейчас? Потому что на этой неделе я делал ревью доклада для ArchDays на тему эмулирования сбоев. В рамках ревью я вспомнил про библиотеку Jepsen и мы немного обсудили подход Kyle Kingsbury, автора библиотеки, к тестированию гарантий и отказов в распределенных системах. В общем и целом, мне нравится подход Кайла и я считаю его полезным для применения, поэтому я решил написать этот пост:)
Кайл отлично рассказал о своем подходе в 2018 году на конференции GOTO (рекомендую посмотреть видео - оно сделано с юмором и кучей информации).
На его сайте есть краткое описание работы библиотеки
Jepsen analyses generally consist of running operations against a distributed system in a dedicated cluster, introducing faults into that cluster, and observing whether the results of those operations are consistent with some model. This introduces various sources for error: bugs, bounds on the search space, and the problem of induction. Jepsen’s design also limits its use as a performance benchmark.
На этом же сайте есть крутая схема моделей консистентности, соответствие которым проверяется в тестах. Плюс есть отдельный раздел с результатами анализа разных баз, которых накопилось больше 20 за 10 лет исследований.
Но если если возвращаться к выступлению 2018 года, то там Кайл сначала рассказывает по сложности работы stateful сервисов, а точнее баз данных, приводя метафору с горящей кучей покрышек, над которой развернуты приложения, которые предоставляют API клиентам, которые делают вид, что все хорошо. Дальше он рассказывает про виды проблем в распределенных системах и рассказывает про результаты исследований популярных продуктов и проблемы, найденные в них.
А в конце выпустления он доходит до практических советов по поводу выбора базы данных / очереди для вашего продукта делать следующее
- читать документацию и искать предоставляемые этим решением гарантии
- если там написано просто strong consistency, ACID, strict и ничего больше, то возможно авторы базы данных не понимают что это значит (или скрывают реальные гарантии за marketing bullshit)
- смотреть на формальные гарантии и спецификации
- думать про те инварианты и гарантии, которые важны для вашей системы (баланс между safety/consistency и performance)
- думать про модели отказа (failure modes) и конкретно про
-- краши процессов (kill -9)
-- откзаы машин
-- clock skew
-- паузы на gc/io
-- разделения сети (network partition) (iptables -j DROP)
- тестировать систему end-to-end, а не только базу или очередь - это позволит проверить работоспособность пользовательских сценариев целиком
- не быть перфекционистом и остановиться в тестировании системы на good enough уровне
#DistributedSystems #QualityAssurance #SystemDesign #Engineering #Software #Architecture #SoftwareArchitecture #SoftwareDevelopment #SRE
GitHub
GitHub - jepsen-io/jepsen: A framework for distributed systems verification, with fault injection
A framework for distributed systems verification, with fault injection - jepsen-io/jepsen
👍9🔥5
И немного картинок из выступления Кайла и с сайте jepsen.io на тему моделей консистентности
🔥9❤1
Густав Климт. Абсолютная красота (Gustav Klimt. La Bellezza Abssoluta)
Эту графическую биографию великого художника создал Отто Габос, который постарался нам рассказать о драматичном пути художника к новой эре в искусстве, уделяя особое внимание психологии и личности Густава. Густав жил и творил в Австро-Венгерской Империи, а умер буквально за несколько месяцев до ее падения по результатам Первой мировой войны. Сама книга построена как путешествие находящегося при смерти художника по уголкам своей памяти, в котором мы его сопровождаем.
В итоге, книга разбита на следующие части:
- Весна священная - ранняя жизнь художника и его взаимоотношения с семьей и братом Эрнестом, с которым они вместе рисовали картины, но который рано умер
- Сецессион - вступление в выставочную организации и нескольких групп молодых немецких и австрийских художников, которые в 1892 году в знак протеста против официального академического искусства вышли из состава мюнхенской выставочной организации «Хрустальный дворец»
- Вена - история про Эмилию Флёге, друга Густава, которая играла значимую роль в жизни Климта как модельер, созадавая шедевры моды. Эмилия была для художника настоящей музой. Плюс здесь же идет реч про множество детей Густава, которые у него были от разных моделей, их набиралось на несколько футбольных команд.
- Аттерзее - рассказ про мастерскую художника, которая сейчас доступна для посещения в Вене. Конечно, доступная сейчас мастерская - это двухэтажный новодел. Сам Климт жил и творил в одноэтажном здании, утопающем в зелени сада, где всегда было множество моделей без избытка одежды:) В этой же части мы видим финал жизни Климта.
- Ателье - в этой части Отто Габос рассказывает про закулисье создания этой книги. Он думал рассказать про Климта устами его моделей, но окзалось, что они перетягивают фокус с художника на себя. Дальше Отто отказался от биографии в стиле романов и свел к минимуму описание исторических событий, поэтому в книге мы путешествуем по времени произвольно. Также Отто не стал заострять внимание на отношениях Климта с его семьей, а точнее мамой и сестрой, хотя присутствие женщин сыграло центральную роль в жизни Климта. В книге остался фокус на Эмилии Флёге из-за ее значимости и важности.
После прочтения книги я заинтересовался художником и на сайте ArtsAndCulture.Google.com нашел страницу художника, где можно посмотреть на его работы, включая самую дорогую его картину "Adele Bloch-Bauer I", которая была продана в 2006 году за рекордную сумму 135 млн долларов. А вот тут есть краткое видео на минуту про Густава Климта, тоже созданное в рамках проекта Arts and Culture от google.
#Biography #Culture #Comics
Эту графическую биографию великого художника создал Отто Габос, который постарался нам рассказать о драматичном пути художника к новой эре в искусстве, уделяя особое внимание психологии и личности Густава. Густав жил и творил в Австро-Венгерской Империи, а умер буквально за несколько месяцев до ее падения по результатам Первой мировой войны. Сама книга построена как путешествие находящегося при смерти художника по уголкам своей памяти, в котором мы его сопровождаем.
В итоге, книга разбита на следующие части:
- Весна священная - ранняя жизнь художника и его взаимоотношения с семьей и братом Эрнестом, с которым они вместе рисовали картины, но который рано умер
- Сецессион - вступление в выставочную организации и нескольких групп молодых немецких и австрийских художников, которые в 1892 году в знак протеста против официального академического искусства вышли из состава мюнхенской выставочной организации «Хрустальный дворец»
- Вена - история про Эмилию Флёге, друга Густава, которая играла значимую роль в жизни Климта как модельер, созадавая шедевры моды. Эмилия была для художника настоящей музой. Плюс здесь же идет реч про множество детей Густава, которые у него были от разных моделей, их набиралось на несколько футбольных команд.
- Аттерзее - рассказ про мастерскую художника, которая сейчас доступна для посещения в Вене. Конечно, доступная сейчас мастерская - это двухэтажный новодел. Сам Климт жил и творил в одноэтажном здании, утопающем в зелени сада, где всегда было множество моделей без избытка одежды:) В этой же части мы видим финал жизни Климта.
- Ателье - в этой части Отто Габос рассказывает про закулисье создания этой книги. Он думал рассказать про Климта устами его моделей, но окзалось, что они перетягивают фокус с художника на себя. Дальше Отто отказался от биографии в стиле романов и свел к минимуму описание исторических событий, поэтому в книге мы путешествуем по времени произвольно. Также Отто не стал заострять внимание на отношениях Климта с его семьей, а точнее мамой и сестрой, хотя присутствие женщин сыграло центральную роль в жизни Климта. В книге остался фокус на Эмилии Флёге из-за ее значимости и важности.
После прочтения книги я заинтересовался художником и на сайте ArtsAndCulture.Google.com нашел страницу художника, где можно посмотреть на его работы, включая самую дорогую его картину "Adele Bloch-Bauer I", которая была продана в 2006 году за рекордную сумму 135 млн долларов. А вот тут есть краткое видео на минуту про Густава Климта, тоже созданное в рамках проекта Arts and Culture от google.
#Biography #Culture #Comics
Google Arts & Culture
Gustav Klimt - Google Arts & Culture
Gustav Klimt was an Austrian symbolist painter and one of the most
prominent members of the Vienna Secession movement.
prominent members of the Vienna Secession movement.
👍6❤3🔥3
What Your Mother Never Told You About Agile Development • Aino Vonge Corry • YOW! 2022
Интересный доклад Aino Vonge Corry на тему Agile разработки. Для начала она делится своей историей погружения в Agile, начиная с XP в начале двухтысячных и дальше появления Agile Manifesto и перехода на более тяжелыенаркотики процессы в виде Скрам, Канбан, SAFe. И как по мере развития этих фреймворков многие эксперты из разработки начинали с негативом относиться к словам agile development и всем этим подходам (что конечно не нравилось автору как практикующему agile coach). С другой стороны были и те, кто возлагал на пришествие agile coach такие надежды, как будто они умеют лечить наложением рук, ходить по воде и превращать воду в вино - то есть могут исправить любую дисфункцию в организации. Автор предлагает взглянуть на это по другому и
1. Вспомнить "Dreyfus model of skill acquisition" и путь от новичка до эксперта
2. Вспомнить про инженерные практики, которые нужны для того, чтобы быть гибким в рамках процессов (про это я недавно рассказывал доклад "Совершенствование потока разработки программного обеспечения")
Слайды презентации доступны здесь (из них проще понять стоит ли смотреть запись:))
В общем и целом, выступление получилось очень неплохим, несмотря на то, что спикер является agile coach:)
#Processes #Management #Leadership #SoftwareDevelopment #Software #Engineering
Интересный доклад Aino Vonge Corry на тему Agile разработки. Для начала она делится своей историей погружения в Agile, начиная с XP в начале двухтысячных и дальше появления Agile Manifesto и перехода на более тяжелые
1. Вспомнить "Dreyfus model of skill acquisition" и путь от новичка до эксперта
2. Вспомнить про инженерные практики, которые нужны для того, чтобы быть гибким в рамках процессов (про это я недавно рассказывал доклад "Совершенствование потока разработки программного обеспечения")
Слайды презентации доступны здесь (из них проще понять стоит ли смотреть запись:))
В общем и целом, выступление получилось очень неплохим, несмотря на то, что спикер является agile coach:)
#Processes #Management #Leadership #SoftwareDevelopment #Software #Engineering
❤9👍3🔥1
Обзор whitepaper "The SPACE of Developer Productivity"
В эти выходные прочитал статью с интересным продолжение работы, начатой в книге "Accelerate" за авторством Nicole Forsgren и команды исследователей. В этой статье авторы развили тему изучения производительности разработки и даже предложили отдельный фреймворк SPACE, который расширяет метрики DORA. Мне эта тема откликается, поэтому я решил сделать краткое саммари этой научной статьи от 6 марта 2021 года.
Для тех, кто не читал книгу "Accelerate", рекомендую познакомиться с ней в кратком изложении от меня:
— Общие выводы, способы измерения performance, культуру;
— Технические практики, архитектуру и интеграцию вопросов безопасности в процессы разработки;
— Менеджерские и лидерские практики.
Ну и можно прочитать мою статью с рассказом про "Совершенствование потока разработки программного обеспечения".
#Processes #Management #ExternalReview #ProductManagement #Leadership #SoftwareDevelopment #Software #SRE
В эти выходные прочитал статью с интересным продолжение работы, начатой в книге "Accelerate" за авторством Nicole Forsgren и команды исследователей. В этой статье авторы развили тему изучения производительности разработки и даже предложили отдельный фреймворк SPACE, который расширяет метрики DORA. Мне эта тема откликается, поэтому я решил сделать краткое саммари этой научной статьи от 6 марта 2021 года.
Для тех, кто не читал книгу "Accelerate", рекомендую познакомиться с ней в кратком изложении от меня:
— Общие выводы, способы измерения performance, культуру;
— Технические практики, архитектуру и интеграцию вопросов безопасности в процессы разработки;
— Менеджерские и лидерские практики.
Ну и можно прочитать мою статью с рассказом про "Совершенствование потока разработки программного обеспечения".
#Processes #Management #ExternalReview #ProductManagement #Leadership #SoftwareDevelopment #Software #SRE
❤7👍6🔥3
Участие в подкасте безэтоговсего
В среду в 19.30 приду в гости к Сергею Щербинину, который ведет канал "безвотэтоговотвсего", где рассказывает про управление людьми, построение команд, работу с мотивацией в крупных компаниях и не только. Сам Сергей больше 15 лет провел на позициях топ-менеджера в ИТ крупнейших компаний из нефтяной (Shell), ИТ (Лаборатория Касперского) и финансовой (Райффайзенбанк и УБРиР) отраслей.
Ну и в среду мы с Сергеем поговорим конечно про лидерство и менеджмент, процессы и инженерные практики, людей и их мотивацию, а также про много другое. Все это мы будем обсуждать на примерах того, как это устроено у нас в Тинькофф и чем мы отличаемся от других компаний.
#Management #Leadership #Architecture #Processes #Podcast
В среду в 19.30 приду в гости к Сергею Щербинину, который ведет канал "безвотэтоговотвсего", где рассказывает про управление людьми, построение команд, работу с мотивацией в крупных компаниях и не только. Сам Сергей больше 15 лет провел на позициях топ-менеджера в ИТ крупнейших компаний из нефтяной (Shell), ИТ (Лаборатория Касперского) и финансовой (Райффайзенбанк и УБРиР) отраслей.
Ну и в среду мы с Сергеем поговорим конечно про лидерство и менеджмент, процессы и инженерные практики, людей и их мотивацию, а также про много другое. Все это мы будем обсуждать на примерах того, как это устроено у нас в Тинькофф и чем мы отличаемся от других компаний.
#Management #Leadership #Architecture #Processes #Podcast
👍9❤6🔥2
Мой нью-йоркский дневник (My New York Diary)
Автобиографический комикс от Жюли Дусе, который сделал ее знаменитой и принес ей славу лучшего монреальского автора комиксов. В комиксе рассказывается про ее обучение в художественном колледже в Монреале, после которого она отправляется в Нью-Йорк, который и дал название комиксу. Изначально заявляется, что поехала она в "Большое яблолко" чтобы быть ближе к американскому комикс-сообществу, но из комикса кажется, что для того, чтобы просто прожигать свое время за алкоголем, наркотиками и парнем-неудачником. В аннотации указано,что в "рисованном дневнике Жюли с непримиримой откровенностью описывает суровые реалии собственной жизни и отвечает на вопрос, что значит быть одной из немногих женщин в среде комиксистов 1990-х годов", но мне показалось, что тут не непримиримая откровенность, а просто проходная история без единого яркого персонажа (включая автора), но с интересно техникой рисунка. А вот критики оценили произведение по-другому и в 2000 году этот комикс получил Firecracker Award в номинации "Лучший графический роман" и был номинирован на премию Харви.
#Comics #Biography
Автобиографический комикс от Жюли Дусе, который сделал ее знаменитой и принес ей славу лучшего монреальского автора комиксов. В комиксе рассказывается про ее обучение в художественном колледже в Монреале, после которого она отправляется в Нью-Йорк, который и дал название комиксу. Изначально заявляется, что поехала она в "Большое яблолко" чтобы быть ближе к американскому комикс-сообществу, но из комикса кажется, что для того, чтобы просто прожигать свое время за алкоголем, наркотиками и парнем-неудачником. В аннотации указано,что в "рисованном дневнике Жюли с непримиримой откровенностью описывает суровые реалии собственной жизни и отвечает на вопрос, что значит быть одной из немногих женщин в среде комиксистов 1990-х годов", но мне показалось, что тут не непримиримая откровенность, а просто проходная история без единого яркого персонажа (включая автора), но с интересно техникой рисунка. А вот критики оценили произведение по-другому и в 2000 году этот комикс получил Firecracker Award в номинации "Лучший графический роман" и был номинирован на премию Харви.
#Comics #Biography
👍9🔥3