Использование ChatGPT для DevOps

1224
Использование ChatGPT для DevOps
Использование ChatGPT для DevOps
Это статья была написана о ChatGPT-3, который был самым последним на момент написания.

Я работал в области DevOps и Site Reliability примерно 5 лет к моменту ошеломляющего дебюта ChatGPT в мире, и это действительно революционировало мой рабочий процесс, но я расскажу об этом позже.

Как и многие из нас, я слышал слухи о том, что ChatGPT способен написать полноценное приложение с нуля, и думал: «это не может быть настолько хорошо», решил проверить это сам.

Сначала я начал просить его создавать небольшие скрипты на Python и Bash, чтобы попробовать OpenAI/ChatGPT на вкус.

Использование ChatGPT для DevOps
ChatGPT пишет автоматизированный Python-сценарий для выполнения проверки памяти на виртуальных машинах.

Результаты поразили меня! 🤯 ChatGPT не только сгенерировал код с идеальным синтаксисом, но и объяснил, как он работает!

В то время я занимался развертыванием Airflow на кластере EKS с использованием Helm и Terraform. Мне потребовалось около 3-5 дней, чтобы довести настройку до идеала и протестировать ее, поэтому я попросил ChatGPT написать конфигурацию для этого.

Хотя ChatGPT создал хорошую конфигурацию, она не совсем соответствовала моим ожиданиям. Я решил обратиться за помощью к его «родственнику» из OpenAI — Platform Playground.

Инструмент Platform Playground от OpenAI, генерирующий код Terraform для развертывания Apache Airflow через Helm.
Инструмент Platform Playground от OpenAI, генерирующий код Terraform для развертывания Apache Airflow через Helm.

Инструмент OpenAI Platform Playground стал настоящей находкой! Он создал конфигурацию, которая выглядит так, как будто имеет доступ в Интернет, в отличие от ChatGPT, и поэтому может предоставить более полную конфигурацию. Конфигурация, которую я получил с помощью Playground, была почти идентична той, которую я настроил вручную несколько дней назад, а то, что мне потребовалось несколько дней, этому ИИ понадобилось всего несколько секунд. С этого момента я начал интегрировать его в свой обычный рабочий процесс.

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

Задаю ChatGPT вопрос о проектировании технической инфраструктуры.
Задаю ChatGPT вопрос о проектировании технической инфраструктуры.

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

ChatGPT предоставляет подробную информацию о том, как устранить неполадки и разобраться с ошибкой.
ChatGPT предоставляет подробную информацию о том, как устранить неполадки и разобраться с ошибкой.

Хотя ChatGPT не предоставил много новой информации о том, как устранить ошибку, отличающейся от того, что я уже попробовал или нашел в Интернете, он всегда может напомнить вам проверить что-то, что могло быть упущено или забыто. Я уверен, что при других ошибках он может давать более подробные ответы и даже предоставлять конкретное решение для данной ошибки. Это открывает дверь для многих, особенно для более молодых инженеров, чтобы улучшать свои навыки поиска и устранения проблем через ChatGPT. Это также может изменить весь процесс поиска и устранения различных проблем не только в CI/CD и инфраструктуре, но даже при отладке кода.

Эти два инструмента в сочетании, ChatGPT и OpenAI Playground, действительно позволили мне улучшить и оптимизировать свой рабочий процесс. Они помогли мне разблокироваться на разных этапах за последние два месяца, когда я просто не мог найти то, что мне нужно в Google, или когда мне нужен был быстрый ответ на вопрос.

Советы и рекомендации для получения максимальной отдачи от использования ChatGPT для DevOps

  • Указание версий: если вы хотите, чтобы ChatGPT генерировал конфигурацию на основе Helm Chart (например), который может иметь несколько версий, я заметил, что он не всегда использует последнюю версию по умолчанию. Чтобы получить более точные результаты, может быть полезно включить версию конфигурации, которую вы хотите использовать, в запрос.
  • Доверяй, но проверяй: как говорится в цитате, вы можете доверять, что вывод, который дает вам ChatGPT, является хорошим и свободным от ошибок, но как и в любом коде, полученном онлайн, вы всегда должны прочитать его и убедиться, что вы его понимаете, прежде чем добавлять его в свой проект. Никогда не думайте, что код, сгенерированный ChatGPT, даже если он удивительный и отличный, готов к производству «из коробки».
  • Если ChatGPT не дает ответов, которые вам нужны, вы также можете попробовать использовать Playground от OpenAI. Важно отметить, что для этой линейки продуктов есть бесплатная пробная версия, но после ее окончания он становится платным.
  • Давайте рассмотрим примеры: может быть полезно предоставлять больше информации, когда вы задаете вопросы ChatGPT. Это можно сделать, например, дав ему пример. Вместо того, чтобы просто спросить у него, как написать регулярное выражение для поиска IP-адреса в строке, который может дать вам неопределенный ответ, вы можете сказать: «Напиши регулярное выражение для поиска IP-адреса в строке, например, в строке 1.1.1.1:0000 регулярное выражение должно совпадать с 1.1.1.1», и тогда он может дать более точный ответ на ваш запрос.
Давайте рассмотрим примеры
Давайте рассмотрим примеры

В конечном итоге, на текущей версии ChatGPT, я не считаю, что инженеры DevOps или SRE стоят перед риском быть заменены в ближайшее время. Однако ChatGPT предлагает множество способов и возможностей для инженеров увеличить свою продуктивность и помочь себе в разблокировке тех задач, которые ранее могли занять дни или требовали помощи нескольких людей.

Спасибо за чтение 🙂