Поддержка и развитие кода международного сервиса такси
В проекте для Gett наши разработчики усилили команду сервиса и поучаствовали в автоматизации работы с большими данными и разработке новых инструментов в legacy-архитектуре.
Gett — международная компания, которая предоставляет сервис для вызова такси и доставки. Основной продукт компании — облачный сервис, который связывает поставщиков и потребителей транспортных услуг. Большое направление бизнеса — корпоративные перевозки, Gett обслуживает четверть компаний из списка Fortune 500.
В 2021 году в компании прошёл внутренний аудит, по итогам которого принято решение об усилении команды. Gett обратилась в Evrone как эксперту в Ruby-разработке, который мог бы помочь собственной команде сервиса в обслуживании технического долга проекта.
Код-ревью
В Gett особое внимание уделяют выстраиванию процессов и их автоматизации. Например, есть система онбординга для внешних специалистов, которая помогает максимально быстро приступить к полноценной работе. Автоматизировать там стараются любые повторяющиеся задачи. Например, есть автоматическая система получения доступов к стендам для сторонних разработчиков и форма для сообщений об инцидентах.
Такой подход применяют и к коду. В спринтах каждой команды разработки всегда заложено время и ресурсы на обслуживание техдолга и код-ревью. Это необходимо, чтобы все элементы сервиса работали стабильно и не конфликтовали с новыми фичами.
Почти все Ruby-проекты в Gett — это легаси, для развития сервиса там выбирают Go. Мы подключились к поиску таких уязвимостей и багов и помогли в их отладке. Обычно это проблемы, которые решаются обновлением зависимостей. Однако, если их не отслеживать с самого начала, потом будет сложно понять, где и что именно сломалось. Например, так отследили баг с неправильным определением IP-адреса, который долго доставлял проблемы команде аналитиков, но технически просто решался.
Автоматизация Big Data
Крупный международный сервис — это всегда про Big Data. Миллиарды операций каждый день, миллионы клиентов, тысячи партнёров. При таких условиях незначительная ошибка может привести к большому количеству ручной работы для сотрудников поддержки. Мы приняли участие в автоматизации обработки данных с помощью внутреннего инструмента массовой обработки заказов и облегчения его интеграции в новые проекты.
Оптимизация издержек
США — один из перспективных рынков для Gett. В этой стране достаточно сложная налоговая система, ведь в каждом штате свои налоги, плюс они могут меняться от города к городу. При этом за неуплату предусмотрены серьёзные санкции.
С одной стороны, правильно рассчитывать суммы налогов помогает интеграция с сервисами налоговой системы. Например, есть сервис, который определяет налоговую зону по географическим координатам, но он платный. Учитывая, сколько операций проводит Gett ежедневно, это становится заметной статьёй расходов. Сейчас специалисты Evrone вместе с командой Gett работают над созданием инструмента, который бы мог оптимизировать издержки.
Защита данных клиентов
Как мы упомянули в начале, одно из важных направлений бизнеса — корпоративные перевозки. Поэтому для них существует отдельная система документооборота, через которую проходят заказы и расчёты между компаниями.
В таких документах обычно указываются множество реквизитов и данных обеих сторон, и утечка такой информации тоже может быть угрозой. Чтобы нивелировать риски, мы поучаствовали в разработке инструмента защиты корпоративной информации, который позволяет составлять документы с меньшим количеством данных: чеки, договоры, накладные и т.д. Это оберегает информацию от глаз большого количества сотрудников, которые работают с документами с обеих сторон. Ведь чем больше людей это увидят, тем выше риски разглашения конфиденциальных данных.
Результат
Изначально клиент обратился к нам с запросом на усиление команды, чтобы разобраться с управлением уязвимостями в коде проекта, обнаруженных в ходе аудита. Но затем наша экспертиза пригодилась и в разработке новых инструментов и возможностей. Мы тесно работаем с собственной командой Gett и надеемся, что сможем быть полезными сервису и в будущем.
Если вы также столкнулись с необходимостью усилить инхаус-команду, напишите нам. Мы поможем в поддержке легаси кода и автоматизации процесса поиска уязвимостей, подберём специалистов под ваш стек и предложим индивидуальные решения для конкретного проекта.