Observability - это подразделение SRE, направленное на поддержание работоспособности “глаз и ушей” компании - тех систем, которые отвечают за оповещение и мониторинг, а также отвечающих за сбор, хранение и анализ телеметрических и частично аналитических данных. Отметим, что в задачу Observability входит не просто “смотреть за системами", но и глубже анализировать и понимать их поведение, чтобы оперативно решать проблемы и предотвращать инциденты.
Также в наши задачи входит интеграция с командой Data Engineers, а в частности - сопровождение инфраструктуры работы с данными - как правило это помощь в развёртывании и сопровождении тех или иных компонентов инфраструктуры, а также их мониторинг.
Ещё одной категорией задач является помощь в сопровождении различных систем баз данных - как правило глубоких знаний на уровне DBA здесь не требуется, обычно на наши плечи возлагаются задачи management-категории: первичная настройка, выдача доступов, организация бекапов. Реже бывают случаи помощи разработчикам для решения тех или иных проблем эксплуатации.
Наши ключевые инструменты:
-
сбор метрик - VictoriaMetrics (vmalert + vmstorage + vmselect + vminsert etc);
-
сбор логов - Opensearch и Datadog Vector;
-
сбор телеметрии - OpenTelemetry, Jaeger;
-
мониторинг и оповещение - Alertmanager, OpsGenie;
-
визуализация - Grafana, Redash;
-
шина данных на базе Apache Kafka.
Всё это развёрнуто в облачной инфраструктуре на базе Kubernetes и управляется при помощи IaC-подхода на базе Terraform.
Помимо этого, мы также используем некоторый набор аналитических инструментов для работы с данными, например Trino, AWS Glue, Apache Spark, S3 и т.д.
Из языков программирования отдаём предпочтение Go, но иногда приходится использовать Python или иной язык в зависимости от задач.
Основные СУБД которые мы сопровождаем:
-
Clickhouse;
-
MongoDB;
-
AWS management database service RDS (как правило это Postgres\MySQL имплементации).
Аналогично нашим ключевым инструментам, все эти СУБД развёрнуты при помощи Terraform и располагаются в облачной инфраструктуре. Мы используем как management-решения от облачных провайдеров, так и self-hosted.
Что нужно будет делать:
-
обслуживать уже работающие сервисы - сюда входит обновление и поддержка на уровне “быть готовым написать pull-request в opensource, если это необходимо для работы”;
-
участвовать в расследовании и устранении причин сбоев в этих сервисах;
-
участвовать в разработке и оптимизации новых архитектурных решений.
Что мы ждем от тебя:
-
понимание Computer Science - обязательно нужно иметь хотя бы общее представление как именно устроены современные компьютеры и операционные системы, как происходит работа с памятью, процессами, как устроено сетевое взаимодействие и т.д. - это база;
-
мы везде используем OS Linux в той или иной имплементации, так что знание о том как работает эта OS изнутри, а также умение выявлять узкие места в производительности будет обязательным;
-
мы целиком и полностью живём в контейнерах и используем Kubernetes для оркестрации - так что знание этой технологии, особенности её работы и опыт её эксплуатации в продакшене - тоже обязательны;
-
инфраструктурный код мы доставляем при помощи Terraform - наличие опыта работы с Terraform будет очень весомым плюсом;
-
опыт разработки или написания скриптов на каком-либо языке крайне желателен. Будет большим плюсом знание Go;
-
опыт эксплуатации каких-либо средств мониторинга и сбора телеметрии (в идеале, опыт с тем, что перечислено выше, но не обязательно) - тоже очень желателен;
-
опыт эксплуатации современных no-sql СУБД (Mongo, Clickhouse, etc);
-
готовность быть on-call - обязательна.
Как мы работаем:
-
без бюрократии: удобные процессы здорового человека, горизонтальные и открытые коммуникации, быстрое обсуждение идей и принятие решений;
-
компенсируем: ДМС, психотерапию или иностранные языки, занятия спортом и больничный;
-
на райском острове: можно работать на Пхукете с видом на океан, платим в долларах, любим путешествовать.