Исполнительный директор российского банка и лидер направления Chaos Engineering Дмитрий Якубовский о трудностях работы и уникальной практике
15.12.23, Пт, 10:00, Мск,
В 2023 году темпы роста российского IT-рынка были значительно выше среднемировой динамики. Согласно данным РБК, в 2024 году его объем увеличится на 10-15% и достигнет более 3 трлн руб. Этому способствуют не только новейшие технологии, но и разработчики, которые стремятся к развитию и используют самые необычные методы в работе, например, деструктивное мышление. На нем основана одна из самых интересных практик - Chaos Engineering. Она предполагает осознанное внедрение контролируемых сбоев в системы продукта, чтобы проверить его на устойчивость.
Дмитрий Якубовский – исполнительный директор крупного банка, лидер направления Chaos Engineering и участник ArchDays 2019 и IT Sber Talk Vologda 2023. Он рассказал о специфике своей работы, использовании практики и дал советы начинающим специалистам.
Дмитрий, вы имеете огромный опыт в ИТ: более 15 лет и сейчас занимаете позицию исполнительного директора в крупной компании. С какими трудностями вы сталкиваетесь в работе и как их преодолеваете?
В процессах, людях и в технических аспектах, конечно, встречаются сложности, но они решаются быстро и понятно. Процессы мы часто достраиваем или перестраиваем: в любой организации, в которой происходит бурное технологическое развитие, множественные изменения неизбежны, и это нормально.
С людьми немного сложнее: иногда, когда речь заходит о Chaos Engineering, инженеру под нагрузкой необходимо с эмулировать отказ системы. Прошла эмуляция, сервис деградировал, инженер нашел место, где можно улучшить отказоустойчивость. При этом команда или отдельные сотрудники могут воспринять это действие в негативном аспекте и говорить: «Зачем специально ломать сервис, если он и так хорошо работает». Здесь важно развивать «blameless culture» - культуру поощрения. Она позволяет благодарить сотрудников команды за то, что они нашли точку, в которой можно развить систему, чтобы она стала более устойчивой.Гид по NGFW. 10 наиболее заметных продуктов, доступных на российском рынке
За годы работы мы смогли построить у нас такую культуру, в которой сотрудники открыто могут говорить о проблемах в продуктах, зная, что команда возьмет задачи в разработку и сделает сервис стабильнее.
Вы стали лидером направления Chaos Engineering. Объясните, в чем уникальность вашей практики?
Как вы понимаете, я ограничен NDA в части освещения деталей, но в целом могу сказать, что это совокупность элементов: у нас есть процессы и методика, которая позволяет запускать испытания как на небольшом числе команд, так и на сотнях и тысячах. Есть понимание, какая автоматизация работает, а какая не дает стабильный результат и скорость. Ну и, конечно же, наша платформа - аналогов такого ПО на отечественном рынке нет.
Я и моя команда с определенной периодичностью замеряем эффективность проведенных конкретных кейсов в испытаниях, например, за последние полгода, на разных типах систем. Иногда определенный сценарий дает результат 70% на пул систем, иногда - 3%. Если сценарий низкоэффективный, мы его улучшаем. Кроме того, мы со своей стороны подтверждаем, что сценарии на эмуляцию сетевого отказа высокоэффективные и дают стабильно высокий результат. Такие же результаты давал Gremlin Inc. в позапрошлом году. В нашей методике много таких нюансов.
На текущий момент сотни систем и соответственно команд используют практику Chaos Engineering в одном из самых крупных банков России. Что это значит?
Во-первых, это значит, что все системы при проектировании закладывают механизмы отказоустойчивости by design, во-вторых, что наши системы защищены минимум от «простых инцидентов»: сгорела сетевая карта, упал балансировщик или сработал Full GC, ну и в-третьих, это значит, что наши системы имеют механизмы отказоустойчивости.
Наши разработчики на уровне культуры уже задумываются на старте разработки и делают приложения сразу отказоустойчивыми: например, когда пишут сервис на Spring Boot, сразу используют функцию GraceFul Shutdown. Мы этим очень гордимся.
Какие советы вы, как эксперт, могли бы дать тем, кому интересна ваша сфера деятельности?
Для начала, конечно, не боятся экспериментировать и изучить как можно больше информации о Chaos Engineering. Можно начать с изучения манифеста «PRINCIPLES OF CHAOS ENGINEERING» и далее переходить к изучению материалов на github и в открытых источниках.
Я убежден, что Chaos инженеры всегда будут востребованы, так как с появлением "клаудов" и миграции из "легаси"-систем в "клаудные технологии", вопрос надежности систем стоит еще более остро. Требуется новый тип испытаний, который никогда еще ранее не применялся в системах для активного поиска потенциальных отказов, и это Chaos Engineering.
Автор: Михаил Артемьев