Как в Dodo Engineering проходят Субботники
Примерно 3 недели назад мы устроили Субботник. Это «мероприятие» у которого главная цель — увеличить стабильность и отказоустойчивость системы. Мы собираем задачи по текущим техническим болям, влияющие на стабильность, по техдолгу и из технических бэклогов, концентрируемся и решаем только их. Все задачи собрали в единую доску в Kaiten для удобства.
Три года назад у нас было Великое падение (см. выше), когда мы остановили всю разработку, чтобы подлатать систему. Один из способов больше не испытывать таких потрясений — Субботник. Например, мы его проводили ещё перед Новым Годом. (Но вообще это скорее антипаттерн, когда приходится поднимать всех из-за пары сервисов и мы хотим уйти от этого).
У нас как раз недавно было несколько серьезных падений за пару месяцев и доступность системы упала ниже 99.95%. Поэтому Субботник пришёлся как раз кстати.
Примерно 3 недели назад мы устроили Субботник. Это «мероприятие» у которого главная цель — увеличить стабильность и отказоустойчивость системы. Мы собираем задачи по текущим техническим болям, влияющие на стабильность, по техдолгу и из технических бэклогов, концентрируемся и решаем только их. Все задачи собрали в единую доску в Kaiten для удобства.
Три года назад у нас было Великое падение (см. выше), когда мы остановили всю разработку, чтобы подлатать систему. Один из способов больше не испытывать таких потрясений — Субботник. Например, мы его проводили ещё перед Новым Годом. (Но вообще это скорее антипаттерн, когда приходится поднимать всех из-за пары сервисов и мы хотим уйти от этого).
У нас как раз недавно было несколько серьезных падений за пару месяцев и доступность системы упала ниже 99.95%. Поэтому Субботник пришёлся как раз кстати.
Мы взяли команды, чьи сервисы падали, технические команды, и по паре «выдвиженцев» с B2B и B2C, и 2 недели все вместе работали над повышением доступности. Получилось около 40 человек. Кого «отдать» — решали продакты.
Утром 15 апреля Субботник официально завершили и отпустили ребят обратно по командам. Что в итоге получили?
— 🛠 За 2 недели сделали 38 задач: проводили исследования проблем и искали решения. Переделали много задач из технических бэклогов B2B, B2C, SRE.
— 🚀 Сайт вышел на качественно новый уровень отказоустойчивости (и у него появится свой nginx для кэширования).
— ⚡️Системно попробовали уронить каждую из зависимостей сайта и проверили, что он не падает на некритичных зависимостях и сам восстанавливается после отказа критичных.
— 🚑 Улучшили мониторинг и реагирование.
— 📈 Service Level вырос, хоть и пока незначительно (с 99,9325% до 99,9472%). Ожидаем заметный эффект через неделю-две.
Остались ещё некоторые задачи вроде «Обеспечить защиту от DDoS для сайта в KZ, BY» или «Включить HPA для сайта», но они уже будут решаться в «рабочем порядке».
Большой респект всем, кто участвовал в Субботнике, за ответственность, за потраченные силы и время на улучшение качества нашей системы! ❤️
Утром 15 апреля Субботник официально завершили и отпустили ребят обратно по командам. Что в итоге получили?
— 🛠 За 2 недели сделали 38 задач: проводили исследования проблем и искали решения. Переделали много задач из технических бэклогов B2B, B2C, SRE.
— 🚀 Сайт вышел на качественно новый уровень отказоустойчивости (и у него появится свой nginx для кэширования).
— ⚡️Системно попробовали уронить каждую из зависимостей сайта и проверили, что он не падает на некритичных зависимостях и сам восстанавливается после отказа критичных.
— 🚑 Улучшили мониторинг и реагирование.
— 📈 Service Level вырос, хоть и пока незначительно (с 99,9325% до 99,9472%). Ожидаем заметный эффект через неделю-две.
Остались ещё некоторые задачи вроде «Обеспечить защиту от DDoS для сайта в KZ, BY» или «Включить HPA для сайта», но они уже будут решаться в «рабочем порядке».
Большой респект всем, кто участвовал в Субботнике, за ответственность, за потраченные силы и время на улучшение качества нашей системы! ❤️
А у вас есть Субботники?
Anonymous Poll
19%
Да, есть что-то подобное
43%
Нет
39%
Нет, но хотелось бы, чтобы было
«Залипаем» с 2011 года
22 апреля 2011 года мы считаем днём рождения Dodo IS (и Dodo Engineering, как таковой). Наша ИТ-система в те времена была маленьким модулем для приема заказов по телефону в такой же маленькой пиццерии в Сыктывкаре. А сейчас картинка системы на экран не поместится, столько так всего. Монолитищееее!
Как это всё произошло (с 2012 по 2019) ещё пару лет назад наш SRE Олег Блохин визуализировал в этом классном видео. Хотя с того времени мы ещё выросли, но почему бы не посмотреть это «залипательство» ещё раз?
22 апреля 2011 года мы считаем днём рождения Dodo IS (и Dodo Engineering, как таковой). Наша ИТ-система в те времена была маленьким модулем для приема заказов по телефону в такой же маленькой пиццерии в Сыктывкаре. А сейчас картинка системы на экран не поместится, столько так всего. Монолитищееее!
Как это всё произошло (с 2012 по 2019) ещё пару лет назад наш SRE Олег Блохин визуализировал в этом классном видео. Хотя с того времени мы ещё выросли, но почему бы не посмотреть это «залипательство» ещё раз?
YouTube
Эволюция кода Dodo IS (2012-2019)
Это залипательная визуализация о том, как менялась папка с кодом Dodo IS с 2012 по 2019 год.
И что происходит на видео? Цветочек – это файлы, вокруг летают люди, вспышки – люди трогают файлы.
На 3:40 минуте вы можете увидеть странную вещь – 90 человек в…
И что происходит на видео? Цветочек – это файлы, вокруг летают люди, вспышки – люди трогают файлы.
На 3:40 минуте вы можете увидеть странную вещь – 90 человек в…
2011
Первый модуль системы для приёма заказов.
2012
Поставили первую веб-камеру на кухне и запустили трекинг заказов.
2013
Появился сайт с онлайн-заказами, а Фёдор объявил, что мы планируем завершить активную разработку Dodo IS к 2015 году (хех).
2014
Прошёл первый Dodo IS Camp, написали vykladka.cmd и доставили пиццу дронами в Сыктывкаре.
2015
Нашли redis.exe, начали использовать Azure.
2016
Случайно вернули клиентам много миллионов рублей.
Первая масштабная DDoS-атака на сайт.
2017.
Запуск нового глобального сайта dodopizza.ru.
Фича-фриз, когда мы почти не пилили новые фичи в монолите и героически его стабилизировали.
Запустили мобильное приложение «Додо Пиццы».
Первый релиз от разработчиков (deploy.ps1).
2018.
«Военное положение» из-за Великого падения Dodo IS.
Зарелизили игру про нелегкую долю разработчика в гембе.
Запустили взрослое нагрузочное тестирование всей системы.
Начали использовать Kubernetes.
2019
Переход к SRE в инфраструктуре.
Вместе с учеными МФТИ создали искусственный интеллект, который придумал новую пиццу.
2020
Зарегистрирована компания «Додо Инжиниринг».
2021
Запуск заказа в ресторане через приложение.
Наступил «Куберпанк», когда мы переехали на Kubernetes.
Монолит идёт в третий класс.
Вроде всё неплохо?
Первый модуль системы для приёма заказов.
2012
Поставили первую веб-камеру на кухне и запустили трекинг заказов.
2013
Появился сайт с онлайн-заказами, а Фёдор объявил, что мы планируем завершить активную разработку Dodo IS к 2015 году (хех).
2014
Прошёл первый Dodo IS Camp, написали vykladka.cmd и доставили пиццу дронами в Сыктывкаре.
2015
Нашли redis.exe, начали использовать Azure.
2016
Случайно вернули клиентам много миллионов рублей.
Первая масштабная DDoS-атака на сайт.
2017.
Запуск нового глобального сайта dodopizza.ru.
Фича-фриз, когда мы почти не пилили новые фичи в монолите и героически его стабилизировали.
Запустили мобильное приложение «Додо Пиццы».
Первый релиз от разработчиков (deploy.ps1).
2018.
«Военное положение» из-за Великого падения Dodo IS.
Зарелизили игру про нелегкую долю разработчика в гембе.
Запустили взрослое нагрузочное тестирование всей системы.
Начали использовать Kubernetes.
2019
Переход к SRE в инфраструктуре.
Вместе с учеными МФТИ создали искусственный интеллект, который придумал новую пиццу.
2020
Зарегистрирована компания «Додо Инжиниринг».
2021
Запуск заказа в ресторане через приложение.
Наступил «Куберпанк», когда мы переехали на Kubernetes.
Монолит идёт в третий класс.
Вроде всё неплохо?
Forwarded from 99developers
Додо 10 лет! Невероятно!
У нас есть шутка – монолиту тоже 10, он пошел в 3й класс. Выпустится, в универ поступит!
Не-не! На картинке слайд из внутреннего Q&A от нашего CTO Паши Притчина :).
За последние 2 года монолит подужался в размерах, стал заметно меньше. Наше решение о переходе к изолированным сервисам не просто хайп, оно обусловлено скоростью развития продуктов, где основа – это независимость и интеграции. Dodo IS уже не просто один продукт по управлению бизнесом пиццы. Это целая платформа, внутри которой живут и развиваются совершенно разные продукты.
10 лет! 🚀
У нас есть шутка – монолиту тоже 10, он пошел в 3й класс. Выпустится, в универ поступит!
Не-не! На картинке слайд из внутреннего Q&A от нашего CTO Паши Притчина :).
За последние 2 года монолит подужался в размерах, стал заметно меньше. Наше решение о переходе к изолированным сервисам не просто хайп, оно обусловлено скоростью развития продуктов, где основа – это независимость и интеграции. Dodo IS уже не просто один продукт по управлению бизнесом пиццы. Это целая платформа, внутри которой живут и развиваются совершенно разные продукты.
10 лет! 🚀
А сделали-то что?
Друзья, сегоднямы будем танцевать на столах на вечеринке в честь ДР Додо, но перед этим наши продуктовые команды расскажут честно и без купюр, что хорошего сделали с начала года, а что зафейлили, поделятся планами на будущее.
Что? Dodo Digital Day 2021 Q1.
Где? Подключайтесь по ссылке и пишите свои вопросы в чат.
Когда? Начало уже прям сейчас — в 10:00.
До встречи!
Друзья, сегодня
Что? Dodo Digital Day 2021 Q1.
Где? Подключайтесь по ссылке и пишите свои вопросы в чат.
Когда? Начало уже прям сейчас — в 10:00.
До встречи!
YouTube
Dodo Digital Day 2021 Q1
Что мы делали, когда Dodo IS родился?
10 лет назад мы тусили, играли, снимали, ели, водили, танцевали, соревновались, шашлычили, бегали, мечтали...В принципе, ничего не изменилось:)
10 лет назад мы тусили, играли, снимали, ели, водили, танцевали, соревновались, шашлычили, бегали, мечтали...В принципе, ничего не изменилось:)
Заказ через приложение прямо в зале: от идеи до релиза почти 2 года
Недавно в приложении «Додо Пицца» появилась новая фича — можно сделать заказ в мобильном приложении по дороге в пиццерию или прямо в зале. Вроде простая (и полезная) функция, но официально «вышла в свет» она в апреле 2021, а «родилась» в 2019 году с предложения «А давайте редизайним, чтобы удобнее было». И вот то, что было в промежутке между датами самое интересное: разработка, мини-пиццерии прямо в офисе с витриной и кассой, закрытый тест в пиццерии в Сыктывкаре, новая роль сборщика кусочков, «тихий запуск» и инструмент для синхронизации приготовления разных продуктов (вроде додстера и кофе). Длинная и сложная история, подробности которой вы узнаете от Бори Герна, Антона Савченкова и Лены Ткачевой из нашего видео.
Недавно в приложении «Додо Пицца» появилась новая фича — можно сделать заказ в мобильном приложении по дороге в пиццерию или прямо в зале. Вроде простая (и полезная) функция, но официально «вышла в свет» она в апреле 2021, а «родилась» в 2019 году с предложения «А давайте редизайним, чтобы удобнее было». И вот то, что было в промежутке между датами самое интересное: разработка, мини-пиццерии прямо в офисе с витриной и кассой, закрытый тест в пиццерии в Сыктывкаре, новая роль сборщика кусочков, «тихий запуск» и инструмент для синхронизации приготовления разных продуктов (вроде додстера и кофе). Длинная и сложная история, подробности которой вы узнаете от Бори Герна, Антона Савченкова и Лены Ткачевой из нашего видео.
YouTube
Как и зачем мы запустили мобильное приложение в ресторане
Борис Герн — менеджер продукта направления digital в ресторане
Антон Савченков — продакт оунер направления Ресторан в Dodo IS
Елена Ткачева — лидер направления Ресторан
Теперь заказ в «Додо Пицце» можно сделать со смартфона — с помощью мобильного приложения…
Антон Савченков — продакт оунер направления Ресторан в Dodo IS
Елена Ткачева — лидер направления Ресторан
Теперь заказ в «Додо Пицце» можно сделать со смартфона — с помощью мобильного приложения…
Forwarded from Mikhail Kumachev
Data Engineering Digest
Коллеги, сегодня мы хотим анонсировать наш новый проект: Data Engineering Digest
Мы создаем развиваемый сообществом digest интересных материалов по теме Data Engineering'а.
Наш пилотный выпуск можно посмотреть здесь: https://digest.deordie.org
Все мы с вами читаем статьи, смотрим видео с конференций, и находим массу полезного в сети. Однако, не все материалы одинаково полезны. При поддержке сообщества мы решили отбирать самое интересное и публиковать в виде дайджеста.
Нам нужна ваша поддержка. Прямо сейчас можно стать контрибьютером.
Приходите в наш issue tracker: https://github.com/deordie/deordie-digest/issues и добавляйте статьи, которые вам показались интересными. Обязательно добавьте 1-2 предложения, что вы вынесли интересного из этой статьи.
Также вы можете проголосовать за понравившиеся вам статьи (+1), самые интересные мы будем публиковать в следующих выпусках.
Коллеги, сегодня мы хотим анонсировать наш новый проект: Data Engineering Digest
Мы создаем развиваемый сообществом digest интересных материалов по теме Data Engineering'а.
Наш пилотный выпуск можно посмотреть здесь: https://digest.deordie.org
Все мы с вами читаем статьи, смотрим видео с конференций, и находим массу полезного в сети. Однако, не все материалы одинаково полезны. При поддержке сообщества мы решили отбирать самое интересное и публиковать в виде дайджеста.
Нам нужна ваша поддержка. Прямо сейчас можно стать контрибьютером.
Приходите в наш issue tracker: https://github.com/deordie/deordie-digest/issues и добавляйте статьи, которые вам показались интересными. Обязательно добавьте 1-2 предложения, что вы вынесли интересного из этой статьи.
Также вы можете проголосовать за понравившиеся вам статьи (+1), самые интересные мы будем публиковать в следующих выпусках.
digest.deordie.org
DE or DIE: Digest – Data Engineering Digest
Кризис монолита
Психологи говорят, что в 10 лет у детей начинается кризис переходного возраста. Если считать наш монолит за ребёнка, то он уже пошел в третий класс — ему как раз 10 лет. И у него кризис. Мы провели примерно 30 внутренних интервью с разработчиками, QA и Product Owners, и вот, что выяснили по этому поводу.
Психологи говорят, что в 10 лет у детей начинается кризис переходного возраста. Если считать наш монолит за ребёнка, то он уже пошел в третий класс — ему как раз 10 лет. И у него кризис. Мы провели примерно 30 внутренних интервью с разработчиками, QA и Product Owners, и вот, что выяснили по этому поводу.
— Те, кто в монолите, не довольны этим: он замедляет разработку, привносит усталость, выгорание и тлен от ощущения, что монолит никак не распиливается.
— Треть бизнесовой бэкэнд C# разработки – в монолите. А это опять страдания, потому что сложнее, «выгорабельнее» и медленнее (примерно в 5-7 раз, чем вне монолита).
— Lead time(от создания коммита до выхода на прод) за Q1 — около 5 рабочих дней. У нас 3,6 релизов в неделю (это без хотфиксов). Но можно то лучше!
— Есть неожиданные замедления: иногда мы включаем Stop The Line, иногда ломается пайплайн сборки на stage или dev, иногда могут быть нестабильны стенды.
— Работа с монолитным кодом также не вызывает удовлетворения. Много кода уже принадлежит Продуктовым командам (разделение ответственности по функциям и разделение LF endpoint по будущим компонентам), но общего безхозного кода предостаточно.
Мы пилим монолит, но он точно будет с нами ещё несколько лет. Тлен? Нет, есть решение — мы создаём команду Monolith Release Engineering Team!
Команда возьмет на себя владение общим монолитовским кодом, билд-релиз пайплайном, тестами, рефакторингом БД. В принципе, команда возьмёт на себя процессы связанные с монолитом, чтобы постараться убрать вышеназванные проблемы.
В команде будет 2 релиз инженера — .Net разработчика высокой квалификации. Первый участник уже есть. Второго будем искать «после майских», но если кто желает присоединиться — велкам в мир (зачеркнуто — боли и страданий) больших вызовов, драйва и развития в system engineering (с уклоном в инфраструктуру).
Ссылка на вакансию (.NET-разработчика), если решите откликнуться.
— Треть бизнесовой бэкэнд C# разработки – в монолите. А это опять страдания, потому что сложнее, «выгорабельнее» и медленнее (примерно в 5-7 раз, чем вне монолита).
— Lead time(от создания коммита до выхода на прод) за Q1 — около 5 рабочих дней. У нас 3,6 релизов в неделю (это без хотфиксов). Но можно то лучше!
— Есть неожиданные замедления: иногда мы включаем Stop The Line, иногда ломается пайплайн сборки на stage или dev, иногда могут быть нестабильны стенды.
— Работа с монолитным кодом также не вызывает удовлетворения. Много кода уже принадлежит Продуктовым командам (разделение ответственности по функциям и разделение LF endpoint по будущим компонентам), но общего безхозного кода предостаточно.
Мы пилим монолит, но он точно будет с нами ещё несколько лет. Тлен? Нет, есть решение — мы создаём команду Monolith Release Engineering Team!
Команда возьмет на себя владение общим монолитовским кодом, билд-релиз пайплайном, тестами, рефакторингом БД. В принципе, команда возьмёт на себя процессы связанные с монолитом, чтобы постараться убрать вышеназванные проблемы.
В команде будет 2 релиз инженера — .Net разработчика высокой квалификации. Первый участник уже есть. Второго будем искать «после майских», но если кто желает присоединиться — велкам в мир (зачеркнуто — боли и страданий) больших вызовов, драйва и развития в system engineering (с уклоном в инфраструктуру).
Ссылка на вакансию (.NET-разработчика), если решите откликнуться.
Workable
Dodo Brands (Dodo Pizza, Drinkit, Doner 42)
Dodo Brands — международная сеть ресторанов родом из России. Мы в цифрах: 700+ пиццерий в 15 странах, 16 млн клиентов, 365 заказов в минуту в приложении.
А у вас есть монолит?
Anonymous Poll
56%
Есть, пилим, ещё много работы
15%
Есть, почти допилили
9%
Уже нет
20%
Не было никогда