Оперативное управление предприятием: финансами, отгрузками, производством, основано на анализе различных массивов данных, полученных из различных источников, десятков разнородных информационных систем. Планирование, управленческие решения, реагирование на прецеденты, проактивное принятие мер, всегда подразумевает владение информацией о ситуации; и чем полнее данные, тем более точное представление о проблеме и её решении. В наш век информатизации и глобализации зачастую руководители различных уровней желают располагать оперативной информацией со своего смартфона. На небольшом экране необходимо уместить наиболее важные данные в краткой информативной форме, желательно визуально совместимой с тем, что привычно видеть на большом экране монитора основного рабочего места, планшета, бумажного отчета.
Подобные системы business intelligence (BI) представлены многими разработчиками, включая облачные сервисы. Обширность возможностей и система подготовки данных требуют тщательной проработки высоко образованными специалистами, методологами, поэтому по своему построению системы BI дороги в разработке. Законченные продукты по цене внедрения и реализации могут достигать сотен тысяч евро. И, как правило, проекты продолжают развиваться. Системы обладают динамическими страницами, фильтрами по выбранным аспектам, подстраиваются под запросы пользователей, дополняются новыми массивами данных. Немаловажными аспектом современности является информационная безопасность. Экономический шпионаж, действия злоумышленников, должны быть пресечены минимальными достаточными средствами.
Рис. 1. Информационная панель
Данные представляются пользователям в конечном виде как страничка в интернете с графиками, ключевыми индикаторами, таблицами, на «Панель основных и ключевых показателей». Панель содержит как действительные текущие актуальные данные, так и агрегированные расчетные, прогнозные показатели. Данные из систем реального времени, систем в режиме производства отображаются в цветовой кодировке по статусу важности. Некоторые срочные события должны быть транслированы на индивидуальные средства связи, мессенджеры в мобильные телефоны пользователей.
Некоторые панели данных открыты, некоторые данные защищены аутентификацией. Сами системы должны быть легкими в сопровождении, открытом коде, низкой по себестоимости содержания и восстановления, резервирования и разделены по контуру от несанкционированного доступа и взлома. Данные на предприятии обрабатываются в двух контурах: локальный (без доступа в интернет) и внешний/офисный (с доступом в интернет и прочие сегменты предприятия). В целях соблюдения политик безопасности у приложения-экспортера данных из внутреннего периметра (рис. 2) организуется доступ на передачу пакетов данных в приложение-посредник, почтовый менеджер сообщений RabbitMQ. Результаты передачи отображаются в журнале, который тоже отправляется мелкими посылками в стек ELK во внешнем контуре. Обработчики очередей в RabbitMQ написанные на Python, запущены как микросервисы на Docker [1]. Образы этих микросервисов выложены в публичное хранилище и в любой момент могут быть восстановлены на аппаратной платформе на площадке предприятия. Копии сценариев находятся в локальном FTP-хранилище резервных копий и на холодных резервных носителях.
Рис. 2. Информационные периметры
Поскольку первоначальные представления о функциях системы обычно далеки от конечного результата, для анализа потребностей рассматривается стэк бесплатных технологий на открытом исходном коде в свободном доступе на виртуальных платформах. Основа данных – экземпляр MS SQL для агрегирования промежуточных корпоративных данных из различных ERP-систем предприятия, группы компаний в сегменте Back-office, которые потом транслируются в систему внешнего контура. Стек систем по функционалу и сегментации:
- Superset [2] от Apache для визуализации агрегированных и общих данных, самый внешний контур в облаке или DMZ. Бесплатная система, может быть поднята на Docker-container.
- Elastic-Logstash-Kibana [3] (ELK) хранение журналов передачи данных и работы систем. Относится к сегменту Back-office, бесплатная и может быть организована на Docker-container. Как альтернативный вариант Grafana.
- Zabbix [5], наблюдение за критической инфраструктурой, бесплатная, распространяемая в виде образа виртуальной машины. Сегмент Back-office.
- Python-микросервисы интерфейсов обработки и передачи данных. Бесплатные образы Docker для исполнения микросценариев-служб. Сегмент Back-office для взаимодействия с внутренним контуром корпоративной сети.
- RabbitMQ [4] для коммутации данных между подсистемами на разных платформах. Бесплатные образы Docker для исполнения микросценариев-служб. Сегмент Back-office для взаимодействия с внутренним контуром корпоративной сети, а также для передачи данных во внешние системы, в облако, в том числе.
- Telegram-bot для оповещения пользователей оперативной информацией. Бесплатные средства программирования бота.
- Техническая информация по описанию системы вносится в локальный экземпляр закрытой частной WikiPedia предприятия и систему электронного документооборота.
Главная задача – проактивность. На основе доступа к оперативным данным достигается видение объективной картины, слабых звеньев, критических участков. Элементы в систему могут добавляться оперативно, от модуля к модулю, разграничивая полномочия, доступы и дополняя новыми элементами данных. Реализация на подготовленные виртуальные машины – Docker-экземплярах/контейнерах всего технологического стека, резервируемых в облаке и с выделенным доступом к локальным папкам для хранения данных, сценариев-роботов, обеспечивает нулевую затратную стоимость на организацию, лицензирование и сопровождение системы, сокращая стоимость на эксплуатацию. Скорость восстановления и легкость изменения обеспечивается гибкостью платформы наложения слоев на исходный образ.