REX
Язык буткемпа: C++
Мы разрабатываем REX — систему быстрой доставки данных и ресурсов (конфигурационных файлов, ML-моделей, шардов поисковой базы, сертификатов, секретов) сервисам Яндекса.
Для чего нужна система REX?
Когда поисковый робот обнаруживает в интернете новые страницы, то формирует изменения в поисковой базе и публикует данные во внешнем для REX хранилище.
Микросервисы REX сообщают ядру REX об изменениях, а ядро доставляет изменения поисковым серверам, чтобы новые страницы могли отображаться в результатах поисковых запросов пользователей.
Система REX должна стать основным механизмом для быстрой и надёжной доставки данных в Яндексе: выдерживать большие нагрузки, предоставлять интуитивный и гибкий API и контролировать процесс доставки данных. Мы только начинаем разрабатывать REX: если присоединиться прямо сейчас, можно оказаться у истоков большой системы, участвовать в разработке дизайна и решении фундаментальных вопросов.
От нашего сервиса зависит работоспособность зависит надежность, скорость и отказоустойчивость большинства сервисов Яндекса, с которыми работают наши пользователи.
Для нас важна, не только скорость работы сервиса, но и архитектура, которая не позволяет пользователю принять неверное решение.
Команда
Команда состоит из пяти+ разработчиков. У нас бэкенд-разработка, микросервисная архитектура и DevOps-подход. Спектр задач: от глубоких и сложных архитектурно-технических, вроде разработки эффективного кэш сервиса, до повышения эффективности имеющихся решений.
Пишем на C++, есть много Java и немного Python + Go.
Особенности
- У нас действительно много разноплановых задач:
- занимаемся системным программированием: изоляция процессов на базе cgroup, механизмы ядра для трекинга потребляемой оперативной памяти, неймспейсы — то, с чем мы имеем дело каждый день;
- пишем алгоритмически сложные подсистемы, в которых производительность критически важна;
- решаем высокоуровневые архитектурные задачи, чтобы сервис отвечал всё новым требованиям пользователей и держал всё возрастающую нагрузку;
- вырабатываем SLO/SLI отдельных подсистем и думаем о счастье пользователя.
- Возможность участвовать в принятии не только технических, но продуктовых решений.
- При желании — возможность расти в техлида либо наращивать экспертизу в выбранной области.
- Влияние на всю компанию: если у нас что-то сломалось, то сервисы Яндекса деградируют или перестают работать.
Что нужно принять во внимание
- Есть дежурства по рантайму и саппорту, как и у любого сервиса в Яндексе.
- Сервису уже 2 года. Legacy, конечно, встречается, но мы стараемся от него избавляться.