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

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 человек только на обслуживание скриптовой работы и дискаверинг ―  подойдет и стандартный софт на скриптах. Если таких ресурсов нет, лучше выбрать софт со встроенным конвейером обработки данных.
  • Требования ИБ. Если вы запускаете вручную скрипты или пользуетесь продуктами без нормализации, то в зависимости от строгости ИБ и частоты изменений требований, могут быть проблемы с соблюдениями требований от ИБ. Например, если вводят новые правила для шифрования паролей и логов ― необходимо переписать скрипты.  Готовые пакетные продукты же  обычно соответствуют основным подобным требованиям.

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

Рекомендуем

Будущее многоликого ИИ

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

Читать

Иван Сычёв

Этика и безопасность искусственного интеллекта

Разработчиков искусственного интеллекта (ИИ) призвали приостановить обучение мощных систем, базирующихся на машинном обучении. Эксперты из крупных компаний считают, что необходим перерыв в исследованиях, чтобы избежать рисков. Кто-то считает, что огромные объёмы созданной ИИ информации не позволят людям отличать правду от лжи. Выработка принципов и стандартов, которые помогут обеспечить безопасность и этичность использования ИИ, чрезвычайно важна для дальнейшего развития этих технологий. В статье рассмотрим некоторые этические аспекты ИИ.

Читать

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

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

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

Читать