Обезличенные примеры работ

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

Платформа

Большой контур стал непредсказуемым

Проблема: разные версии компонентов, ручные исключения, окна изменений, Spark, Hive, Kafka и security-зависимости создавали операционный риск

Как решали: выносили критичные операции в Ansible и GitLab CI, добавляли проверки до и после изменений, заранее разбирали риски и фиксировали порядок отката

  • рабочие, тестовые и dev-ландшафты;
  • суммарно более 1100 серверов и 45+ PB данных;
  • vanilla и vendor-дистрибутивы.
Kerberos и Ranger

Кластер из 280 узлов переводили в защищенный режим

Задача: рабочий контур требовал нормального разграничения доступа, аудита действий и понятной модели эксплуатации

Как решали: подготовили диагностику, план работ, тестовый контур, порядок внедрения, документацию и проверки результата

  • управляемая модель доступа;
  • аудит действий пользователей и сервисов;
  • интеграция с каталогом пользователей;
  • эксплуатационная схема для команды.
Защита Kafka и Hadoop

Ranger ещё не готов, а доступы уже нужно контролировать

Проблема: заказчику нужно было обеспечить безопасность новой версии Kafka и Hadoop-кластеров, но Apache Ranger в нужном контуре еще не был готов к использованию

Как решали: предложили и внедрили собственное инженерное решение: роли, каталог пользователей, централизованное управление доступом, проверяемые изменения и аудит операций

  • без раскрытия названия системы и внутренней реализации;
  • роли, пользователи, группы и сервисные сценарии;
  • интеграция с каталогом пользователей;
  • рабочая модель доступа без ожидания готовности Ranger.
Политики доступа

Правки в Ranger стали операционным риском

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

Как решали: вынесли жизненный цикл политик в GitLab CI: хранение в Git, проверка, импорт/экспорт, согласование изменений и понятная история правок

  • изменения проходят через merge request;
  • проверка схемы до применения;
  • контролируемый импорт через Ranger API;
  • меньше ручных действий и операционного риска.
Hive

Опасное свойство таблицы могло привести к потере данных

Проблема: в рабочем контуре нужно было запретить сценарии, где создание или изменение таблицы с опасными свойствами могло привести к удалению данных при дальнейших операциях

Как решали: реализовали Hive hook, который проверяет запрос и свойства создаваемых таблиц, блокирует небезопасный вариант и возвращает пользователю понятную ошибку

  • контроль внутри критичного пути Hive;
  • проверка текста запроса и metadata;
  • понятное сообщение для пользователя;
  • без публикации кода и внутренних ссылок.
Инциденты

Восстановление зависело от ручной диагностики

Проблема: восстановление зависело от длинных логов, ручного разбора и опыта конкретного инженера

Как решали: подготовили порядок действий, автоматизированные проверки, короткий вывод причин отказа и понятные действия для дежурной смены

  • поиск неисправностей в HDFS, YARN, Spark, Hive и Kafka;
  • проверки до и после опасных изменений;
  • понятный вывод причин отказа вместо длинных логов;
  • быстрее локализация и меньше человеческих ошибок.

Типовые сценарии работ

Не “победы ради маркетинга”, а инженерные задачи, которые регулярно встречаются в реальной эксплуатации

Kerberos и Ranger для крупного кластера

Задача - перевести контур к управляемой модели доступа без разрушения рабочих сценариев

Результат - порядок внедрения, проверки, аудит действий и эксплуатационная схема

Ролевая модель для Kafka и Hadoop

Проблема - нужна безопасность, а готовый внешний компонент в нужном контуре использовать нельзя

Результат - рабочая модель ролей, групп, сервисных сценариев и аудита

Политики Ranger через GitLab CI

Проблема - изменения в интерфейсе плохо контролировались и зависели от ручных действий

Результат - проверка, согласование, история изменений и контролируемое применение

Разбор причины сбоя или деградации

Проблема - симптомы похожи, а команда спорит, где причина: платформа, безопасность, сеть, Spark, YARN или Kafka

Результат - причина или проверяемые гипотезы, риски, план исправлений и проверки результата