Хабрахабр

Go Gett Juno Meetup – 12 сентября, Минск

Всем привет, меня зовут Антон Тупиков, я – тимлид команды B2B Development в Gett.

Это высоконагруженная система: десятки тысяч водителей и миллионы клиентов в 120 городах по всему миру пользуются сервисами Gett каждый день. Gett – не просто сервис такси, а динамический маркетплейс.

Это были эксперименты с доставкой, маршрутками и корпоративными продажами. Развиваясь изначально как B2C приложение, Gett в последние 6 лет запускал несколько «стартапов внутри стартапа”. Например, B2B решение успешно работает для более чем 15 000 крупных корпораций, среди которых такие бренды как Google, Visa, Gucci, LVMH, Nestle и др. Многие из них позже вылились в успешные направления бизнеса.

Мы рассчитываем, что продукт нового поколения поможет нашему IPO стать успешным, и именно поэтому было принято решение объединить усилия лучших инженеров Gett и Juno для достижении этой цели. Ближайшая важная задача, которая стоит перед Gett – это выход на IPO в следующем году. Речь идет о разработке инновационных продуктовых решений с нуля c использованием самого современного технологического стека.

Хочу пригласить всех желающих на митап в Минске, который пройдет 12 сентября при поддержке GoWay-комьюнити, где мои коллеги разработчики расскажут о технических челенджах, с которыми они сталкиваются ежедневно и немного о том, с чем нам предстоит столкнуться в перспективе работы над новыми решениями.

image

На митапе спикеры расскажут о том, какие технические челенджи решаются в Gett при помощи языка Go.
Спикеры:

  • Саша Грунин, Gett, Senior backend engineer at B2B Development team – История разработки на Go в Gett 2018-2019.

    Переход на Go – не одномоментный процесс: вместе с эволюцией технологий эволюционировали и процессы вокруг.
    В этом докладе Саша расскажет про то, как в компании развивалась разработка на Go и как устроены процессы и технологии разработки сейчас.
    Gett — классическая история, когда после нескольких лет разработки монолита, оказалось более целесообразно разделить монолит на сервисы, чем рефакторить его.

  • Sagi Kritchbets, Gett, Senior backend engineer at Pricing Team – State of the art engineering (доклад на английском языке)

    During each order there is a need to retrieve configuration data based on GPS locations. In Gett much of the functionality is location based. It is required that the service will respond quickly and will be scalable. Geo services are handling large number of requests and are on critical path of the business flow. Sagi are going to talk about new area service and its in memory distributed geographic cache implementation based on hex grid and redis pubsub. Legacy area service in Gett was fully based on PostGIS, which lead to bottleneck on DB. Sagi will go through basic geometry algorithms used in the solution and challenges we had to overcome.

  • Ron Ludmer, Gett, Senior Backend Developer at Matching & Ride Exchange Team – Redis-based Semaphore (доклад на английcком языке)

    One common problem is having our shared resources being accessed from multiple instances simultaneously, causing data inconsistency. As the popularity of microservices architecture style increases, the risks that rise from working with a distributed system are getting more focus. Arguably, the simplest way is using locking mechanism. What is the best way to ensure correctness with minimal damage to efficiency? Ron are going to talk about different approaches to distributed locking, and the ways they tackled this issue at Gett, leading up to our current solution: Redis-based distributed lock implemented in Golang.

Для участия необходима регистрация. Кроме полезных докладов от крутых спикеров вас ждет море нетворкинга и, конечно, афтепати!

А теперь немного про то, почему же именно сейчас мы решили объединить свои силы с Juno.

При учете того, что с самого начала Gett B2B сегмент был операционно прибылен (и при условии стратегии на общую прибыльность), это подтолкнуло Gett к перестроению своего ценностного предложения вокруг корпоративных клиентов и их потребностей.

Juno — это райд-шеринг сервис, основанный в 2015 году. В апреле 2017 года Gett купил Juno, стартап, оперирующий в Нью-Йорке с центром разработки в Минске. В сентябре 2017 года количество успешных поездок превысило 1 миллион. С самого старта Juno громко заявил о себе: сервис был запущен в Нью Йорке в мае 2016 года, а уже в сентябре 2016 года количество поездок превысило полмиллиона в месяц. На сегодняшний день Juno занимает одну из лидирующих позиций на рынке онлайн такси перевозок в Нью-Йорке.

Сейчас у Gett в приоритете технологическое обновление B2B-решения, для этих целей было принято решение объединить усилия минского офиса Juno и московской и израильских команд Gett RnD.

Платформа B2B закрывает все вопросы корпораций, связанные с поездкой: от заказа машины и ее мониторинга, до контроля расходов финансовой службой и формирования отчётов.

Команда Juno совместно с Gett будет работать над несколькими направлениями сервиса:

В каждой компании существуют свои политики поездок, и задача Gett B2B – максимально подстроиться под специфику каждого клиента: кастомизировать личный кабинет, учесть все правила и политики. Подключение сотрудников
Часто в корпорациях сотрудники не могут самостоятельно пользоваться сервисом такси и доставки: иногда заявка на поездку размещается через отдельного сотрудника/сервис.

Прозрачность касается не только детализации счета каждой поездки, но и возможности агрегации в одном месте всех расходов, которые корпорация несет в каждом городе или стране. Контроль расходов
Одна из наиболее осязаемых для клиента проблем, которую решает Gett B2B — это прозрачность затрат корпораций на транспорт. В дальнейшем эти отчёты используются, например, для возврата НДС.

Им не нужно больше собирать чеки, узнавать детали поездок, делать запросы по затратам в разные подразделения, вносить информацию по каждому сотруднику вручную и перепроверять несколько раз. Gett B2B решает эти проблемы, автоматизируя ручную работу администраторов и финансовой службы. Клиенты имеют возможность синхронизировать данные по SFTP или создавать поездки по API.

Кроме того, Juno и Gett будут совместно работать в направлениях Billing, Consumer Services и Vendor Connection.

Выбор технологий B2B Solution направлен на эффективное решение задач стоящих перед современным диджитал-продуктом:

  • подстраиваться под плавающую нагрузку характерную для ride-hailing рынка и эффективно масштабироваться помогают AWS & Kubernetes
  • иметь возможность ежедневно радовать клиентов новым функционалом получается за счет Continuous delivery процессов, завязанных на Jenkins
  • в точках наибольшей нагрузки системы эффективно и гибко использовать ресурсы, быть в ногу со временем удается с Go и Redis
  • быстро реагировать и воплощать продуктовые изменения, предоставляя отличный пользовательский опыт, возможно благодаря React/Redux & Ruby
  • быть частью микросервисной архитектуры, сохраняя консистентность данных, удается благодаря CloudAMQP
  • следить за работоспособностью продукта и быть уверенным в высоком качестве и возможно с помощью экосистемы мониторинга и поиска аномалий, включающей PagerDuty, Airbrake, New Relic, Datadog и процессами Сontinuous integration со встроенными unit, component, integration тестами на Java/testNG/Selenium

И до встречи на митапе! Если у вас есть вопросы – с удовольствием отвечу на них в комментариях к этому посту.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть