Сравнение софта на скриптах и готовых пакетных решений для сбора данных

4/12/2023

Содержание:

Две минуты базы про скрипты

Начнем с базовых определений.

Скрипт ― это набор команд, которые прописаны в коде, и которые выполняют определенные действия. А в контексте скриптов для сбора данных скрипт  ― это код, который содержит команды для выполнения действий для сбора данных о технических характеристиках: конфигурационных единиц, атрибутов устройств, программ и значениях их атрибутов.

История скриптов и сбора данных

В хардкорные времена ИТ в распоряжении специалистов были только «голые» операционные системы без специализированных инструментов. Но ИТ-инфраструктура бизнеса разрасталась и усложнялась, так появилась необходимость управлять всем, что в нее входит.

Придумали набор утилит, чтобы администрировать операционные системы. Чтобы не прописывать вручную каждую команду и запускать по очереди, стали собирать в один файл сразу ряд команд. Это были BAT-файл в ранних версиях Windows (сейчас powershell) и bash в Linux, в которых содержалось описание, в какой последовательности должны осуществляться команды. Иными словами, появились командные оболочки операционных систем и скрипты для работы с ними.

Командные оболочки развивались, в ОС Shell добавляли все новые дополнительные команды. Можно провести аналогию с историей развития браузеров. Когда-то (не так уж и давно) тот же Google Chrome был просто сайтом с ограниченным количеством выполняемых функций. Теперь это уже не сайт, а приложение, в котором есть все.

Итак, ОС оснащены скриптами на всевозможные задачи, теперь их нужно привести в порядок и управлять. Так возник DevOps, который описал скриптами всю инфраструктуру от корневых сертификатов до бизнес-прикладных приложений. Хранить это священное знание стали в контроле версий, чтобы можно было откатить все назад. Однако при этом возросли трудозатраты на поддержание актуальности скриптов и обработку полученных данных.

Камнем преткновения стало то, что весь массив информации хранился в голове у сисадмина, и при увольнении преимущественно терялся либо физически, либо новый сотрудник не понимал, как все это интерпретировать и переписывал по-своему. Также поиск технической документации о ПО и написание скриптов отнимали много времени у ИТ-специалистов.

Все вместе это создавало лишний хаос, а задачи по управлению ИТ и сбору данных любят порядок.

Софт с программным кодом

Чтобы решить эту проблему бизнеса, на зарубежном рынке появились вендоры, которые предложили софт с готовым программным кодом. Например, PDQ и Total Network Inventory. Появилась задача собрать данные о версиях ОС ― это делает готовый программный код. Админ нажимает кнопку и нужные данные уже у него на экране.

Пример сетевой инвентаризации в Total Network Inventory
Пример сетевой инвентаризации в Total Network Inventory

Все просто, все работает и зачем придумывать что-то еще? Тут на сцену выходят нестандартные задачи, для которых нужны уже новые решения.

Продукты на скриптах

Софт с программным кодом справляется с базовыми данными и устройствами, но «шаг влево, шаг вправо» – и начинаются проблемы. Например, отвалился корневой сертификат, и сисадмину нужно его восстановить. Купленный пакетный софт не умеет собирать данные по этим сертификатам и этой информации здесь и сейчас просто нет.

Другой пример ― в инфраструктуре появляется нестандартное ПО, например, nanoCad. По нему надо собрать информацию для расчета закупок и устранять проблемы сотрудников при работе с ним. И в этом случае программный код софта не умеет доставать такие данные.

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

Так появилась необходимость в софте, который работает на скриптах. Как это устроено: в софте есть стандартные скрипты для сбора информации с устройств, а также есть возможность добавить свои скрипты или отредактировать их под необходимую задачу. Скрипты ― универсальный и при этом максимально кастомный инструмент, с помощью которого можно дотянуться до всех нужных данных.

Пример скриптов для сбора данных в «‎Инферит ИТМен»

Скрипты или программный код: плюсы и минусы

Итак, пакетные решения ― это продукты, которые собирают данные с помощью готового программного кода, написанного на определенном языке.

Софт на скриптах ― продукты, которые собирают данные скриптами, то есть кодом с заданной последовательностью действий и возможностью редактировать и добавлять свои скрипты, а также самостоятельно выбирать язык для написания.

Основными преимуществами пакетных решений является то, что они работают «по одной кнопке» и готовым заданным шаблонам. Не нужны высокие скиллы администраторов и больших трудозатрат на работу с таким ПО.

Также данные программы выдают собранные данные в уже стандартизированном виде. Например, свободное место на диске отображается в них в привычном удобном формате: гигабайтах, мегабайтах и т.д.

При этом у таких решений есть и свои недостатки. Главный ― они могут ровно собирать ровно столько, сколько заложено в программном коде: определенные параметры софта и устройств, определенные типы и виды самого ПО. Если нужно собрать данные с нового специфичного софта, придется докупать другие пакеты или ждать обновления от вендора.

Еще один минус ― пакеты работают на всем объеме имеющихся данных. Это означает, что нет возможности отфильтровать информацию, чтобы уменьшить объем данных, что приводит к потери скорости и сбоям в работе на большом количестве устройств.

Из-за этих факторов пакетные решения зачастую не подходят компаниям, у которых разветвленная и разнообразная инфраструктура со специализированным софтом, или в парке устройств больше 20 000 единиц.

Для больших объемов и нетривиальных задач по сбору данных подходит как раз софт на скриптах. Основное преимущество заключается в гибкости и прозрачности, то есть ИТ-специалист может самостоятельно написать скрипт и отредактировать имеющийся в продукте и получить детальную информацию даже с нетипичного ПО и устройств.

Еще одно преимущество ― работа на больших объемах без потери скорости и без сбоев. Для этого можно настроить фильтрацию данных и собирать только нужную на данный момент информацию.

Минусы у софта на скриптах также имеются. Для работы с таким ПО специалистам необходимы определенные скиллы  ― в первую очередь, писать работающие скрипты. Также «базовый» софт на скриптах приводит к немалым трудозатратам, так как программа собирает данные со всей инфраструктуры и «отгружает» сисадмину, которому нужно нормализовать их «руками» и приводить к стандартизированному формату.

Софт на скриптах 2.0 ― конвейер обработки данных

Чтобы избежать высоких трудозатрат, необходимо автоматизировать нормализацию данных. Так на рынке появились продукты нового поколения, которые собирают данные скриптами, затем обрабатывают и поставляют их системным администраторам в нормализованном виде.

Один из таких продуктов ― «‎Инферит ИТМен», разработанный в России. Его ключевая особенность заключается в сборе данных с помощью сенсоров.

Сенсоры ― это мини-программы, состоящие из последовательности скриптов, которые не только собирают данные, но и автоматически идентифицируют и нормализуют, как единый конвейер.

Конвейер для обработки данных состоит из 3 этапов:

  1. Сбор данных и детализация собранной информации.
  2. Нормализация данных – устранение дублей конфигурационных единиц с применением искусственного интеллекта и Библиотеки ПО.
  3. Обогащение данных − создание дополнительных данных на основе собранной информации с использованием редактора правил распознавания ПО и Библиотеки ПО.
Принцип работы конвейера для обработки данных 

С сенсорами и конвейером данных сисадминам не нужно тратить время на поиск в интернете технической документации ПО и написания скриптов.

Другие продукты такого же класса: Altiris и PDQ Inventory.

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

Во втором ― вы ограничены функционалом конструктора, зато можно сделать базовый сайт просто и быстро.

У каждого варианта есть свои преимущества и недостатки  ― выбирать нужно исходя из типов задач, объема данных, количества устройств и ресурсов ИТ-команды.

Таблица с плюсами и минусами софта на скриптах:

Плюсы скриптов

  • Редактируемость и гибкость. Можно дописать и изменить скрипт, чтобы, например, собирать данные с новой версии ОС Astra Linux или со специфичного софта. В случае с пакетным решением, если в нем нет функционала по сбору таких данных, то остается только ждать обновления или докупать новую программу. Гибкость также и в том, что можно выбрать язык для написания скрипта, исходя из задачи и стека ИТ-специалиста.
  • Масштабируемость. С помощью фильтрации и заданных параметров можно уменьшить объем собираемых данных и не терять скорость и производительность. Например, исключить ненужные на данный момент атрибуты и характеристики устройств.
  • Прозрачность. Можно проверить код внутри скрипта и точно знать, что и как собирает программа. В пакетных же решениях вы получаете конечный результат и только потом видишь, что в списке нет установленного софта, информация о котором нужна для решения задачи. Приходится поднимать техническую документацию программы или писать в их техподдержку, чтобы собрать нужные данные.

Минусы скриптов

  • Скиллы сотрудников. Для написания и редактирования скриптов нужны определенные скиллы. То есть ИТ-специалистам нужно обучиться работе в продукте, а также в принципе уметь писать скрипты.
  • Высокие трудозатраты. Трудозатраты необходимы на обработку полученных скриптами данных. Стандартные программы на скриптах имеют свой предел, после которого их использование становится трудозатратным. Это зависит от объема изменений в ИТ-инфраструктуре и динамике данного процесса. Проблема решается софтом со встроенным конвейером для обработки данных ― таким, как  «‎Инферит ИТМен». Такой софт не только собирает данные, но нормализует с помощью ИИ и Библиотеки ПО, приводит к стандартному виду, а затем обогащает дополнительной информацией. Это полностью автоматизирует процесс по сбору данных и сводит ручной труд к минимуму. Если компания может позволить себе 5 человек только на обслуживание скриптовой работы и дискаверинг ―  подойдет и стандартный софт на скриптах. Если таких ресурсов нет, лучше выбрать софт со встроенным конвейером обработки данных.
  • Требования ИБ. Если вы запускаете вручную скрипты или пользуетесь продуктами без нормализации, то в зависимости от строгости ИБ и частоты изменений требований, могут быть проблемы с соблюдениями требований от ИБ. Например, если вводят новые правила для шифрования паролей и логов ― необходимо переписать скрипты.  Готовые пакетные продукты же  обычно соответствуют основным подобным требованиям.

Оригинал статьи на Хабр

Рекомендуем

Инферит Облако

Погубят ли отраслевые облака привычные решения?

«В изданиях уровня Forbes хорошим тоном считается предрекать забвение привычных облачных платформ. Якобы на их место придут отраслевые решения, и вот тогда все заживут счастливо. Поделюсь мнением, почему это не так, как минимум в России», - Виталий Ранн, директор по продукту «Инферит Облако».

Читать

Инферит ИТМен

На пути к интеллектуализации: важные нюансы

Многие часто упоминают искусственный интеллект (AI) и машинное обучение (ML) как синонимы, однако важно понимать различия между ними, особенно в контексте предиктивной аналитики.

Читать

Инферит Безопасность

Роман Паршин: О тонкостях защиты государственных секретов

Защита госсекретов включает и защиту методов этой защиты. В интервью TAdviser Роман Паршин, гендиректор АКБ «Барьер», к.т.н. по специальности «Радиоэлектронная борьба», раскрывает подходы к противодействию иностранным разведкам. Узнайте, как работают профессионалы в сфере информационной безопасности на государственном уровне.

Читать