Продуктовая платформа исполнителей в Яндекс Go

Архитектуры и масштабируемость

Проектирование архитектуры

Доклад принят в программу конференции

Мнение Программного комитета о докладе

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

Целевая аудитория

Бэкенд-разработчики и техлиды, которые занимаются продуктовой разработкой и разработкой супераппов.

Тезисы

Яндекс Pro — это суперапп для исполнителей, выполняющих заказы клиентов разных online-to-offline-сервисов Яндекса: Такси, Самокатов, Доставки, Еды, Лавки, Маркета. Но так было не всегда, раньше Яндекс Pro был только водительским приложением Такси. Я расскажу о том, какие архитектурные принципы позволили пройти этот путь, тем самым это поможет командам разработки множества бизнесов развивать общее высоконагруженное приложение, сохраняя и его стабильность и скорость разработки.

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

Эти проблемы нам удалось решить, выделив продуктовую платформу — слой между инфраструктурой и продуктом, представляющий собой скелет приложения и набор готовых компонентов, из которых разные бизнесы могут собирать сценарии для своих профессий, не влияя при этом друг на друга. Я расскажу, какие архитектурные принципы позволили построить такую продуктовую платформу, а также про паттерны распределённых систем, позволяющих эти принципы воплощать в жизнь.

Руководитель группы бэкенд-разработки продуктовой платформы исполнителей Яндекс Go.

Яндекс Go

Яндекс Про — платформа для выполнения заказов с их сервисами. И водители, и курьеры, и сборщики заказов работают с приложением Яндекс Про. Как в России, так и за её пределами. Это полноценный рабочий инструмент, «кабинет» исполнителя, в котором он проводит свой рабочий день. И не просто выполняет заказы, а ещё отслеживает свой заработок, проходит проверки качества, может подготовиться к выполнению заказов в тарифе повыше и многое другое. А это значит, что важно всё. UI должен быть удобным и предельно понятным — как удобное рабочее место для водителя. Важна и энергоэффективность — ведь, например, курьеры не могут всегда держать телефон на зарядке. Приложение должно быть максимально стабильным, ведь проблемы с ним или с самим сервисом могут влиять на непосредственный заработок исполнителей.

Видео

Другие доклады секции

Архитектуры и масштабируемость