«В сентябре 2019 года, на выходных, мы культурно выпивали всем Dodo Engineering на турбазе под Владимиром. В это время облачный провайдер обновил минорную версию MySQL».
23 сентября на Saint HighLoad++ Олег Блохин расскажет историю о последствиях и инженерных решениях, сдобренную анекдотами из жизни в облаке.
Если вы мечтаете об облаках, но никогда в них не жили — приходите послушать, как бывает. В рамках одной продолжительной истории переезда базы на managed-решение разберём, какие подводные камни, детские болезни и неприятные проблемы случаются. Смотреть будем на примере MySQL, но большая часть ситуаций не связана с конкретной базой данных и с базами данных вообще.
18:00, зал 06, Зелёный. До встречи!
23 сентября на Saint HighLoad++ Олег Блохин расскажет историю о последствиях и инженерных решениях, сдобренную анекдотами из жизни в облаке.
Если вы мечтаете об облаках, но никогда в них не жили — приходите послушать, как бывает. В рамках одной продолжительной истории переезда базы на managed-решение разберём, какие подводные камни, детские болезни и неприятные проблемы случаются. Смотреть будем на примере MySQL, но большая часть ситуаций не связана с конкретной базой данных и с базами данных вообще.
18:00, зал 06, Зелёный. До встречи!
🔥9❤1
Forwarded from 99developers (Alex Andronov)
🚨 У нас сегодня развалилась к херам Dodo IS!
Прием заказа превратился в тыкву, мы не смогли обслужить пуши, мы не смогли обслужить акции и в итоге клиенты часа испытывали проблемы в самый пиковый день.
У нас за вечер:
* DDoS на 2.8млн запросов в минуту.
* Пуши, которые свалили мобильное приложение, а затем и сайт.
* Наш плохой релиз, который непонятно как сломал центр системы.
* Сломался мониторинг раза 3-4 за вечер.
* Дикая нагрузка на базу.
Все эти ошибки умножали эффект друг на друга.
Этим падением мы фактически уронили наш уровень сервиса, который должны держать. Когда мы роняем SL, мы останавливаем релизы и переключаемся на технические работы! Такие падения означают что мы сделали перекос в сторону фичей и недостаточно внимания уделяли нагрузке и качеству решений.
Что мы обычно делаем в такой ситуации? По сути наш конвеер не работает и нам надо остановить релизы. Когда ты нарушаешь SL, это означает что ты делаешь слишком большой перекос в сторону фичей.
С понедельника будет 2 важных изменения в работе команд Dodo IS.
* Мы останавливаем продуктовые релизы, касающиеся приема заказа до восстановления к уровню SLO. В релиз пойдут только фиксы и технические улучшения системы
* Команды Ordering и CVM Евразии останавливают свою работу и переключаются в обязательном порядке на технические работы по восстановлению уровня сервиса.
Помимо них другие команды так же будут вовлечены – инженеры инфраструктуры, команда нагрузки, по мере необходимости мы будем переключать и другие команды в помощь.
Адский феил с нашей стороны.
Будем рассказывать о нем и пост-мортем сделаем публичным.
Прием заказа превратился в тыкву, мы не смогли обслужить пуши, мы не смогли обслужить акции и в итоге клиенты часа испытывали проблемы в самый пиковый день.
У нас за вечер:
* DDoS на 2.8млн запросов в минуту.
* Пуши, которые свалили мобильное приложение, а затем и сайт.
* Наш плохой релиз, который непонятно как сломал центр системы.
* Сломался мониторинг раза 3-4 за вечер.
* Дикая нагрузка на базу.
Все эти ошибки умножали эффект друг на друга.
Этим падением мы фактически уронили наш уровень сервиса, который должны держать. Когда мы роняем SL, мы останавливаем релизы и переключаемся на технические работы! Такие падения означают что мы сделали перекос в сторону фичей и недостаточно внимания уделяли нагрузке и качеству решений.
Что мы обычно делаем в такой ситуации? По сути наш конвеер не работает и нам надо остановить релизы. Когда ты нарушаешь SL, это означает что ты делаешь слишком большой перекос в сторону фичей.
С понедельника будет 2 важных изменения в работе команд Dodo IS.
* Мы останавливаем продуктовые релизы, касающиеся приема заказа до восстановления к уровню SLO. В релиз пойдут только фиксы и технические улучшения системы
* Команды Ordering и CVM Евразии останавливают свою работу и переключаются в обязательном порядке на технические работы по восстановлению уровня сервиса.
Помимо них другие команды так же будут вовлечены – инженеры инфраструктуры, команда нагрузки, по мере необходимости мы будем переключать и другие команды в помощь.
Адский феил с нашей стороны.
Будем рассказывать о нем и пост-мортем сделаем публичным.
🔥43😢12👍10
Как iOS-разработчику разобраться с бесконечным потоком логов и в сердцах не поудалять нужные вместе с ненужными? Есть один способ — использовать os_log и Console.app.
Алексей Берёзка рассказывает в статье на Хабре, как можно логировать всё, что происходит в любых слоях вашего приложения в любой момент времени, замерить, как долго выполнялась та или иная функция, вывести это текстом в логи и не потерять важное.
Алексей Берёзка рассказывает в статье на Хабре, как можно логировать всё, что происходит в любых слоях вашего приложения в любой момент времени, замерить, как долго выполнялась та или иная функция, вывести это текстом в логи и не потерять важное.
Хабр
Логи в iOS, эпизод 1: os_log
Представьте, что вы садитесь делать новый проект для iOS/iPadOS/macOS/tvOS/watchOS. Очень скоро сталкиваетесь с первым багом и, чтобы его понять и исправить, добавляете логи — вызываете print()...
❤14
Немного хороших новостей не помешает этому миру. И у нас их есть целых две.
Первая — 8 октября Дима Павлов будет выступать с докладом на Kolesa Conf’22. Посмотреть бесплатно можно онлайн — нужно только зарегистрироваться.
Вторая — у Димы есть свой телеграм-канал про продуктовую разработку «на вижене»!
Жгуче рекомендуем на него подписаться, там отменный контент про фейлы и не фейлы, сдобренный щепоткой искромётного юмора. Всё как мы любим.
Первая — 8 октября Дима Павлов будет выступать с докладом на Kolesa Conf’22. Посмотреть бесплатно можно онлайн — нужно только зарегистрироваться.
Вторая — у Димы есть свой телеграм-канал про продуктовую разработку «на вижене»!
Жгуче рекомендуем на него подписаться, там отменный контент про фейлы и не фейлы, сдобренный щепоткой искромётного юмора. Всё как мы любим.
🔥16👍1
Продолжаем разбираться с логами в iOS
Во второй статье Алексей Берёзка рассказывает, как с помощью
Кстати, именно таким образом мы и нашли проблему с долгим отображением списка пиццерий в Москве.
Во второй статье Алексей Берёзка рассказывает, как с помощью
os_signpost залогировать долгие операции и посмотреть их в Time Profiler.Кстати, именно таким образом мы и нашли проблему с долгим отображением списка пиццерий в Москве.
Хабр
Логи в iOS, эпизод 2: os_signpost
В какой-то момент разработки приложения вы получаете обратную связь от пользователей: например, при нажатии на кнопку «Выбрать адрес» приложение сначала на пару секунд подвисает, а уже только потом...
👍8
С момента появления SRE в Dodo мы серьёзно прокачались в плане инцидент-менеджмента и рады, когда есть возможность поделиться своим опытом.
Завтра стартует интенсив Слёрма по SRE, на котором Сергей Бухаров расскажет, какие инструменты можно использовать, чтобы реализовать SRE-подход в своей компании.
Речь пойдёт об алертах, а точнее о возможных способах их получения, какую информацию они должны содержать, как с ними работать и оценивать импакт.
Если вам тоже интересна эта тема, оставляйте свои вопросы в комментариях — сделаем на них отдельный пост с ответами.
Завтра стартует интенсив Слёрма по SRE, на котором Сергей Бухаров расскажет, какие инструменты можно использовать, чтобы реализовать SRE-подход в своей компании.
Речь пойдёт об алертах, а точнее о возможных способах их получения, какую информацию они должны содержать, как с ними работать и оценивать импакт.
Если вам тоже интересна эта тема, оставляйте свои вопросы в комментариях — сделаем на них отдельный пост с ответами.
👏10👍3
Мы очень любим опираться на данные, чтобы понять, не фигню ли мы делаем.
И результаты исследования известности команд iOS-разработки говорят, что мы движемся в правильную сторону, потому что наша iOS-команда — одна из сильнейших в России.
Вот несколько фактов:
🔹 Миша Рубанова попал в топ-5 экспертов iOS-разработки в России.
🔹 23% участников опроса используют телеграм-канал Dodo Mobile в качестве источника информации по iOS-разработке.
🔹 34% считают, что наши доклады на конференциях самые интересные.
🔹 22% считают, что у нас работают самые технически сильные iOS-разработчики.
🔹 18% ответили, что считают привлекательной работу в нашей iOS-команде.
Посмотреть все результаты можно здесь.
Спасибо всем разработчикам, которые участвовали в исследовании.
Спасибо нашей iOS-команде и Мише Рубанову за то, что каждый день делают мир iOS-разработки чуточку лучше и рассказывают об этом. Ребята, гордимся вами! ❤️
И результаты исследования известности команд iOS-разработки говорят, что мы движемся в правильную сторону, потому что наша iOS-команда — одна из сильнейших в России.
Вот несколько фактов:
🔹 Миша Рубанова попал в топ-5 экспертов iOS-разработки в России.
🔹 23% участников опроса используют телеграм-канал Dodo Mobile в качестве источника информации по iOS-разработке.
🔹 34% считают, что наши доклады на конференциях самые интересные.
🔹 22% считают, что у нас работают самые технически сильные iOS-разработчики.
🔹 18% ответили, что считают привлекательной работу в нашей iOS-команде.
Посмотреть все результаты можно здесь.
Спасибо всем разработчикам, которые участвовали в исследовании.
Спасибо нашей iOS-команде и Мише Рубанову за то, что каждый день делают мир iOS-разработки чуточку лучше и рассказывают об этом. Ребята, гордимся вами! ❤️
❤25🎉7👏6👍1
Так исторически сложилось, что команда SRE в Dodo Engineering отвечает за инфрастуктурную часть: продакшен, опыт разработчиков, IT-офис (это когда вроде как вопросы около IT, но непонятно, кому их задать).
Если коротко сформулировать основную задачу, то она звучит примерно так: «автоматизировать и упрощать среду, в которой мы работаем». Но это всё равно довольно абстрактно, а что же на самом деле они делают каждый день?
В этом выпуске Олег как раз раскрывает подробности работы SRE через два кейса, которые недавно у нас произошли. Рекомендуем послушать, даже если вы не совсем SRE.
А для тех, кому интересно попробовать себя в роли SRE DBA, у нас в команде есть открытая вакансия.
Если коротко сформулировать основную задачу, то она звучит примерно так: «автоматизировать и упрощать среду, в которой мы работаем». Но это всё равно довольно абстрактно, а что же на самом деле они делают каждый день?
В этом выпуске Олег как раз раскрывает подробности работы SRE через два кейса, которые недавно у нас произошли. Рекомендуем послушать, даже если вы не совсем SRE.
А для тех, кому интересно попробовать себя в роли SRE DBA, у нас в команде есть открытая вакансия.
👍3
Однажды нашему разработчику Степану Гранкину очень понадобилось узнать, как много пиццы заказывают в городе Яньтай (городской округ в китайской провинции Шаньдун).
Он знает, где такую информацию искать, и быстро её нашёл. Но задумался, а вдруг ещё кому-то срочно надо узнать, например, в какой стране (после России, конечно) у нас больше всего ресторанов. Или сколько заказов в минуту у каждого из наших брендов? А какой поток заказов в конкретном городе? А насколько, в конце концов, увеличивается выручка каждый час?
А нет у нас удобного и доступного всем инструмента. Тогда он подумал-подумал и как придумал!
Дело в том, что через бэкенд Цифровой панели брендов, которую разрабатывал Степан, проходит разная информация о нашей сети. И путём несложных манипуляций он запилил по-быстрому доску в Графане с графиками и метриками из этих данных. И так это нам понравилось, что решили и вам рассказать. Спасибо Степану за заботу: теперь мы можем сами всё видеть и интересными фактами делиться со всеми.
Кстати, интересный факт: наши рестораны есть в 4 городах, которые начинаются на букву Э. Пригодится, если в «Города» играть будем.
Он знает, где такую информацию искать, и быстро её нашёл. Но задумался, а вдруг ещё кому-то срочно надо узнать, например, в какой стране (после России, конечно) у нас больше всего ресторанов. Или сколько заказов в минуту у каждого из наших брендов? А какой поток заказов в конкретном городе? А насколько, в конце концов, увеличивается выручка каждый час?
А нет у нас удобного и доступного всем инструмента. Тогда он подумал-подумал и как придумал!
Дело в том, что через бэкенд Цифровой панели брендов, которую разрабатывал Степан, проходит разная информация о нашей сети. И путём несложных манипуляций он запилил по-быстрому доску в Графане с графиками и метриками из этих данных. И так это нам понравилось, что решили и вам рассказать. Спасибо Степану за заботу: теперь мы можем сами всё видеть и интересными фактами делиться со всеми.
Кстати, интересный факт: наши рестораны есть в 4 городах, которые начинаются на букву Э. Пригодится, если в «Города» играть будем.
🔥11😁6👍2👎2
Открытая внутренняя конференция Dodo Brands
Поговорим о том, как сделать крутое мобильное приложение, почему важно следить за трендами и первыми внедрять платформенные фичи, как запускать быстрые эксперименты, как разрабатывать мобильные приложения для людей с ограниченными возможностями.
Наш опыт и выводы в коротких докладах и воркшопах. На конференции вы сможете:
— познакомиться с ключевыми экспертами концепций и узнать о принципах разработки мобильных приложений Dodo Brands;
— погрузиться в кейсы команд и получить прикладные инструменты работы с гипотезами и экспериментами;
— услышать об удобствах и недостатках уже выбранных решений;
— узнать о ключевых трендах мобильной разработки и их перспективе развития у нас.
8 отборных выступлений и много сочных интерфейсов мобильных приложений. Бонус: гость-спикер из Яндекса, который расскажет про редизайн Кинопоиска.
Стартуем завтра в 10:00 (время московское), ссылку и расписание опубликуем за час до начала трансляции.
Запись будет, выложим позже отдельными видео.
Поговорим о том, как сделать крутое мобильное приложение, почему важно следить за трендами и первыми внедрять платформенные фичи, как запускать быстрые эксперименты, как разрабатывать мобильные приложения для людей с ограниченными возможностями.
Наш опыт и выводы в коротких докладах и воркшопах. На конференции вы сможете:
— познакомиться с ключевыми экспертами концепций и узнать о принципах разработки мобильных приложений Dodo Brands;
— погрузиться в кейсы команд и получить прикладные инструменты работы с гипотезами и экспериментами;
— услышать об удобствах и недостатках уже выбранных решений;
— узнать о ключевых трендах мобильной разработки и их перспективе развития у нас.
8 отборных выступлений и много сочных интерфейсов мобильных приложений. Бонус: гость-спикер из Яндекса, который расскажет про редизайн Кинопоиска.
Стартуем завтра в 10:00 (время московское), ссылку и расписание опубликуем за час до начала трансляции.
Запись будет, выложим позже отдельными видео.
🔥9❤2
Недавно у нас в Android-приложении Дринкит появились частые краши на проде
В этой статье на Хабре вместе с Максом Качинкиным разбираемся в теории IPC-вызовов и Binder-транзакциий, воспроизводим краш и докапываемся до сути.
TransactionTooLargeException.TransactionTooLargeException — это исключение из области IPC-вызовов (interprocess communication) и Android Binder. Но его можно получить в безобидной ситуации, когда мы, казалось бы, ничего такого не делали и не пользовались IPC.В этой статье на Хабре вместе с Максом Качинкиным разбираемся в теории IPC-вызовов и Binder-транзакциий, воспроизводим краш и докапываемся до сути.
Хабр
Откуда возникает TransactionTooLargeException, если я ничего такого не делал?
Android-разработчиков часто спрашивают на технических собеседованиях, как запускать фрагменты, как передавать туда данные, почему нельзя класть много в аргументы, а много — это сколько, а что может...
👍5🔥4
Dodo Engineering
Открытая внутренняя конференция Dodo Brands Поговорим о том, как сделать крутое мобильное приложение, почему важно следить за трендами и первыми внедрять платформенные фичи, как запускать быстрые эксперименты, как разрабатывать мобильные приложения для людей…
Ссылка на трансляцию.
Расписание
10:00 — 10:05 Интро
10:05 — 10:00 Как мы работаем и развиваем мобильные приложения в Додо
Дмитрий Павлов
10:20 — 10:45 Переиспользуй! 4 способа упрощения разработки приложений
Александр Столяров
10:45 — 11:15 Опыт разработки мобильных приложений в Яндексе на примере Кинопоиска
Андрей Ильин, КиноПоиск
11:15 — 11:30 Перерыв
11:30 — 11:45 Интерактив в зале
11:45 — 12:10 Как сделать крутое мобильное приложение
Арсений Васильев
12:10 — 12:35 Почему важно следить за анонсами Apple и Google и первыми внедрять платформенные фичи
Георгий Шагинян
12:35 — 13:15 Быстрые эксперименты
Борис Герн
13:15 — 13:45 Вопросы, перерыв
13:45 — 14:00 Интерактив в зале
14:00 — 14:25 Тренды или необходимость?
Евгения Ерофеева
14:25 — 15:15 Доступность
Михаил Рубанов
15:15 — 15:20 Завершение
Расписание
10:00 — 10:05 Интро
10:05 — 10:00 Как мы работаем и развиваем мобильные приложения в Додо
Дмитрий Павлов
10:20 — 10:45 Переиспользуй! 4 способа упрощения разработки приложений
Александр Столяров
10:45 — 11:15 Опыт разработки мобильных приложений в Яндексе на примере Кинопоиска
Андрей Ильин, КиноПоиск
11:15 — 11:30 Перерыв
11:30 — 11:45 Интерактив в зале
11:45 — 12:10 Как сделать крутое мобильное приложение
Арсений Васильев
12:10 — 12:35 Почему важно следить за анонсами Apple и Google и первыми внедрять платформенные фичи
Георгий Шагинян
12:35 — 13:15 Быстрые эксперименты
Борис Герн
13:15 — 13:45 Вопросы, перерыв
13:45 — 14:00 Интерактив в зале
14:00 — 14:25 Тренды или необходимость?
Евгения Ерофеева
14:25 — 15:15 Доступность
Михаил Рубанов
15:15 — 15:20 Завершение
YouTube
Конференция Dodo Brands «Мобильные приложения как продукт»
👍7
Ребята из iOS-команды завели ютуб-канал про доступность.
Алексей Берёзка будет добавлять поддержку Dynamic Type прямо в приложение Додо Пиццы: на живую, с реальным кодом, вьюхами и тестами.
Подписывайтесь, чтобы не пропустить новые видео!
Алексей Берёзка будет добавлять поддержку Dynamic Type прямо в приложение Додо Пиццы: на живую, с реальным кодом, вьюхами и тестами.
Подписывайтесь, чтобы не пропустить новые видео!
❤7
Вышла большая статья об особенностях монолита Dodo IS и о том, как мы его на .NET 6 и Kubernetes переводили.
Заглядывайте на Хабр, задавайте вопросы в комментариях.
Заглядывайте на Хабр, задавайте вопросы в комментариях.
Хабр
История о том, как мы монолит с .NET Framework на .NET 6 и Kubernetes переводили
В 2011 году 2 разработчика начали создавать свою информационную систему, чтобы через неё принимать заказы в Додо Пицце. 2 года назад мы рассказывали про раннюю архитектуру Dodo IS здесь и здесь...
❤6🔥6👍3
Мы на 9 месте в рейтинге IT-брендов работодателей!
Споры вокруг рейтингов будут всегда, но всё равно приятно, когда ты в топе.
Это был тяжёлый год (с), и можно долго рассуждать об объективности данных, влиянии различных событий, всячески спорить и скептически относится ко всему.
Одно остаётся неизменным: если ежедневно делать то, что умеешь, и делать это каждый раз чуть лучше, чем раньше, в любых обстоятельствах это будет заметно окружающим.
Поэтому этот пост про признание, не только между собой, но и в большом IT-сообществе.
Спасибо всей команде и каждому в отдельности за то, что пилили классные штуки, о которых мы рассказывали и будем рассказывать дальше, за поддержку, внутренний движ, без которого не было бы и внешнего.
Мы классные!💻
Споры вокруг рейтингов будут всегда, но всё равно приятно, когда ты в топе.
Это был тяжёлый год (с), и можно долго рассуждать об объективности данных, влиянии различных событий, всячески спорить и скептически относится ко всему.
Одно остаётся неизменным: если ежедневно делать то, что умеешь, и делать это каждый раз чуть лучше, чем раньше, в любых обстоятельствах это будет заметно окружающим.
Поэтому этот пост про признание, не только между собой, но и в большом IT-сообществе.
Спасибо всей команде и каждому в отдельности за то, что пилили классные штуки, о которых мы рассказывали и будем рассказывать дальше, за поддержку, внутренний движ, без которого не было бы и внешнего.
Мы классные!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤40👍14🔥14
Коротко о наших спикерах:
Антон Оникийчук
Разработчик с 17-летним опытом работы. Любит простые решения и хорошую команду. Входит в ПК конференции.
Андрей Парамонов
Ведущий разработчик. Не любит программирование. Любит гладить собак. Кошек гладить тоже любит.
Анна Морозова
Техлид Ordering Platform. Отвечает за бэкенд b2c-пиццы.
Что будут делать на конференции:
▪️ Антон и Андрей утверждают, что MediatR вредно использовать в 99% случаев. Обещают предоставить доказательства в своём докладе.
▪️Аня на дискуссии за круглым столом расскажет об опыте создания и развития внутренней гильдии разработчиков.
Желаем ребятам хорошего нетворкинга и отлично выступить!
Как только будут доступны видеозаписи, поделимся в этом канале. И само собой, задавайте в комментариях вопросы, попросим ребят ответить на все.
P.S. Для тех, кто внезапно решил купить билет на конференцию, есть промокод: AntonOnikiychuk2022JRGpc.
Антон Оникийчук
Разработчик с 17-летним опытом работы. Любит простые решения и хорошую команду. Входит в ПК конференции.
Андрей Парамонов
Ведущий разработчик. Не любит программирование. Любит гладить собак. Кошек гладить тоже любит.
Анна Морозова
Техлид Ordering Platform. Отвечает за бэкенд b2c-пиццы.
Что будут делать на конференции:
▪️ Антон и Андрей утверждают, что MediatR вредно использовать в 99% случаев. Обещают предоставить доказательства в своём докладе.
▪️Аня на дискуссии за круглым столом расскажет об опыте создания и развития внутренней гильдии разработчиков.
Желаем ребятам хорошего нетворкинга и отлично выступить!
Как только будут доступны видеозаписи, поделимся в этом канале. И само собой, задавайте в комментариях вопросы, попросим ребят ответить на все.
P.S. Для тех, кто внезапно решил купить билет на конференцию, есть промокод: AntonOnikiychuk2022JRGpc.
🔥16👍3
Впереди у некоторых из нас целых 3 выходных дня. Кому-то повезёт с погодой и он сможет насладиться прогулками, кто-то побежит доделывать дела, а кто-то решит почитать, посмотреть и послушать что-то интересное и полезное, на что не хватило времени.
У нас есть кое-что, что можно добавить в список «посмотреть и послушать».
Доклад Димы Павлова, нашего CPO, «Выпьем за любовь, или Как мы IT с бизнесом дружили».
Подкаст с Димой Тучсом, Head of QA, про тесты и пиццу.
Хороших всем нам выходных!
У нас есть кое-что, что можно добавить в список «посмотреть и послушать».
Доклад Димы Павлова, нашего CPO, «Выпьем за любовь, или Как мы IT с бизнесом дружили».
Подкаст с Димой Тучсом, Head of QA, про тесты и пиццу.
Хороших всем нам выходных!
👍13❤2
Для тех, кому некогда слушать подкасты, но у кого найдётся несколько минут на чтение, сделали короткий пересказ выпусков подкаста «Манул Слёрма» с Олегом Блохиным.
Заглядывайте на Хабр почитать о том, когда нужен SRE-подход в компании, какие проблемы решает, а какие — нет, и чем занимается SRE-команда в Dodo Engineering.
Заглядывайте на Хабр почитать о том, когда нужен SRE-подход в компании, какие проблемы решает, а какие — нет, и чем занимается SRE-команда в Dodo Engineering.
🔥7