Применение R в задаче обновления кассового ПО

    На первый взгляд, это два непересекающихся мира. Но на практике, это не так.


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


    Является продолжением предыдущих публикаций.


    Еще раз немного про специфику задачи.


    1. Обновление ПО происходит на произвольной выборке касс. Есть просто список на обновление.
    2. Окно для обновления небольшое. Процесс обновления начинается в ночи и к ~6-7 утра по локальному времени все кассы должны быть уже в строю.
    3. Методика мониторинга более похожа на технологию Netflix в части виртуальных машин на ферме. Надо оперативно убедиться, что касса после обновления готова к продажам. Если что-то пошло не так, разбираться некогда. Необходимо оперативно откатываться на предыдущий рабочий релиз на этой кассе, а уже в оффлайне разработчики могут препарировать код.
    4. Заключение о качестве обновления делается по логам кассового ПО. Заключение строится не на отдельной метрике, а на совокупности состояний конечного автомата, реализуемого софтом касс. Запуск кассы — процесс, протяженный во времени, проходящий через массу различных статусов и состояний.
    5. Необходимо в режиме, близком к реальному, актуализировать статусы состояний касс и расставить приоритеты проблем не только с точки зрения отдельной кассы, но и с точки зрения всего магазина. Одна проблемная касса в гипермаркете менее проблемна, чем одна касса в магазине «у дома».

    Никакой классический zabbix мониторинг для таких целей не подходит. Поэтому решение построили на базе упоминаемого в статье Системы «Бизнес-Мониторинг» (БМС). Более детально с Системой можно ознакомиться в материалах «#5 Moscow R Meetup». Там в комментариях ссылки на презентации и видео.


    Всю аналитическую часть, а также АРМ собрали на базе R + Shiny, которые входят в блок «считалище» БМС. В результате ответственный за обновление получает на одном экране полную сводку о статусах, «раскрытие скобок» по запросу и подсказки к приоритезации действий.


    Речь идет не про «революционность» и «уникальность», а про то, что подобная задача элегантно и просто закрывается средствами R.


    Примеры скриншотов:


    Представление в разрезе магазинов


    Представление в разрезе терминалов


    Предыдущая публикация — «Воспроизводимые вычисления в R. Как разделить код и данные?».

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 4

      0

      А почему не пром?

        0

        ?

          0
            0
            1. БМС в продуктиве и закрыл вопросы сбора, хранения, процессинга и визуализации. Незачем плодить сущности без реального выхлопа.
            2. Интересуют не метрики и алармы (которых и нет), а совокупное состояние кассы и магазина, складываемое как пазл из фрагментов, разбросанных по шкале времени.
            3. Это не самодостаточный проект, а просто логическое расширение функционала БМС.

            Да у публикации и нет тегов '#мониторинг' или подобных, а значит и нет захода на область классических мониторингов.

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое