Поскольку бесчисленные приложения должны отслеживать реальные системы, разработчики сталкиваются с проблемой внедрения аналитики в реальном времени, которая может реагировать на поступающую телеметрию и быстро выявлять проблемы или возможности. В качестве примеров Digital Twins можно привести телематическое программное обеспечение, отслеживающее транспортные средства в автопарке, программное обеспечение безопасности, отслеживающее физические точки входа или конечные точки сети в кибер-инфраструктуре, системы отслеживания состояния здоровья, анализирующие телеметрию с носимых устройств, и многие другие. Перед всеми этими приложениями стоит задача одновременно обрабатывать сообщения из многочисленных источников данных, находить интересующие их закономерности и быстро действовать в случае необходимости.
Использование Digital Twins для аналитики в реальном времени
Модель Digital Twins развивалась в течение последних двадцати лет как убедительный объектно-ориентированный подход к моделированию состояния и поведения устройств, и она широко применяется для управления жизненным циклом продукции (PLM). Используя возможности вычислений в памяти, в модель цифрового двойника теперь можно добавить новые возможности для аналитики в реальном времени и позволить ей отслеживать телеметрию из большого количества источников данных. Такой подход способен упростить проектирование приложений и оптимизировать процесс разработки, обеспечивая стабильно быстрый анализ даже для больших рабочих нагрузок. Его также можно легко интегрировать в популярные платформы цифровых двойников, такие как Azure Digital Twins от Microsoft, чтобы расширить спектр их применения от PLM до аналитики в реальном времени для живых систем с большим количеством источников данных.
Рассмотрим программное приложение для отслеживания состояния здоровья, которое анализирует телеметрию от большого количества носимых устройств, сообщающих об уровне активности, частоте сердечных сокращений, кислороде в крови и других биометрических показателях. Цифровой двойник каждого участника может динамически анализировать эти параметры и интегрировать их с информацией о возрасте, физическом состоянии, истории болезни и лекарствах пользователя, чтобы обнаружить потенциальные медицинские проблемы и подать сигнал тревоги. Используя модель цифрового двойника, разработчики могут реализовать аналитический код, который объединяет эту информацию по мере поступления телеметрии от каждого пользователя и, возможно, использует методы машинного обучения для поиска аномалий. Вычислительная платформа in-memory может одновременно запускать тысячи цифровых двойников для отслеживания всех пользователей и предоставления немедленной, актуальной обратной связи.
Интеграция аналитики в реальном времени в Azure Digital Twins
Azure Digital Twins предоставляет привлекательную платформу для отслеживания свойств, описывающих источники данных, с богатым набором функций реализации цифровых двойников, включая компоненты, наследование, отношения и многое другое. Инструмент Azure Digital Twins Explorer GUI позволяет пользователям просматривать модели и экземпляры цифровых двойников, а также их взаимосвязи. Как интегрировать аналитику реального времени с Azure Digital Twins, чтобы обеспечить высокую производительность в сочетании с простой разработкой приложений, используя при этом все возможности платформы?
При реализации логики для Azure Digital Twins пользователи обычно создают бессерверные функции с помощью Azure Functions. Эти функции используются для приема сообщений, генерируемых источниками данных, для доставки их цифровым двойникам через Azure IoT Hub (или другие концентраторы сообщений). Эти функции также обновляют свойства цифровых двойников Azure с помощью API, предоставляемых для этой цели. Например, вот перерисованный учебный пример, который показывает, как функции Azure могут обрабатывать сообщения от термостата и обновлять как его цифровой двойник, так и родительский цифровой двойник, моделирующий комнату, в которой находится термостат. Обратите внимание, что обновление первой функции Azure запускает сетку событий Azure Event Grid для запуска второй функции, которая обновляет свойство комнаты:
Проблема использования бессерверных функций для обработки сообщений, реализации аналитики в реальном времени и обновления свойств цифрового двойника заключается в том, что они увеличивают накладные расходы и сложность, а также могут не обеспечивать достаточную пропускную способность в масштабе. По своей природе бессерверные функции не имеют состояния и должны получать свое состояние от внешних сервисов, что увеличивает задержки. Кроме того, они подвержены накладным расходам на планирование и аутентификацию при каждом вызове, а это добавляет задержки, которые ограничивают масштабируемость. Использование нескольких бессерверных функций также добавляет сложности при разработке аналитического кода.
Интеграция платформы вычислений в памяти с инфраструктурой Azure Digital Twins решает обе эти проблемы. Эта технология работает на кластере виртуальных серверов и размещает определяемые приложениями программные объекты, хранящие свойства цифровых двойников в памяти для быстрого доступа, а также программный вычислительный механизм, который может выполнять определяемые приложениями методы с чрезвычайно низкой задержкой. Благодаря хранению свойств каждого экземпляра цифрового двойника Azure в памяти и маршрутизации входящих сообщений для обработки методом in-memory, можно значительно снизить задержки и сложность, а также масштабировать аналитику в реальном времени для обработки тысяч или даже миллионов источников данных.
Недавно анонсированная компанией ScaleOut Software интеграция Azure Digital Twins Integration делает именно это. Она интегрирует ScaleOut Digital Twin Streaming Service™, вычислительную платформу in-memory, работающую в Microsoft Azure (или локально), с сервисом Azure Digital Twins для обеспечения потоковой аналитики в реальном времени. Он ускоряет обработку сообщений с помощью вычислений в памяти, обеспечивая быструю, масштабируемую производительность и одновременно оптимизируя модель программирования.
ScaleOut Azure Digital Twins Integration создает компонент в модели Azure Digital Twin, в котором размещаются свойства «реального времени» для каждого экземпляра цифрового двойника модели. Эти свойства отслеживают динамические изменения физического источника данных экземпляра и обеспечивают контекст для аналитики в реальном времени.
Для реализации кода аналитики в реальном времени разработчики приложений создают метод обработки сообщений для модели цифрового двойника Azure. Этот метод можно написать на C# или Java, используя интуитивно понятный язык, основанный на правилах, или настроив алгоритмы машинного обучения (ML), реализованные в библиотеке ML.NET от Microsoft. Он использует свойства каждого экземпляра в реальном времени, которые хранятся в объекте на основе памяти, называемом цифровым двойником реального времени, а вычислительный механизм in-memory автоматически сохраняет эти свойства в экземпляре цифрового двойника Azure.
Вот диаграмма, иллюстрирующая, как цифровые двойники реального времени интегрируются с цифровыми двойниками Azure для обеспечения потоковой аналитики в реальном времени:
Эта диаграмма показывает, как каждый экземпляр цифрового двойника реального времени поддерживает свойства в памяти, которые он извлекает при развертывании, и автоматически сохраняет эти свойства в соответствующем экземпляре цифрового двойника Azure. Цифровой двойник реального времени подключается к Azure IoT Hub или другому источнику сообщений для получения и последующего анализа входящих сообщений из соответствующего источника данных. Быстрая обработка в памяти обеспечивает субмиллисекундный доступ к свойствам в реальном времени и завершает обработку сообщений с минимальной задержкой. Она также позволяет избежать повторных задержек аутентификации при каждой обработке сообщения, выполняя аутентификацию один раз с помощью службы Azure Digital Twins при запуске.
Все аналитические операции в реальном времени, выполняемые во время обработки сообщений, выполняются в рамках одного метода in-memory, который имеет полный доступ к свойствам экземпляра цифрового двойника. Этот код также может получать доступ и обновлять свойства в других экземплярах цифровых двойников Azure. Эти возможности упрощают разработку, поскольку исключают необходимость разделения функциональности на несколько бессерверных функций и предоставляют простую, объектно-ориентированную структуру проектирования с расширенными встроенными возможностями, такими как ML.
Для дальнейшего ускорения разработки ScaleOut предоставляет инструменты, которые автоматически генерируют определения моделей Azure digital twin для свойств в режиме реального времени. Эти определения модели можно использовать как для создания новых моделей цифрового двойника, так и для добавления компонента реального времени в существующую модель. Пользователям просто нужно загрузить определения модели в службу Azure Digital Twins.
Вот как вышеприведенный учебный пример для термостата был бы реализован с использованием Azure Digital Twins Integration от ScaleOut вместо бессерверных функций:
Обратите внимание, что служба потоковой передачи данных ScaleOut Digital Twins берет на себя ответственность за получение сообщений из Azure IoT Hub и вызов аналитического кода для входящих сообщений источника данных. Множественные конвейерные соединения с Azure IoT Hub обеспечивают высокую пропускную способность. Кроме того, две бессерверные функции были исключены, поскольку метод in-memory обрабатывает как сообщения, так и обновления родительского объекта (комната 21).
Сочетание потокового сервиса ScaleOut Digital Twin с Azure Digital Twins дает пользователям мощь вычислений in-memory для аналитики в реальном времени, используя при этом весь спектр сервисов и инструментов Azure, как показано ниже на примере термостата:
Пользователи могут просматривать свойства в режиме реального времени с помощью инструмента Azure Digital Twins Explorer и отслеживать изменения в результате обработки сообщений. Они также могут воспользоваться экосистемой инструментов анализа больших данных Azure, таких как Spark, для выполнения пакетной обработки. Инструменты ScaleOut для агрегации данных в реальном времени, непрерывных запросов и визуализации свойств в реальном времени позволяют отслеживать живые системы с каждой секундой, что повышает ситуационную осведомленность пользователей.
Пример аналитики в реальном времени с Azure Digital Twins
Включение аналитики в реальном времени с помощью интеграции Azure Digital Twins Integration от ScaleOut открывает широкий спектр вариантов использования Azure Digital Twins. Например, вот как может быть реализовано телематическое программное приложение, отслеживающее парк грузовиков:
Каждый грузовик имеет соответствующего цифрового двойника Azure, который отслеживает его свойства, включая подмножество свойств реального времени, хранящихся в компоненте каждого экземпляра. Когда телеметрические сообщения поступают в Azure IoT Hub, они обрабатываются и анализируются вычислительной платформой ScaleOut in-memory с использованием цифрового двойника реального времени, который хранит свойства грузовика в реальном времени в памяти для быстрого доступа, и метода обработки сообщений, который анализирует изменения телеметрии, обновляет свойства и подает сигналы тревоги, когда это необходимо. Аналитика цифрового двойника в сочетании с агрегацией и визуализацией данных на базе платформы in-memory позволяет диспетчерам быстро обнаруживать возникающие проблемы и своевременно принимать меры по их устранению.
Цифровые двойники: Прорыв в аналитике в режиме реального времени
Хотя изначально цифровые двойники предназначались для использования в PLM, они предлагают разработчикам новую мощную программную модель для отслеживания и визуализации совокупности физических устройств. Добавление аналитики в реальном времени к платформам цифровых двойников, таким как Azure Digital Twins, расширяет их охват до живых, производственных систем и открывает широкий спектр важных сценариев использования. Модель цифровых двойников позволяет создать новую привлекательную архитектуру программного обеспечения для анализа входящей телеметрии с низкой задержкой, высокой масштабируемостью и простой моделью разработки. Этот новый мощный подход к аналитике в реальном времени позволяет менеджерам непрерывно изучать телеметрию из тысяч или даже миллионов источников данных и немедленно выявлять возникающие проблемы, тем самым избегая дорогостоящих проблем и улавливая ускользающие возможности.