6 декабря мы провели митап Alfa Backend Stories на тему отказоустойчивости: поделились «весёлыми» историями про падения и убытки, поговорили о том, как смягчать последствия этих падений, как сэкономить, переехав с одной БД на другую, «в прямом эфире» пытались сломать сайт Альфа-Банка.
Для тех, кто не смог прийти, прикладываем записи докладов (и ссылку на фотоотчёт по традиции).
На митапе мы провели 2 доклада, воркшоп и панельную дискуссию. Пойдём по порядку.
«Отказоустойчивость микросервисных приложений»
Антон Гращенков
Java TechLead, в разработке более 15 лет.
«Давным-давно я работал в одной компании, где всё хостилось на одном-единственном сервере. Как это обычно бывает, в субботу вечером сгорел блок питания, и я, сидя в лодке (отдыхая в это время на природе), через телефон при помощи консоли пытался перенести сервер на другой хост»
Это был логичный пролог к докладу от Антона. Держа в голове эту историю, становится понятен контекст.
О чём вы узнаете из видео:
Определение отказоустойчивости.
Что может пойти не так с микросервисами?
Точки отказа удалённых вызовов и истории про экскаватор и затопленный дата-центр.
Что делать?
На что ещё обратить внимание: кэши, агрегирующие БД, вспомогательное ПО, некорректный ввод, бесконечные циклы…
Как смягчать последствия с помощью архитектуры: DDD & Vertical Slice, работа с БД и паттерны, каналы общения.
Инфраструктура: наш лучший друг — оркестратор.
Как всё мониторить. Спойлер: дашборда K8S не достаточно.
И что теперь со всей этой информацией делать?
«Как в 3 раза снизить затраты на отказоустойчивую инфраструктуру, переехав с Hazelcast на Redis»
Янис Чикнизов
Java TechLead, курирует направление Redis уже 1, 5 года
Запись доклада.
О чём доклад:
Что за распределённый кэш на примере магии YouTube статистики просмотров и лайков.
Стоит ли переезжать на Redis? Ведь Hazelcast — это open source продукт с огромным списком фичей?
«Да, но! У Hazelcast есть коммерческая версия, а в open source версии из огромного списка фичей поддерживается только одна фича — On-Heap storage! И огромного списка фичей у вас не будет. Вы даже не сможете в ваш отказоустойчивый кластер встроить четвёртую ноду, не заплатив при этом денег. Да, Hazelcast очень хочет ваших денег»
Янис Чикнизов, автор доклада
Как мы готовили Redis.
Как дела у Spring с Redis?
Самая мякотка — сколько удалось сэкономить ресурсов? Спойлер: потребление оперативной памяти стало меньше в 200(!) раз, а затраты на тестовую инфраструктуру снизили в 3 раза.
Бонус: ссылка на Notion, который скрыт под QR-кодом в докладе.
Воркшоп «Как пережить фатальные ситуации»
Максим Чернухин
IT leader и Senior Software Architect, в разработке 9 лет. Писал на Java, C++, Python, Scala, React, Angular, через некоторое время пришёл к архитектуре.
Запись доклада.
Что будет в записи? Будет интерактив — краш-тест сайта Альфа-Банка.
Но сначала — небольшая теоретическая вводная об архитектуре сайта. Страницы на сайте Альфа-Банка собираются на основании множества информации о пользователе, его предпочтениях, проводимым А/Б тестам и геолокации. Чтобы эту информацию собрать и на основанию неё построить страничку, мы используем сервис Collector, который обращается к сервису управления А/Б-тестами, сервису определения геолокации, сервису персонализации, контент-стору, который хранит данные о странице и после этого к сервису рендера HTML.
Панельная дискуссия: «Семь бед — один резет, или Как после инцидента не уволить всю команду»
Полчаса историй об авариях и восстановлениях, и уроках, которые из них были извлечены.
В дискуссии участвовали:
Максим Чернухин, модератор, Senior Software Architect
Павел Дерендяев, Chief System Architect в Альфа-Банке
Олег Чирухин, Head of Developer Advocacy в Axiom JDK
Максим Гореликов, Backend Guild Lead в Метр Квадратный,
Запись дискуссии.
Кроме того, пообщались…
…посмотрели кино…
…угостились вкусняшками.
На этом всё, смотрите видео, подписывайтесь на нас в ВК, там же лежит полный фотоотчёт, а на YouTube короткий видеоотчёт.