Hardware as a Service — управление жизненным циклом серверов
Язык буткемпа: Go, Python
Технологии: MongoDB, YDB
У Яндекса большой серверный парк, распределённый по нескольким локациям, в которых живут несколько отдельных облаков. В каждом облаке мы строим сервис, который позволяет автоматически управлять серверами и доводить их утилизацию до максимума. Мы разрабатываем систему, которая предоставляет нашим пользователям железо-как-сервис (HWaaS).
Цели системы:
— автоматизировать процессы управления серверами;
— автоматизировать диагностику и устранение проблем с серверами;
— обеспечивать работоспособность серверной инфраструктуры Яндекса;
— создавать инструментарий для координации плановых работ над серверами.
Наша система управляет примерно 98% мощностей компании — это сотни тысяч серверов в нескольких географически распределенных дата-центрах. На этих серверах запущены миллионы контейнеров с приложениями Яндекса.
Стек
Python | Большая часть кода, но мы начали упираться в его производительность и всё новое пишем на Go. |
---|---|
MongoDB, YDB, k8s, tf | Инфраструктура |
Команда
Восемь бэкенд-разработчиков, фронтенд-разработчик и три SRE. Большая часть команды в Москве, но есть несколько ребят в других городах.
Особенности
- Разработка уникального продукта, аналог которого есть лишь у малого числа компаний в мире (даже не во всех компаниях из FAANG).
- Создание продуктов, которые являются интегральной частью облака и следование за всеми его инициативами.
- Получение экспертизы в разных областях, связанных с работоспособностью серверов.
Что нужно принять во внимание
- Дежурства: мы сами поочередно следим за работоспособностью собственного сервиса, а также отвечаем на вопросы коллег.
- Достаточное количество legacy-кода, от которого мы последовательно избавляемся, переписывая на актуальных принципах и технологиях.
Вызовы
- Научиться управлять серверами в колокейшнах и центрах обмена трафиком и виртуальными машинами в публичных облаках.
- Предоставить командам эксплуатации больше свободы в том, как устроен жизненный цикл их серверов.
- Выйти в open-source.