Продукты для сбора и инвентаризации данных делятся на два типа: софт, который собирает данные с помощью скриптов, и пакетные решения, которые собирают данные готовым программным кодом.
В статье разбираем плюсы и минусы каждого варианта, а также окунаемся в краткую историю появления скриптов для сбора данных и управлении ИТ-инфраструктурой. В конце вас ждет удобная таблица с плюсами и минусами софта на скриптах.
Две минуты базы про скрипты
Начнем с базовых определений.
Скрипт ― это набор команд, которые прописаны в коде, и которые выполняют определенные действия. А в контексте скриптов для сбора данных скрипт ― это код, который содержит команды для выполнения действий для сбора данных о технических характеристиках: конфигурационных единиц, атрибутов устройств, программ и значениях их атрибутов.
История скриптов и сбора данных
В хардкорные времена ИТ в распоряжении специалистов были только «голые» операционные системы без специализированных инструментов. Но ИТ-инфраструктура бизнеса разрасталась и усложнялась, так появилась необходимость управлять всем, что в нее входит.
Придумали набор утилит, чтобы администрировать операционные системы. Чтобы не прописывать вручную каждую команду и запускать по очереди, стали собирать в один файл сразу ряд команд. Это были BAT-файл в ранних версиях Windows (сейчас powershell) и bash в Linux, в которых содержалось описание, в какой последовательности должны осуществляться команды. Иными словами, появились командные оболочки операционных систем и скрипты для работы с ними.
Командные оболочки развивались, в ОС Shell добавляли все новые дополнительные команды. Можно провести аналогию с историей развития браузеров. Когда-то (не так уж и давно) тот же Google Chrome был просто сайтом с ограниченным количеством выполняемых функций. Теперь это уже не сайт, а приложение, в котором есть все.
Итак, ОС оснащены скриптами на всевозможные задачи, теперь их нужно привести в порядок и управлять. Так возник DevOps, который описал скриптами всю инфраструктуру от корневых сертификатов до бизнес-прикладных приложений. Хранить это священное знание стали в контроле версий, чтобы можно было откатить все назад. Однако при этом возросли трудозатраты на поддержание актуальности скриптов и обработку полученных данных.
Камнем преткновения стало то, что весь массив информации хранился в голове у сисадмина, и при увольнении преимущественно терялся либо физически, либо новый сотрудник не понимал, как все это интерпретировать и переписывал по-своему. Также поиск технической документации о ПО и написание скриптов отнимали много времени у ИТ-специалистов.
Все вместе это создавало лишний хаос, а задачи по управлению ИТ и сбору данных любят порядок.
Софт с программным кодом
Чтобы решить эту проблему бизнеса, на зарубежном рынке появились вендоры, которые предложили софт с готовым программным кодом. Например, PDQ и Total Network Inventory. Появилась задача собрать данные о версиях ОС ― это делает готовый программный код. Админ нажимает кнопку и нужные данные уже у него на экране.
Все просто, все работает и зачем придумывать что-то еще? Тут на сцену выходят нестандартные задачи, для которых нужны уже новые решения.
Продукты на скриптах
Софт с программным кодом справляется с базовыми данными и устройствами, но «шаг влево, шаг вправо» – и начинаются проблемы. Например, отвалился корневой сертификат, и сисадмину нужно его восстановить. Купленный пакетный софт не умеет собирать данные по этим сертификатам и этой информации здесь и сейчас просто нет.
Другой пример ― в инфраструктуре появляется нестандартное ПО, например, nanoCad. По нему надо собрать информацию для расчета закупок и устранять проблемы сотрудников при работе с ним. И в этом случае программный код софта не умеет доставать такие данные.
Тогда у бизнеса появляется два способа решить эту проблему: каждый раз докупать программы под возникающие задачи или выбрать один инструмент для сбора данных на скриптах, который может получить любые данные.
Так появилась необходимость в софте, который работает на скриптах. Как это устроено: в софте есть стандартные скрипты для сбора информации с устройств, а также есть возможность добавить свои скрипты или отредактировать их под необходимую задачу. Скрипты ― универсальный и при этом максимально кастомный инструмент, с помощью которого можно дотянуться до всех нужных данных.
Скрипты или программный код: плюсы и минусы
Итак, пакетные решения ― это продукты, которые собирают данные с помощью готового программного кода, написанного на определенном языке.
Софт на скриптах ― продукты, которые собирают данные скриптами, то есть кодом с заданной последовательностью действий и возможностью редактировать и добавлять свои скрипты, а также самостоятельно выбирать язык для написания.
Основными преимуществами пакетных решений является то, что они работают «по одной кнопке» и готовым заданным шаблонам. Не нужны высокие скиллы администраторов и больших трудозатрат на работу с таким ПО.
Также данные программы выдают собранные данные в уже стандартизированном виде. Например, свободное место на диске отображается в них в привычном удобном формате: гигабайтах, мегабайтах и т.д.
При этом у таких решений есть и свои недостатки. Главный ― они могут ровно собирать ровно столько, сколько заложено в программном коде: определенные параметры софта и устройств, определенные типы и виды самого ПО. Если нужно собрать данные с нового специфичного софта, придется докупать другие пакеты или ждать обновления от вендора.
Еще один минус ― пакеты работают на всем объеме имеющихся данных. Это означает, что нет возможности отфильтровать информацию, чтобы уменьшить объем данных, что приводит к потери скорости и сбоям в работе на большом количестве устройств.
Из-за этих факторов пакетные решения зачастую не подходят компаниям, у которых разветвленная и разнообразная инфраструктура со специализированным софтом, или в парке устройств больше 20 000 единиц.
Для больших объемов и нетривиальных задач по сбору данных подходит как раз софт на скриптах. Основное преимущество заключается в гибкости и прозрачности, то есть ИТ-специалист может самостоятельно написать скрипт и отредактировать имеющийся в продукте и получить детальную информацию даже с нетипичного ПО и устройств.
Еще одно преимущество ― работа на больших объемах без потери скорости и без сбоев. Для этого можно настроить фильтрацию данных и собирать только нужную на данный момент информацию.
Минусы у софта на скриптах также имеются. Для работы с таким ПО специалистам необходимы определенные скиллы ― в первую очередь, писать работающие скрипты. Также «базовый» софт на скриптах приводит к немалым трудозатратам, так как программа собирает данные со всей инфраструктуры и «отгружает» сисадмину, которому нужно нормализовать их «руками» и приводить к стандартизированному формату.
Софт на скриптах 2.0 ― конвейер обработки данных
Чтобы избежать высоких трудозатрат, необходимо автоматизировать нормализацию данных. Так на рынке появились продукты нового поколения, которые собирают данные скриптами, затем обрабатывают и поставляют их системным администраторам в нормализованном виде.
Один из таких продуктов ― «Инферит ИТМен», разработанный в России. Его ключевая особенность заключается в сборе данных с помощью сенсоров.
Сенсоры ― это мини-программы, состоящие из последовательности скриптов, которые не только собирают данные, но и автоматически идентифицируют и нормализуют, как единый конвейер.
Конвейер для обработки данных состоит из 3 этапов:
Сбор данных и детализация собранной информации.
Нормализация данных – устранение дублей конфигурационных единиц с применением искусственного интеллекта и Библиотеки ПО.
Обогащение данных − создание дополнительных данных на основе собранной информации с использованием редактора правил распознавания ПО и Библиотеки ПО.
С сенсорами и конвейером данных сисадминам не нужно тратить время на поиск в интернете технической документации ПО и написания скриптов.
Другие продукты такого же класса: Altiris и PDQ Inventory.
В общем, софт на скриптах и пакетные решения можно сравнить с самостоятельной разработкой сайта и сборкой в конструкторах. В первом случае у вас есть практически неограниченные возможности для верстки, адаптации для мобильных устройств или сложных интеграций с теми же CRM.
Во втором ― вы ограничены функционалом конструктора, зато можно сделать базовый сайт просто и быстро.
У каждого варианта есть свои преимущества и недостатки ― выбирать нужно исходя из типов задач, объема данных, количества устройств и ресурсов ИТ-команды.
Таблица с плюсами и минусами софта на скриптах:
Плюсы скриптов | Минусы скриптов |
Редактируемость и гибкость Можно дописать и изменить скрипт, чтобы, например, собирать данные с новой версии ОС Astra Linux или со специфичного софта. В случае с пакетным решением, если в нем нет функционала по сбору таких данных, то остается только ждать обновления или докупать новую программу. Гибкость также и в том, что можно выбрать язык для написания скрипта, исходя из задачи и стека ИТ-специалиста. | Скиллы сотрудников Для написания и редактирования скриптов нужны определенные скиллы. |
Масштабируемость С помощью фильтрации и заданных параметров можно уменьшить объем собираемых данных и не терять скорость и производительность. Например, исключить ненужные на данный момент атрибуты и характеристики устройств. | Высокие трудозатраты Трудозатраты необходимы на обработку полученных скриптами данных. Стандартные программы на скриптах имеют свой предел, после которого их использование становится трудозатратным. Это зависит от объема изменений в ИТ-инфраструктуре и динамике данного процесса. Проблема решается софтом со встроенным конвейером для обработки данных ― таким, как «Инферит ИТМен». Такой софт не только собирает данные, но нормализует с помощью ИИ и Библиотеки ПО, приводит к стандартному виду, а затем обогащает дополнительной информацией. Это полностью автоматизирует процесс по сбору данных и сводит ручной труд к минимуму. Если компания может позволить себе 5 человек только на обслуживание скриптовой работы и дискаверинг ― подойдет и стандартный софт на скриптах. Если таких ресурсов нет, лучше выбрать софт со встроенным конвейером обработки данных. |
Прозрачность Можно проверить код внутри скрипта и точно знать, что и как собирает программа. В пакетных же решениях вы получаете конечный результат и только потом видишь, что в списке нет установленного софта, информация о котором нужна для решения задачи. Приходится поднимать техническую документацию программы или писать в их техподдержку, чтобы собрать нужные данные. | Требования ИБ Если вы запускаете вручную скрипты или пользуетесь продуктами без нормализации, то в зависимости от строгости ИБ и частоты изменений требований, могут быть проблемы с соблюдениями требований от ИБ. Например, если вводят новые правила для шифрования паролей и логов ― необходимо переписать скрипты. Готовые пакетные продукты же обычно соответствуют основным подобным требованиям. |