Tasklets

Язык буткемпа: Go
Технологии: YDB

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

Тасклеты являются как бы базовым строительным элементом для CI/CD-flow в Яндексе.

Сервис делегирует непосредственное исполнение в один из нижележащих рантаймов: Sandbox/YP/и тут мы планируем расширить поддержку.

Стек

Go Основной язык программирования
YDB Основные фреймворки
GRPC Базы данных
**Sandbox / YP / YT** Рантайм, где исполняются Тасклеты

Команда

Наша команда распределённая: по одному человеку в Москве и Ереване + два в Белграде.

Особенности

  • У нас амбициозные цели — написать удобный рантайм для CI, который бы умел запускать как супер-быстрые код-сниппеты, так и сложные задачи, требующие кастомных настроек окружения.
  • Мы делаем молодой продукт с хорошим покрытием тестами, с малым количеством legacy, на современном технологическом стеке.

Что нужно принять во внимание

Есть SRE-дежурства: иногда требуется реагировать на уведомления, разбираться с первопричиной проблемы и устранять её либо тюнить сами уведомления. Мы сами отвечаем за стабильность сервиса и сами настраиваем алерты, которые считаем необходимыми, и пороги, которые нам кажутся разумными.

Вызовы

Наши ключевые задачи на ближайшее время:

  • разработать интеграцию с рантаймом, который будет обеспечивать быстрый (пара секунд) запуск простейших тасклетов, не требующих особой настройки;
  • поддержать изолированные сети для запуска тасклетов, чтобы улучшить безопасность;
  • разработать интеграцию с рантаймом, который позволит утилизировать железо лучше, чем это делает нынешний рантайм — Sandbox.