Независимый аналитик Кристофер Тоцци приводит на портале ITPro Today пять категорий инструментов и практик, которые могут использовать операционные ИТ-команды, чтобы приблизиться к мечте о NoOps.
Трудно найти инженера, который бы не мечтал о том, чтобы концепция NoOps («отсутствие ручных операций») стала реальностью. Полностью автоматизировав работу службы ИТ-операций, NoOps обещает избавить инженеров от утомительной работы, которая не дает им заниматься более интересными задачами.
Но проблема, которую еще никто не решил, заключается в том, как на самом деле достичь NoOps. И хотя у нас нет полного ответа, мы подготовили руководство по NoOps, чтобы предложить действенные советы по приближению NoOps к реальности — даже если вы так и не доберетесь до полностью автоматизированных операций.
Мы разделим обсуждение на различные категории инструментов и практик, которые операционные ИТ-команды могут использовать, чтобы сделать NoOps — или что-то приближенное к ней — реальностью.
1. Инфраструктура как код (и «все как код»)
Одним из самых простых и наиболее важных инструментов для достижения NoOps является инфраструктура как код (infrastructure-as-code, IaC). IaC позволяет автоматизировать сложные, крупномасштабные операции по предоставлению ресурсов путем написания кода, определяющего, как должны быть сконфигурированы ресурсы. После этого инструменты IaC автоматически применяют конфигурации.
IaC существует уже много лет, но команды ITOps должны помнить, что современная IaC — это не только обеспечение инфраструктуры. Сегодня мы живем в эпоху «все как код» (everything-as-code), когда практически любой тип ИТ-ресурсов, процессов или услуг может быть автоматизирован с помощью кода — практика, которая приближает NoOps.
2. Генеративный ИИ
Технологии генеративного ИИ, такие как ChatGPT и Copilot, вызвали большой резонанс благодаря своей способности автоматизировать сложные задачи, такие как написание текста и кода, всегда требовавшие больших человеческих усилий.
На данный момент пока не так много обсуждений применения технологий генеративного ИИ в ИТ-операциях. Но если ИИ может писать код, он также потенциально может делать такие вещи, как разбор файлов журналов, поиск первопричины проблем с производительностью и автоматическое устранение проблем — все это задачи, которые операционным командам приходится выполнять вручную.
В этом смысле генеративный ИИ должен стать ключевым компонентом любого практического руководства по NoOps. Инструменты, разработанные для применения генеративного ИИ в NoOps, возможно, еще не существуют, но можно с уверенностью сказать, что они уже на подходе.
3. Централизация и агрегирование
Еще одним ключевым руководящим принципом внедрения NoOps является централизация и агрегация ИТ-ресурсов, насколько это возможно.
Под этим мы подразумеваем объединение разрозненных систем и ресурсов таким образом, чтобы ими можно было управлять централизованно. Физическая инфраструктура должна быть унифицирована с помощью программно-определяемых абстракций, которые позволяют, например, увеличивать или уменьшать масштаб, не трогая аппаратное обеспечение. Другой пример — рабочие нагрузки, размещенные в различных облаках в рамках мультиоблачной стратегии, должны быть интегрированы таким образом, чтобы можно было их контролировать и управлять ими с помощью централизованных инструментов.
Централизация требует усилий, поскольку автоматизированных средств интеграции сложных, отдельных систем не существует (по крайней мере, пока). Но как только централизация будет внедрена, операционную работу станет значительно проще автоматизировать, поскольку средства автоматизации смогут работать из централизованной точки обзора.
4. Инфраструктура на основе облачных вычислений и колокации
Одна из основных проблем достижения NoOps заключается в том, что управление оборудованием трудно автоматизировать. Поэтому, если вам приходится обслуживать собственную физическую инфраструктуру, вам будет сложно полностью автоматизировать операции.
Решением этой проблемы является избавление от локальной инфраструктуры — перемещение рабочих нагрузок либо в публичное облако, либо (если вы хотите иметь контроль над локальной инфраструктурой без ответственности за управление собственным дата-центром) в колокацию.
Когда вы избавляетесь от локального оборудования, вы делаете большой шаг навстречу NoOps.
5. Ручные операции
Практическое руководство по NoOps было бы неполным, если бы не признавало, что определенное количество ручной работы всегда будет необходимо. Даже если речь идет только о настройке средств автоматизации или устранении неполадок в автоматизированных процессах, люди всегда должны присутствовать в контуре NoOps.
Вот почему команды ITOps, стремящиеся к NoOps, должны определить процессы, которые они не могут автоматизировать с помощью инструментов, подобных описанным выше, а затем определить, как лучше управлять этими ручными процессами в рамках рабочих процессов, которые в остальном автоматизированы. Лучше заранее запланировать ручную работу, чем автоматизировать как можно больше и только потом выяснить, какие процессы не поддаются автоматизации.
О пользе стремления к NoOps
Описанные выше типы инструментов являются примерами решений, которые операционные команды могут использовать сегодня, чтобы приблизиться к мечте о NoOps, даже если они никогда полностью не избавятся от ручной работы.
И, возможно, это ключевой момент: полная NoOps может быть не прагматичной, но прагматичным является использование концепции NoOps в качестве вдохновения для максимального сокращения ручного труда. Перефразируя цитату Альбера Камю о Сизифе о том, «самого стремления к высоте достаточно, чтобы наполнить сердце человека», можно утверждать, что самого стремления к NoOps будет достаточно, чтобы принести практическую пользу современным ИТ-операциям.