www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

AIOps: DevOps в эпоху AI / ML

Дата публикации Oct 3, 2019

AI / ML в смеси DevOps == AIOps

Зачем?

Во время работы в Innovaccer мы столкнулись с некоторыми недостатками в традиционном подходе DevOps; Инженеры Ops выполняли слишком много работы на своей платформе, поддерживая и управляя системой, и мы не могли ничего сделать, чтобы уменьшить боль, пока мы не внедрили AIOps.

Чтобы понять суть статьи, позвольте мне сначала объяснить значение DevOps и AI, а затем посмотреть, как AI может улучшить модель парадигмы DevOps.

Что такое DevOps?

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

Что такое ИИ?

В информатике искусственный интеллект (ИИ), иногда называемый машинным, представляет собой интеллект, демонстрируемый машинами, в отличие от естественного интеллекта, демонстрируемого людьми. В разговорной речи термин «искусственный интеллект» часто используется для описания машин (или компьютеров), которые имитируют «когнитивные» функции, которые люди связывают с человеческим разумом, такие как «обучение» и «решение проблем».

Общие требования к операционному инженеру:

  • Масштабируемость
  • Снижение цены
  • Соблюдение SLA
  • Оптимальное использование ресурсов

Инженер по эксплуатации должен был бы точно настроить параметры ресурсов инфраструктуры для достижения этих целей. AIOps применяет методы AI / ML к этим ограничениям,автоматическипридумать решение, которое отвечает этим критериям ипостоянно контролируетресурсы инфраструктуры, чтобы проверить, сможем ли мы соответствовать критериям или иным образом разработать новый план для достижения того же самого.

Какая?

Чтобы понять это, давайте рассмотрим один из вариантов использования, который мы решили в Innovaccer.

Инженеры / ученые, работающие с данными, могут перевести требование со временем на выполнение пакетных заданий Apache Spark в масштабе и в соответствии с указанными соглашениями об уровне обслуживания. Бизнес-требование заключалось в том, чтобы снизить стоимость, а также обеспечить оптимальное использование ресурсов (> 70% и <85% при выполнении производственных заданий). Существуют и другие сложные бизнес-правила, но я избегаю их, чтобы уменьшить сложность этой темы.

Как?

Фаза 1: инженер Dev и инженер Ops работают в отдельных командах.

Команда разработчиков пишет код и модульные тесты для обеспечения качества кода. Команда Ops создает инфраструктуру в соответствии с требованиями, развертывает код и затем выполняет задания в соответствии с требованиями. Ручной процесс / сценарии используются для создания инфраструктуры, развертывания JAR-файлов и конфигураций. Точечные экземпляры для узлов задач могут использоваться для AWS EMR в автоматическом масштабе. Мониторинг осуществляется командой для достижения желаемых результатов.

Плюсы:

  • Между инженером Dev и инженером Ops существует разделение интересов. Инженеры Dev могут сосредоточиться на особенностях продукта, а инженер Ops может сосредоточиться на эксплуатационных аспектах работ.

Минусы:

  • Слишком много работы инженера Ops заключается в поддержании системы и достижении SLA.
  • Существуют конфликты между инженером Dev и инженером Ops в отношении публикации новых заданий или обновлений старых заданий. Инженер Ops хочет добиться стабильности системы и не любит этих изменений, а инженер Dev хочет опубликовать новые функции для продукта.
  • Время выхода на рынок велико, поскольку обе команды преследуют разные цели.
  • Поскольку развертывание инфраструктуры представляет собой ручной процесс / процесс создания сценариев, для выполнения всех операций используется один и тот же компьютер инфраструктуры. Это приводит к ухудшению инфраструктуры, так как каждый член команды придерживается разного стиля соглашения и обладает различной степенью знаний о процессе инфраструктуры. Инфраструктура имеет тенденцию переходить в состояние, которое невозможно обслуживать, что приводит к сбою заданий, и команде необходимо усердно работать для достижения SLA и других требований.
  • Определение размеров машины все еще остается проблемой. Чтобы соответствовать желаемым соглашениям об уровне обслуживания и оптимальному использованию ресурсов, используется множество методов проб и ошибок. Некоторые магические числа используются для выполнения этих действий, например, добавьте X количества машин и Y памяти. Эти числа также меняются со временем в зависимости от размера данных, сложности вычислений и т. Д. Не было никакого научного процесса для достижения желаемого результата. Не все требования выполняются каждый раз, что приводит к недовольству клиентов и бизнеса.

Этап 2: DevOps реализован. Команды Dev и Ops тесно сотрудничают, чтобы включить CI-CD и IaC.

Инженеры Dev и Ops внедряют CI-CD. Инфраструктура создается с использованием инструментов IaC, таких как Terraform / AWS Cloud Formation. Инструменты управления конфигурацией, такие как Ansible / Chef / Puppet, используются для развертывания конфигурации и JAR-файлов. Задания выполняются с использованием инструмента управления рабочим процессом, такого как Airflow или Azkaban. Интеграционное тестирование всего процесса сделано.

Плюсы:

  • Время выхода на рынок значительно сокращается.
  • Конфликты между командой разработчиков и разработчиков разрешены, поскольку оба работают в тесном сотрудничестве для успеха продукта.

Минусы:

  • Отказоустойчивость по-прежнему боль. Кто-то должен контролировать эти системы и решать все проблемы. Соглашения об уровне обслуживания никогда не могут быть выполнены, если неисправность велика и время для ее устранения огромно.
  • В системе много слепых зон, которые обнаруживаются в процессе производства.
  • Определение размера машины все еще остается проблемой.общие требованияуказанные выше еще не рассмотрены.

Этап 3: SRE реализовано.

SRE внедрено, обсуждаются различные вопросы при его запуске в производство и намечается план по его снижению. Такие инструменты, как Chaos Toolkit / Gremlin, используются для введения в продукт инженерных экспериментов хаоса. Эти эксперименты дают нам представление о слепых точках системы. Проблемы решаются, и для их решения предлагается альтернативный или лучший способ.

Плюсы:

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

Минусы:

  • Несмотря на то, что мы внедрили SRE, нам необходимо рассмотреть новый маршрут в наших SLA и снижение затрат. Мы хотелилицо, принимающее решениякто мог бы понять эти изменения и посмотреть, может ли план помочь нам в достижении наших общих требований.
  • Определение размера машины все еще остается проблемой.общие требованияуказанные выше еще не рассмотрены. Мы хотелилицо, принимающее решениячто бы решить эти

Этап 4: AIOps реализован

Во время работы над этапом внедрения SRE были две основные болевые точки. В Innovaccer мы понимаем важность данных, и поэтому данные инфраструктуры, которые мы зарегистрировали в нашей реализации, были весьма полезны для построения нашего решения AI / ML.

Мы использовали платформу Python AWS SDK Boto3 для создания инфраструктуры, поскольку она предоставляет нам программный доступ для создания инфраструктуры.

Если вы видитеобщие требования,некоторые условия противоречат друг другу. С одной стороны, необходимо снизить стоимость облачных вычислений, а с другой - достичь соглашения об уровне обслуживания. время нужно сократить. Вы должны принять решение относительно машин инфраструктуры, которые зависят от текущей рыночной стоимости точечного экземпляра и доступности машины. Таким образом, это относится к оптимизации для многоцелевых задач, поэтому мы использовали генетический алгоритм для удовлетворения этих требований. Генетический алгоритм генерирует несколько решений и проверяет, могут ли эти решения соответствовать нашим жестким и мягким ограничениям. В этой проблеме SLA - жесткие ограничения, а стоимость - мягкое ограничение до предела.


Другие области, в которых AIOps могут быть применены.

  • Управляйте лавиной предупреждений.
  • Соотнесите данные из различных инструментов.
  • Определите проблему в многоуровневом стеке.

Мы нанимаем на должности SDE, SRE и ML Scientist / Исследователь. Присоединяйтесь к Innovaccer, чтобы стать частью команды платформы следующего поколения для здравоохранения.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map