Estendendo Azure Digital Twins da Microsoft para análises em tempo real

COMPARTILHAR:

Como inúmeros aplicativos precisam rastrear sistemas ativos, os desenvolvedores enfrentam o desafio de implementar análises em tempo real que possam reagir à telemetria recebida e identificar rapidamente problemas ou oportunidades. Os exemplos incluem software de telemática que rastreia veículos em uma frota, software de segurança que monitora pontos físicos de entrada ou endpoints de rede em uma infraestrutura cibernética, sistemas de rastreamento de saúde que analisam a telemetria de dispositivos vestíveis e muitos outros. Todos esses aplicativos têm a tarefa de digerir mensagens simultaneamente de várias fontes de dados, encontrar padrões de interesse e agir rapidamente quando necessário.

Usando gêmeos digitais para análise em tempo real

O modelo de gêmeo digital evoluiu nos últimos vinte anos como uma abordagem atraente e orientada a objetos para modelar o estado e o comportamento dos dispositivos, e foi amplamente adotado para o gerenciamento do ciclo de vida do produto (PLM). Usando o poder da computação na memória , novos recursos para análises em tempo real agora podem ser adicionados ao modelo de gêmeo digital e permitir que ele rastreie a telemetria de um grande número de fontes de dados. Essa abordagem tem o potencial de simplificar o design de aplicativos e agilizar o processo de desenvolvimento, ao mesmo tempo em que permite análises consistentemente rápidas, mesmo para grandes cargas de trabalho. Ele também pode ser facilmente integrado a plataformas de gêmeos digitais populares, como o Azure Digital Twins da Microsoft , para expandir sua gama de aplicativos de PLM a análises em tempo real para sistemas ativos com muitas fontes de dados.

Considere um aplicativo de rastreamento de saúde de software que analisa a telemetria de uma grande população de dispositivos vestíveis relatando nível de atividade, frequência cardíaca, oxigênio no sangue e outros dados biométricos. Um gêmeo digital para cada participante pode analisar dinamicamente esses parâmetros e integrá-los ao conhecimento da idade do usuário, condição física, histórico médico e medicamentos para detectar possíveis problemas médicos e sinalizar alertas. Usando o modelo de gêmeo digital, os desenvolvedores podem implementar código de análise que combina essas informações à medida que a telemetria flui para cada usuário e possivelmente fazer uso de técnicas de aprendizado de máquina para procurar anomalias. A plataforma de computação em memória pode executar simultaneamente milhares de gêmeos digitais para rastrear todos os usuários e fornecer feedback imediato e relevante.

Integrando o Real-Time Analytics nos Gêmeos Digitais do Azure

Os Gêmeos Digitais do Azure fornecem uma plataforma atraente para rastrear propriedades que descrevem fontes de dados com um rico conjunto de recursos da implementação de gêmeos digitais, incluindo componentes, herança, relacionamentos e muito mais. A ferramenta GUI do Azure Digital Twins Explorer permite que os usuários visualizem modelos e instâncias de gêmeos digitais, bem como seus relacionamentos. Como podemos integrar a análise em tempo real com os Gêmeos Digitais do Azure para garantir alto desempenho combinado com o desenvolvimento de aplicativos simples, aproveitando todos os recursos da plataforma? 

Ao implementar a lógica para os Gêmeos Digitais do Azure, os usuários normalmente criam funções sem servidor usando o  Azure Functions . Essas funções são usadas para ingerir mensagens geradas por fontes de dados para entrega a gêmeos digitais por meio do  Hub IoT do Azure  (ou outros hubs de mensagens). Essas funções também atualizam as propriedades dos gêmeos digitais do Azure usando APIs fornecidas para essa finalidade. Por exemplo, aqui está um exemplo de tutorial redesenhado   que mostra como as funções do Azure podem processar mensagens de um termostato e atualizar seu gêmeo digital e um gêmeo digital pai que modela a sala em que o termostato está localizado. Observe que a atualização da primeira função do Azure aciona a grade de eventos do  Azure  para executar uma segunda função que atualiza a propriedade da sala:

pacote fullstack danki code
AZUERE

O desafio de usar funções sem servidor para processar mensagens, implementar análises em tempo real e atualizar propriedades de gêmeos digitais é que elas adicionam sobrecarga e complexidade e podem não fornecer taxa de transferência adequada em escala. Por sua natureza, as funções sem servidor são sem estado e devem obter seu estado de serviços externos; isso adiciona latência. Além disso, eles estão sujeitos a sobrecargas de agendamento e autenticação em cada chamada, e isso adiciona atrasos que limitam a escalabilidade. O uso de várias funções sem servidor também adiciona complexidade ao desenvolver código de análise.

A integração de uma plataforma de computação na memória com a infraestrutura Azure Digital Twins aborda esses dois desafios. Essa tecnologia é executada em um cluster de servidores virtuais e hospeda objetos de software definidos por aplicativos que mantêm propriedades de gêmeos digitais na memória para acesso rápido, juntamente com um mecanismo de computação baseado em software que pode executar métodos definidos por aplicativos com latência extremamente baixa. Ao armazenar as propriedades de cada instância do gêmeo digital do Azure na memória e rotear as mensagens recebidas para um método de processamento na memória, a latência e a complexidade podem ser drasticamente reduzidas e a análise em tempo real pode ser dimensionada para lidar com milhares ou até milhões de fontes de dados.

A recém-anunciada integração Azure Digital Twins da ScaleOut Software faz exatamente isso. Ele integra o  ScaleOut Digital Twin Streaming Service™ , uma plataforma de computação em memória executada no Microsoft Azure (ou local), com o serviço Azure Digital Twins para fornecer análises de streaming em tempo real. Ele acelera o processamento de mensagens usando computação na memória para garantir desempenho rápido e escalável, ao mesmo tempo em que simplifica o modelo de programação.

A integração ScaleOut Azure Digital Twins cria um componente dentro de um modelo Azure Digital Twin no qual ele hospeda propriedades “em tempo real” para cada instância de gêmeo digital do modelo. Essas propriedades rastreiam alterações dinâmicas na fonte de dados física da instância e fornecem contexto para análises em tempo real.

Para implementar o código de análise em tempo real, os desenvolvedores de aplicativos criam um método de processamento de mensagens para um modelo de gêmeo digital do Azure. Esse método pode ser escrito em C# ou Java, usando uma linguagem intuitiva  baseada em regras ou  configurando  algoritmos de aprendizado de máquina (ML) implementados pela  biblioteca ML.NET da Microsoft  . Ele usa as propriedades em tempo real de cada instância, que são armazenadas em um objeto baseado em memória chamado  gêmeo digital em tempo real , e o mecanismo de computação na memória persiste automaticamente essas propriedades na instância do gêmeo digital do Azure.

Aqui está um diagrama que ilustra como os gêmeos digitais em tempo real se integram aos gêmeos digitais do Azure para fornecer análises de streaming em tempo real:

CURSO GRATUITO DE DESENVOLVIMENTO WEB
AZURE 2

Este diagrama mostra como cada instância de gêmeo digital em tempo real mantém propriedades na memória, que recupera quando implantada, e persiste automaticamente essas propriedades em sua instância de gêmeo digital do Azure correspondente. O gêmeo digital em tempo real se conecta ao Hub IoT do Azure ou a outra fonte de mensagens para receber e analisar as mensagens recebidas de sua fonte de dados correspondente. O processamento rápido na memória fornece acesso em menos de um milissegundo a propriedades em tempo real e conclui o processamento de mensagens com latência mínima. Também evita atrasos de autenticação repetidos sempre que uma mensagem é processada, autenticando uma vez com o serviço Azure Digital Twins na inicialização.

Todas as análises em tempo real realizadas durante o processamento de mensagens são executadas em um único método na memória que tem acesso total às propriedades da instância do gêmeo digital. Esse código também pode acessar e atualizar propriedades em outras instâncias de gêmeos digitais do Azure. Esses recursos simplificam o design, evitando a necessidade de dividir a funcionalidade em várias funções sem servidor e fornecendo uma estrutura de design simples e orientada a objetos com recursos integrados avançados, como ML.

Para acelerar ainda mais o desenvolvimento, o ScaleOut fornece ferramentas que geram automaticamente definições de modelo de gêmeos digitais do Azure para propriedades em tempo real. Essas definições de modelo podem ser usadas para criar novos modelos de gêmeos digitais ou para adicionar um componente em tempo real a um modelo existente. Os usuários só precisam carregar as definições de modelo para o serviço Azure Digital Twins.

Veja como o exemplo do tutorial acima para o termostato seria implementado usando a integração de gêmeos digitais do Azure do ScaleOut em vez de funções sem servidor:

AZURE 3

Observe que o Serviço de Streaming de Gêmeos Digitais ScaleOut assume a responsabilidade pela ingestão de mensagens do Hub IoT do Azure e por invocar o código de análise para as mensagens de entrada da fonte de dados. Várias conexões em pipeline com o Hub IoT do Azure garantem alta taxa de transferência. Além disso, as duas funções sem servidor foram eliminadas, pois o método in-memory trata do processamento de mensagens e das atualizações do objeto pai (Sala 21).

A combinação do ScaleOut Digital Twin Streaming Service com o Azure Digital Twins oferece aos usuários o poder da computação na memória para análises em tempo real, aproveitando todo o espectro de serviços e ferramentas do Azure, conforme ilustrado abaixo para o exemplo do termostato:

CURSO GRATUITO DE PYTHON
AZURE 4

Os usuários podem visualizar propriedades em tempo real com a ferramenta Azure Digital Twins Explorer e rastrear alterações devido ao processamento de mensagens. Eles também podem aproveitar o ecossistema de ferramentas de análise de big data do Azure, como o  Spark,  para realizar o processamento em lote. As ferramentas de agregação de dados em tempo real, consulta contínua e visualização do ScaleOut para propriedades em tempo real permitem o rastreamento segundo a segundo de sistemas ativos que aumentam a consciência situacional para os usuários.

Exemplo de análise em tempo real com gêmeos digitais do Azure

A incorporação de análises em tempo real usando a Integração Azure Digital Twins do ScaleOut desbloqueia uma ampla variedade de casos de uso para Azure Digital Twins. Por exemplo, veja como um aplicativo de software de telemática que rastreia uma frota de caminhões pode ser implementado:

AZURE 5

Cada caminhão tem um gêmeo digital do Azure correspondente que rastreia suas propriedades, incluindo um subconjunto de propriedades em tempo real mantidas em um componente de cada instância. Quando as mensagens de telemetria fluem para o Hub IoT do Azure, elas são processadas e analisadas pela plataforma de computação na memória do ScaleOut usando um gêmeo digital em tempo real que mantém as propriedades em tempo real de um caminhão na memória para acesso rápido e um método de processamento de mensagens que analisa a telemetria altera, atualiza propriedades e sinaliza alertas quando necessário. A análise digital de gêmeos, combinada com a agregação e visualização de dados alimentada pela plataforma na memória, permite que os despachantes identifiquem rapidamente problemas emergentes e tomem ações corretivas em tempo hábil.

Gêmeos digitais: um avanço para análises em tempo real

Embora inicialmente projetados para uso em PLM, os gêmeos digitais oferecem aos desenvolvedores um novo e poderoso modelo de software para rastrear e visualizar uma população de dispositivos físicos. A adição de análises em tempo real a plataformas de gêmeos digitais, como o Azure Digital Twins, estende seu alcance a sistemas de produção ao vivo e desbloqueia uma ampla variedade de casos de uso importantes. Ele aproveita o modelo de gêmeos digitais para criar uma nova arquitetura de software atraente para analisar a telemetria de entrada com baixa latência, alta escalabilidade e um modelo de desenvolvimento direto. Essa nova e poderosa abordagem de análise em tempo real permite que os gerentes examinem continuamente a telemetria de milhares ou até milhões de fontes de dados e identifiquem imediatamente problemas emergentes, evitando problemas dispendiosos e capturando oportunidades indescritíveis.

Leia também: Linux Mint e Mozilla fecham parceria para Firefox ser o navegador padrão
COMPARTILHAR:
brayan

Brayan Monteiro

Bacharel em Sistemas de Informação pela Faculdade Maurício de Nassau e desenvolvedor PHP. Além de programador, produzo conteúdo e gerencio blogs. Sou especialista em desenvolvimento de software, SEO de sites e em negócios digitais.