Цели

Команда Data Platform занимается развитием направления Managed Services в облаке MWS.

Концепция Managed Services заключается в том, что у клиентов появляется возможность делегировать задачи по настройке, управлению и администрированию инфраструктурных сервисов (таких как база данных, очереди, кэши и т.д), и сконцентрировать свое внимание исключительно на продуктовых задачах.

Проще говоря: клиент сможет развернуть инфраструктурный сервис (с оптимально подобранными настройками конфигурации сервиса, гарантиями безопасности и высокой доступностью) - всего за несколько минут.

При реализации платформы перед командой стоит очень сложная задача, т.к. предоставляемый сервис должен быть:

  1. отказоустойчивым: клиент должен быть уверен в том, что его инфраструктура будет доступна всегда (ну или почти всегда :));
  2. надежным: никто не хочет проснуться утром и узнать, что из-за пожара в нашем дата-центре клиент потерял все свои данные, поэтому мы должны гарантировать сохранность данных;
  3. выдерживать высокую нагрузку: количество запросов к инфраструктуре (и особенно к базе данных), в любом продукте - самая нагруженная часть, а теперь представьте, что у нас таких пользователей десятки тысяч;
  4. высокопроизводительным: при построении архитектуры мы должны учитывать, что у нас будут десятки тысяч пользователей, если наши сервисы и агенты будут потреблять избыточные ресурсы, то сервис будет экономически нецелесообразен;
  5. легко расширяемый: мы планируем предоставлять больше 100 различных managed-решений, поэтому мы должны предусмотреть легкое добавление каждого следующего продукта (учитывая, что эти продукты имеют разную архитектуру).

В будущем, поверх Managed services будут предложены решения визуализации и анализа данных, объединяющие данные из разных источников.

Команда

Команда Data Platform является полностью распределенной: наши сотрудники могут работать из любой точки России, где есть интернет и источник электропитания (и кофе). Мы гибко подходим к вопросам работы из разных часовых поясов. Для любителей классической "оффлайновой" работы с коллегами – офисы есть в большинстве крупных городов РФ. Команда состоит из опытных инженеров, многие из которых, уже имеют опыт успешного решения широкого спектра задач в области создания облачной инфраструктуры.

Технологии

Наше решение мы разрабатываем на двух языках:

Kotlin - публичный и внутренний API и оркестрация для Control plane.

Golang - компоненты для Data Plane наших Managed services.

Стек технологий: используем Coroutines, Spring boot, R2DBC и много других Opensource решений, PostgreSQL в качестве хранилища, код и сборка: Git и GitLab CI, развертывание в k8s.

Планирование и распределение задач внутри команды происходит в свободной форме: мы не «жестим», фанатично следуя каким-либо методологиям, а стараемся быть гибкими. Команда сама подбирает удобные для своей работы инструменты.

Примеры задач