2022-08-27 15:30:50
Делать продукты, работающие в нескольких странах сложно. Делать продукты, работающие в десятках стран охренеть как сложно. Делать продукты, готовые масштабироваться на сотни стран – вообще жесть. Особенно если вы работаете с платежами, чеками и едой.
На днях выступал с небольшой презентацией на дне рождении Школы 21. Рассказывал про то как технические решения помогают Додо развивать бизнес. Вообще любое техническое решение, оно на самом деле не техническое, оно бизнесовое, потому что принимается исходя из того как мы развиваем бизнес. В разных странах, в разных концепциях.
Мы делаем платформу. Одно из главных качеств платформы – способность к масштабированию. Для #dodois, соответственно, тоже. Масштабирование не только технически чтобы мы могли запускать систему в разных странах и масштабировать ее горизонтально при нагрузке, но и с точки зрения бизнеса. К примеру, тот же трекинг и его гибкость в настройке дает возможность проще масштабироваться в другие регионы и бизнесы, когда нужна будет точечная настройка.
Но сегодня я хочу поговорить чуть о другом. Об одном очень важном техническом решении, которое мы приняли больше года назад. Решение техническое, но продиктовано оно именно нашим бизнесом и его нацеленностью на масштабирование.
Сегодня мы работаем в 16 странах. Во всех странах мы продаем еду, заказы можно оформить через приложение, на кассе в ресторане. Мы печатаем чеки, принимаем оплату. И вот эти отрасли очень жестко всегда регулируются государством. В каждой стране свои законы, в каждой стране они постоянно меняются. Ввели государственный кэшбек при оплате картой. Требуют подсвечивать аллергены в меню и чеке. Требуют налоговую информацию в чеке выводить в строго определенном формате. Обязательна интеграция с онлайн налоговой. Изменился формат передачи данных в налоговую. Ну, в общем, вы поняли. Поддержка системы в разных странах – одна из самых больших и сложных задач для нас.
А теперь представим что завтра у нас 20 стран. Послезавтра 30. Потом 50. Как все это поддерживать, продолжать масштабироваться и не умереть?
Все оч просто
Плагины как способ локализацииСобственно, само решение очень простое. Мы переводим всю локализацию на плагинную основу. Плагины нужны для того чтобы можно было независимо разрабатывать логику локализации, не влезая в кишки Dodo IS, вообще толком с ней не взаимодействуя.
Независимость в разработке дает возможность подключать любого аутсорсера, вплоть до того чтобы найти аутсорс или фриланс разработчика в конкретной стране для работы. Например, когда надо интегрироваться с местными чековыми принтерами, это идеальный вариант будет.
С нашей стороны не нужна никакая “команда внедрения”, не нужно ехать, мы даем документацию на английском, сами на связи и все. И главное, дальше все изменения законодательства можно будет так же поддерживать и обновлять независимо от основной системы.
Плагины вездеДальше плагинная система пошла в массы. Они стали частью решений по интеграции. В России мы не работаем с агрегаторами, но зарубежом сотрудничаем с ними. Появляется модуль для интеграции разных агрегаторов в разных странах.
Мы интегрируемся с нашим логистом, компанией Восток-Запад. И так же там используем плагинную схему, понимая что в другой стране интеграция будет похожа, тот же API с нашей стороны, но другой вендор. И так же эту интеграцию можно будет сделать как нам самим, так и независимо, просто через админку подключив ее в Dodo IS.
Эквайринги, принтеры для печати чеков, фискальники, интеграции, все эти части системы, которые требуют локализации, мы переводим на плагины. Архитектурное решение, продиктованное одним простым бизнес требованием – масштабироваться.
Мы еще переводим нашу систему на плагины. Но мы уже сейчас видим профит в упрощении поддержки, интеграций. Видим профит в том что наша команда будет больше заниматься кор вещами, а не локализацией. А локализацию мы будем все больше отдавать на аутсорс.
Напишем попозже в канал Dodo Engineering и на хабр статью с деталями о том как у нас устроены плагины.
673 viewsAlex Andronov, edited 12:30