Таким образом информационная система реально влияет на увеличение эффективности и прибыльности «Додо Пиццы», так как стоимость труда являются одной из главнейших статей расхода для нашего бизнеса. Мы называем это «dodo-эффект». Додо is личный кабинет. Палочки с креветками Додо. Додо ис смены.
Виртуальный ЦОД в Додо Пицца
Так начался долгий путь сбора информации, поиска авторов и написания серии статей про Dodo IS. Система Додо ИС. Чтобы войти в персональный аккаунт Додо ИС, нужно следовать такой инструкции.
*Как видеоаналитика и машинное зрение помогают оценивать качество пиццы
Эта информация наш сервис трекера не интересует. В общей монолитной базе таблицы могли быть только компромиссным вариантом между всеми пользователями. Это было одной из изначальных проблем. Изначально архитектура была такая: Даже после выделения в отдельные процессы большая часть кодовой базы оставалась общей для разных сервисов. Всё, что ниже контроллеров, было единым и жило в одном репозитории.
Использовались общие методы сервисов, репозиториев, общая база, в которой лежали общие таблицы. Разгружаем Трекер Главная проблема с трекером в том, что данные должны синхронизироваться между различными базами. Это же и главное его отличие от разделения Auth-сервиса, заказ и его статус могут изменяться и должны отображаться в различных сервисах. Мы принимаем заказ на Кассе Ресторана это сервис , он сохраняется в базе в статусе «Принят».
После этого он должен попасть на трекер, где ещё несколько раз изменит свой статус: от «Кухня» до «Упакован». При этом с заказом могут происходить какие-то внешние воздействия от Кассы или интерфейса Менеджера смены. Приведу в таблице статусы заказа с их описанием: Схема изменения статусов заказа выглядит так: Статусы меняются между разными системами. И здесь трекер не является конечной системой, в которой замыкаются данные.
Мы видели несколько возможных подходов для разделения в таком случае: Концентрируем все действия заказа в одном сервисе. В нашем случае этот вариант требует слишком большого сервиса по работе с заказом. Если бы мы остановились на нём, то получился бы второй монолит. Проблемы бы мы не решили.
Одна система делает вызов в другую. Второй вариант уже интереснее. Но при нём возможны цепочки вызовов каскадные сбои , связность компонентов выше, управлять этим сложнее. Организуем события, и каждый сервис обменивается с другим через эти события.
В итоге был выбран именно третий вариант, по которому все сервисы начинают обмениваться событиями друг с другом. То, что мы выбрали третий вариант значило, что для трекера будет своя база, а на каждое изменение заказа он будет посылать событие об этом, на которое подписываются другие сервисы и которое в том числе попадает в мастер-базу. Для этого нам нужен был некоторый сервис, который обеспечит доставку сообщений между сервисами. К тому времени у нас в стеке уже был RabbitMQ, отсюда и итоговое решение использовать его как брокер сообщений.
На схеме показан переход заказа от Кассы Ресторана через Трекер, где он меняет свои статусы и отображение его на интерфейсе Заказы менеджера. Здесь это Касса Ресторана: На Кассе полностью готов заказ, и его пора отправить на трекер. Бросается событие, на которое подписан трекер. Трекер, принимая себе заказ, сохраняет его в свою собственную базу, делая при этом событие «ЗаказПринятТрекером» и посылая его в RMQ.
В шине событий на заказ уже подписаны несколько обработчиков. Для нас важен тот, который делает синхронизацию с монолитной базой. Обработчик принимает событие, выбирает из него значимые для него данные: в нашем случае это статус заказа «ПринятТрекером» и обновляет свою сущность заказа в основной базе. Если кому-то нужен заказ именно из монолитной таблицы orders, то можно считать его и оттуда.
Например, такое нужно интерфейсу Заказы в Менеджере Смены: Все другие сервисы тоже могут подписаться на события заказа из трекера, чтобы использовать их для себя. Если через некоторое время заказ берётся в работу, то его статус сначала изменяется в своей базе базе Трекера , а потом сразу генерируется событие «ЗаказВРаботе». Оно также попадает в RMQ, откуда синхронизируется в монолитной базе и доставляется другим сервисам.
Разные части системы требовали разных показателей стабильности, но в силу сильной связности системы, мы не могли этого обеспечить. Ошибка при разработке новой функции в админке, вполне могла выстрелить в приеме заказа на сайте, ведь код общий и переиспользуемый, база и данные тоже едины. Вероятно, можно было бы и в рамках такой монолитно-модульной архитектуры не допускать этих ошибок и проблем: сделать разделение ответственности, проводить рефакторинг как кода, так и базы данных, чётко отделять слои друг от друга, следить за качеством каждый день. Но выбранные архитектурные решения и фокус на быстром расширении функционала системы привели к проблемам в вопросах стабильности. Как блог Сила ума положил кассы в ресторанах Если рост сети пиццерий и нагрузки продолжался бы в том же темпе, то через некоторое время падения были бы уже такими, что система и не поднимется. Хорошо иллюстрирует проблемы, с которыми мы начали сталкиваться к 2015 году вот такая история.
В блоге « Сила ума » был виджет, который показывал данные по выручке за год всей сети. Виджет обращался к публичному API Dodo, которое предоставляет эти данные. Виджет показывался на каждой странице и делал запросы по таймеру каждые 20 секунд. Запрос уходил в api. Запрос на статистику по выручке шел сразу в базу и начинал запрашивать данные по заказам, агрегировать данные прямо на лету и выдавать сумму. В эту же таблицу заказов ходили Кассы в ресторанах, выгружали список принятых за сегодня заказов, в неё же добавлялись новые заказы. Кассы делали свои запросы каждые 5 секунд или по обновлению страницы. Схема выглядела так: Однажды осенью, Федор Овчинников написал в свой блог длинную и популярную статью. На блог пришло очень много людей и стали внимательно всё читать.
Пока каждый из пришедших человек читал статью, виджет с выручкой исправно работал и запрашивал API каждые 20 секунд. API вызывало хранимую процедуру на расчет суммы всех заказов с начала года по всем пиццериям сети. Агрегация шла по таблице orders, которая очень популярна. В неё же ходят все кассы всех открытых ресторанов на тот момент. Кассы перестали отвечать, заказы не принимались. Ещё они не принимались с сайта, не появлялись на трекере, менеджер смены не мог увидеть их в своем интерфейсе. Это не единственная история. К осени 2015 года каждую пятницу нагрузка на систему была критическая. Несколько раз мы выключали публичное API, а однажды, нам пришлось даже отключить сайт, потому что уже ничего не помогало.
Был даже список сервисов с порядком отключения при серьезных нагрузках. С этого времени начинается наша борьба с нагрузками и за стабилизацию системы с осени 2015 до осени 2018. Именно тогда случилось « Великое падение ». Дальше тоже иногда происходили сбои, некоторые были весьма чувствительными, но общий период нестабильности сейчас можно считать пройденным. Бурный рост бизнеса Почему нельзя было «сделать сразу хорошо»? Достаточно посмотреть на следующие графики. Также в 2014-2015 было открытие в Румынии и готовилось открытие в США. Сеть росла очень быстро, открывались новые страны, появлялись новые форматы пиццерий, например, открылась пиццерия на фудкорте. Всё это требовало значительного внимания именно к расширению функций Dodo IS.
Без всех этих функций, без трекинга на кухне, учета продуктов и потерь в системе, отображения выдачи заказа в зале фудкорта, вряд ли бы мы сейчас рассуждали о «правильной» архитектуре и «верном» подходе к разработке. Еще препятствиями для своевременного пересмотра архитектуры и вообще внимания к техническим проблемам, был кризис 2014 года. Такие вещи больно бьют по возможностям для роста команд, особенно для молодого бизнеса, каким была Додо Пицца. Быстрые решения, которые помогли Проблемы требовали решения. Условно, решения можно разделить на 2 группы: Быстрые, которые тушат пожар и дают небольшой запас прочности и выигрывают нам время на изменения. Системные и, поэтому, долгие. Реинжиниринг ряда модулей, разделение монолитной архитектуры на отдельные сервисы большинство из них вполне не микро, а скорее макросервисы и про это есть доклад Андрея Моревского. Сухой список быстрых изменений таков: Scale up мастер базы Конечно, первое, что делается для борьбы с нагрузками — увеличивается мощность сервера. Это делали для мастер базы и для веб серверов.
Увы, это возможно лишь до некоторого предела, дальше становится слишком дорого. С 2014 года мы перешли в Azure, на эту тему мы тоже писали еще в то время в статье « Как Додо Пицца доставляет пиццу с помощью облака Microsoft Azure ». Но после череды увеличений сервера под базу уперлись по стоимости. Реплики базы на чтение Реплик для базы сделали две: ReadReplica для запросов на справочники. Применяется для чтения справочников, типа, города, улицы, пиццерии, продуктов slowly changed domain , и в тех интерфейсах, где допустима небольшая задержка. Этих реплик было 2, мы обеспечивали их доступность также, как и мастера. ReadReplica для запросов на отчеты. У этой базы доступность была ниже, но в неё ходили все отчеты. Пусть у них тяжелые запросы на огромные пересчеты данных, но зато они не влияют на основную базу и операционные интерфейсы.
Это сервис для автоматизации работы франчайзи, в него поступает вся информация с рабочих мест пиццерий: что заказали, сколько нужно продуктов, куда поехал курьер. Функционала для ведения бухгалтерского учета в этой программе нет, данные нужно переносить в «1С». Своему первому клиенту среди франчайзи Додо мы помогаем с 2014 года. Пока у клиента работала одна пиццерия, достаточно было сопровождения «1С:Бухгалтерии» — бухгалтеры копировали данные из Додо ИС вручную. Но у компании появилась сеть пиццерий. Ручной перенос данных занимал бы слишком много времени, нужно было с нуля настроить синхронизацию. Клиенты ведут бухгалтерию в «1С:Фреш», поэтому мы развернули для франчайзи отдельное облако на технологии Фреш, в котором сделали необходимые доработки.
Сейчас так работают уже с 10 облачными базами Додо франчайзи. Автоматизировали учет оплаты самозанятым и контроль доставок В ходе доработок сделали загрузку и учет зарплаты самозанятых, это актуально для многих франчайзи. Курьеры часто работают как самозанятые поставщики услуг по доставке. Теперь поступления услуг на оплату создаются автоматически и на основании приходов формируются платежные поручения в банк. Решили еще одну задачу по работе с курьерами — настроили сверку со Сбербанком для контроля доставок.
Менеджеры смен могут видеть в системе, как долго пицца находится в ожидании доставки.
Если дело затягивается, они могут вызвать дополнительных курьеров. Благодаря этим данным можно понять, насколько эффективно организована доставка. Трекер анализирует данные по продажам прошлых периодов и строит прогнозы по загруженности кухни. Система предупредит начальника смены, если на кухне слишком много или слишком мало людей. Благодаря этому можно добиться максимальной производительности. Система может менять последовательность заказов на линии в зависимости от ситуации.
Например, в приоритет поставить заказ, сделанный на кассе ресторана, а заказ на доставку начать готовить попозже. При большом количестве заказов трекер отправляет на сайт и в приложение клиентов уведомления о перегрузке пиццерии. Это помогает сформировать правильные ожидания по времени доставки на стадии оформления заказа. А что кроме трекера? Dodo IS лежит в основе всех концепций Dodo Brands и состоит из множества цифровых продуктов. Об всех и не расскажешь.
Нашим инвесторам и партнерам это нравится! У нас единый контакт-центр в России и Казахстане. Это значит, что клиенты в этих странах набирают один и тот же номер. Звонок перенаправляется свободному оператору, который может быть за тысячи километров. Наша CRM-система предоставляет оператору всю информацию, необходимую для обработки заказа, а заказ сразу же появляется на экране у ближайшего к клиенту ресторана.
Подписка на новости
- Додо ис персонал
- RS. Информационная система Dodo IS
- Выживают только… техно-параноики
- Додо ис база знаний
ТАКЖЕ ПО ТЕМЕ
- Dashboards DODO / ДОДО ПИЦЦА
- 10 главных преимуществ франшизы «Додо Пицца»
- Вкусная пицца для сотрудников
- Улучшите опыт использования Додо с помощью наших полезных советов
- Как войти в личный кабинет Dodo IS
«Додо Пицца»: как сделать чат в приложении, которым довольны 9 из 10 пользователей
Как «Додо Пицца» предотвратили проблемы с гашением ВСД | База знаний Додо ИС. Информационная система пиццерии. |
Вкусная пицца для сотрудников | Для этого компания использует облачную информационную систему «Додо ИС» и интеллектуальный подход к видеонаблюдению. |
Франшиза «Додо Пиццы»: сильный продукт, передовые технологии и честные условия | последние новости на сегодня - РБК Инвестиции. Основатель «Додо Пицца» Федор Овчинников рассказал в Facebook об антикризисной стратегии, которую компания вынуждения принять в сложившихся условиях. |
Додо ис смены | Новая главная страница «Базы знаний» Додо. Задача Заложить фундамент, чтобы в будущем система смогла удовлетворить разнородные потребности франчайзи и Додо: 1) новым франчайзи дать простые инструкции по запуску пиццерий; 2) опытным предложить секреты. |
Додо ис смены
История архитектуры Dodo IS: ранний монолит / Хабр | Статистика и отчёты «Додо ИС» собирает данные обо всех аспектах работы: от скорости сборки конкретной пиццы до экономической эффективности пиццерии. |
Telegram: Contact @dodo_khv | Смотрите 63 фотографии онлайн по теме база знаний додо. Смотрели сегодня База знаний Додо, Буклеты Додо пиццерии, Коллекция магнитов Додо пицца, Додо ИС, Додо пицца повесилась карикатура, Стандарты Додо пицца, Тех карты Додо пицца, Додо пицца, Схемы. |
Как зерокодинг помогает «Додо Пицце» быстро тестировать гипотезы: новая база знаний для сотрудников | Основа франшизы «Додо Пиццы» — облачная ERP-система «Додо ИС» (Dodo IS), которая организует рабочие процессы пиццерии, включая обработку заказов, работу кухни, доставку, управление штатом и маркетинг[24]. |
Улучшите опыт использования Додо с помощью наших полезных советов
Статистика и отчёты «Додо ИС» собирает данные обо всех аспектах работы: от скорости сборки конкретной пиццы до экономической эффективности пиццерии. Мы выкладываем туда свежие новости компании, обсуждаем актуальные тренды, храним все стандарты, обучающие статьи и курсы. Разработка системы Dodo IS началась сразу же, как и бизнес Додо Пиццы — в 2011 году. Владелец сайта предпочёл скрыть описание страницы. Инспекторы пиццерии — это наша агентская сеть, которая помогает находить нарушения в пиццериях Додо Пиццы. Dodo IS Platform digitalizes every micro process in our QSR businesses from Dodo Brands: Dodo Pizza, Drinkit, and Doner 42. It covers all parts of the restaurant business — from shift scheduling and order tracking to real-time sales analytics.
Платформа Додо Академия
Dodo News Hub. Dodo News Hub. Redeem your points for a range of products and services, available on dodo store. У Додо есть собственные программные разработки Додо ИС. Dodo IS это облачная система. Другими словами существует большая база данных, которая содержит всю необходимую информацию о бизнесе. Данные обновляются в реальном времени.
Додо ис смены
Кроме того, проработано множество чек-листов буквально на любой случай: приём и передача смены, ведение кассы, контроль чистоты и генеральная уборка, обслуживание детской комнаты, планирование запасов, нормы нагрева теста и т. Цитирую: «В сердце нашего бизнеса — информационная система Dodo IS». В общем-то, все процессы в пиццерии так или иначе завязаны на информационную систему. Про преимущества «Додо ИС» есть целый отдельный сайт. Это уже действительно бренд, знакомый многим. Помимо традиционно хорошей работы в онлайне например, регулярная серьёзная работа в соцсетях , за последние месяцы была проведена первая федеральная рекламная компания с показом рекламного ролика в т. Централизованный контроль качества Управляющая компания «Додо Пиццы» очень пристально следит за уровнем качества сервиса во всех пиццериях сети. Это, во-первых, даёт уверенность в том, что «Додо Пицца» в соседнем районе или городе не испортит впечатление о бренде, если ваш клиент окажется там.
Уведомления приходят по расписанию, которое настраивает пользователь. Как настраивается работа с Телеграмом? Мы создаём для клиента чат-бота в Телеграм, в программах «1С» в его информационных базах прописываем все необходимые ключи. Это позволяет наладить взаимосвязь между конфигурацией «1С» и приложением Телеграм. Далее настраиваем отправку сообщений, виды отчётов и расписание для отправки. Сотрудники, которые будут получать сообщения, присылают нам имя пользователя в Телеграме для подключения и авторизации. Как посмотреть имя пользователя? Чтобы посмотреть своё имя в Телеграме, переходим в Настройки — Изменить профиль — Имя пользователя. Именно это имя без значка в начале и есть ваше имя в Телеграме. Далее пользователю наш специалист присылает имя чат-бота, которого нужно найти в Телеграм для подтверждения связи рассылки.
Для этого в поле Поиск вводим имя бота, в нашем случае — DodopizzaBot. Когда бот появится в результатах поиска, его нужно открыть и внизу нажать кнопку Запустить.
Когда пиццамейкер нажимает на продукт на трекере, происходит обновление записей во всех этих таблицах.
Таблица заказа общая, в неё же одновременно идут вставки при принятии заказа, обновления от других частей системы и многочисленные считывания, например, на телевизоре, который висит в пиццерии и показывает готовые заказы клиентам. В период борьбы с нагрузками, когда всё и вся кэшировалось и переводилось на асинхронную реплику базы, эти операции с трекером продолжили ходить в мастер-базу. Тут не должно быть никакого отставания, данные должны быть актуальными, рассинхрон недопустим.
Также отсутствие собственных таблиц и индексов на них не позволяло написать более специфичные запросы, заточенные под своё использование. Для примера, трекеру может быть эффективно иметь индекс на пиццерию на таблице заказов. Мы всегда выгребаем из базы трекера заказы по пиццерии.
При этом для приёма заказа не так важно, в какую пиццерию он падает, важнее, какой клиент сделал этот заказ. А значит там нужен индекс по клиенту. Ещё для трекера в таблице заказа не обязательно хранить id напечатанного чека или связанные с заказом бонусные акции.
Эта информация наш сервис трекера не интересует. В общей монолитной базе таблицы могли быть только компромиссным вариантом между всеми пользователями. Это было одной из изначальных проблем.
Изначально архитектура была такая: Даже после выделения в отдельные процессы большая часть кодовой базы оставалась общей для разных сервисов. Всё, что ниже контроллеров, было единым и жило в одном репозитории. Использовались общие методы сервисов, репозиториев, общая база, в которой лежали общие таблицы.
Разгружаем Трекер Главная проблема с трекером в том, что данные должны синхронизироваться между различными базами. Это же и главное его отличие от разделения Auth-сервиса, заказ и его статус могут изменяться и должны отображаться в различных сервисах. Мы принимаем заказ на Кассе Ресторана это сервис , он сохраняется в базе в статусе «Принят».
После этого он должен попасть на трекер, где ещё несколько раз изменит свой статус: от «Кухня» до «Упакован». При этом с заказом могут происходить какие-то внешние воздействия от Кассы или интерфейса Менеджера смены. Приведу в таблице статусы заказа с их описанием: Схема изменения статусов заказа выглядит так: Статусы меняются между разными системами.
И здесь трекер не является конечной системой, в которой замыкаются данные. Мы видели несколько возможных подходов для разделения в таком случае: Концентрируем все действия заказа в одном сервисе. В нашем случае этот вариант требует слишком большого сервиса по работе с заказом.
Если бы мы остановились на нём, то получился бы второй монолит. Проблемы бы мы не решили. Одна система делает вызов в другую.
Второй вариант уже интереснее. Но при нём возможны цепочки вызовов каскадные сбои , связность компонентов выше, управлять этим сложнее. Организуем события, и каждый сервис обменивается с другим через эти события.
В итоге был выбран именно третий вариант, по которому все сервисы начинают обмениваться событиями друг с другом. То, что мы выбрали третий вариант значило, что для трекера будет своя база, а на каждое изменение заказа он будет посылать событие об этом, на которое подписываются другие сервисы и которое в том числе попадает в мастер-базу. Для этого нам нужен был некоторый сервис, который обеспечит доставку сообщений между сервисами.
К тому времени у нас в стеке уже был RabbitMQ, отсюда и итоговое решение использовать его как брокер сообщений. На схеме показан переход заказа от Кассы Ресторана через Трекер, где он меняет свои статусы и отображение его на интерфейсе Заказы менеджера.
Пиццерия, работающая на доставку, обойдется покупателю франшизу от 6 млн рублей, пиццерия со своим залом - 8 - 15 млн. В эту сумму войдут аренда, ремонт соответствующий дизай-проекту, закупка оборудования и найм персонала, затраты на рекламу и закупка продуктов для первого месяца работы. Гарантии франчайзера Сердце пиццерии - облачная система управления «Додо ИС».
Для работы с системой понадобится планшет и беспроводной интернет. На одну пиццерию фрайчанзи устанавливает в среднем 5 - 9 планшетов.
Не только тесто и начинка: как автоматизация сделала «Додо Пиццу» успешной
О том, как разработчики пилят IT в Dodo | Основа франшизы «Додо Пиццы» — облачная ERP-система «Додо ИС» (Dodo IS), которая организует рабочие процессы пиццерии, включая обработку заказов, работу кухни, доставку, управление штатом и маркетинг[24]. |
Виртуальный ЦОД в Додо Пицца | Таким образом информационная система реально влияет на увеличение эффективности и прибыльности «Додо Пиццы», так как стоимость труда являются одной из главнейших статей расхода для нашего бизнеса. Мы называем это «dodo-эффект». |
Додо ис смены
Ищете информацию о базе знаний Додо? Мы предлагаем вам различные полезные советы и рекомендации, которые помогут вам максимально эффективно использовать эту базу знаний. Улучшите свой опыт работы с Додо и получите максимум пользы и результативности! Сеть пиццерий «Додо пицца» застраховала от киберрисков свои информационные системы и ресурсы, в том числе, программное обеспечение, корпоративную электронную почту, Web-сайт, «облачный» сервис и базы данных. Dodo News Hub. Dodo News Hub. Redeem your points for a range of products and services, available on dodo store. Владелец сайта предпочёл скрыть описание страницы.