Visão geral do acelerador de solução de Monitoramento Remoto

O acelerador de solução de Monitoramento Remoto implementa uma solução de monitoramento de ponta a ponta para vários computadores em locais remotos. A solução combina os principais serviços do Azure para fornecer uma implementação genérica de cenário de negócios. Você pode usar a solução como um ponto de partida para sua própria implementação e personalizá-la para atender às suas próprias necessidades de negócios específicas.

Este artigo explica alguns dos principais elementos da solução de monitoramento remoto para que você possa entender como ela funciona. Esse conhecimento ajuda a:

  • Solucionar problemas na solução.
  • Planejar como personalizar a solução para atender a seus próprios requisitos específicos.
  • Criar sua própria solução IoT que usa os serviços do Azure.

O código do acelerador de solução de monitoramento remoto está disponível no GitHub:

Arquitetura lógica

O diagrama a seguir descreve os componentes lógicos do acelerador de solução de Monitoramento Remoto sobreposto na arquitetura IoT:

Arquitetura lógica

Por que os microsserviços?

A arquitetura de nuvem evoluiu desde que a Microsoft lançou os primeiros aceleradores de solução. Os microsserviços foram lançados como uma prática comprovada para obter flexibilidade e escala sem sacrificar a velocidade de desenvolvimento. Vários serviços da Microsoft usam esse padrão de arquitetura internamente, com resultados de escalabilidade e confiabilidade excelentes. Os aceleradores de solução atualizados colocam estas lições em prática para que você também possa se beneficiar delas.

Dica

Para saber mais sobre as arquiteturas de microsserviço, confira Arquitetura do Aplicativo .NET e Microsserviços: uma revolução de aplicativo fornecida pela nuvem.

Conectividade do dispositivo

A solução inclui os seguintes componentes na parte de conectividade do dispositivo da arquitetura lógica:

Dispositivos reais

Você pode conectar dispositivos reais à solução. Você pode implementar o comportamento de seus dispositivos simulados usando as SDKs do dispositivo IoT do Azure.

Você pode provisionar dispositivos reais pelo dashboard no portal da solução.

Microsserviço de simulação de dispositivo

A solução inclui o microsserviço de simulação de dispositivo que permite que você gerencie um pool de dispositivos simulados do portal de solução para testar o fluxo de ponta a ponta na solução. Os dispositivos simulados:

  • Geram telemetria do dispositivo para a nuvem.
  • Respondem a chamadas de método da nuvem para o dispositivo do Hub IoT.

O microsserviço fornece um ponto de extremidade RESTful para criar, iniciar e interromper as simulações. Cada simulação consiste em um conjunto de dispositivos virtuais de tipos diferentes, que enviam a telemetria e respondem a chamadas de método.

Você pode provisionar os dispositivos simulados do painel no portal de solução.

Hub IoT

O Hub IoT absorve os dados de telemetria enviados dos dispositivos reais e simulados para a nuvem. O hub IoT disponibiliza a telemetria para os serviços no back-end na solução de IoT para processamento.

O hub IoT na solução também:

  • Mantém um registro de identidade que armazena as IDs e as chaves de autenticação de todos os dispositivos permitidos para se conectar ao portal.
  • Chama métodos em seus dispositivos em nome do acelerador de solução.
  • Mantém dispositivos gêmeos para todos os dispositivos registrados. Um dispositivo gêmeo armazena os valores de propriedade relatados por um dispositivo. Um dispositivo gêmeo também armazena propriedades desejadas, definidas no portal de solução para o dispositivo recuperar ao lado se conectar.
  • Agenda trabalhos para definir propriedades para vários dispositivos ou chama métodos em vários dispositivos.

Processamento de dados e análise

A solução inclui os seguintes componentes na parte de análise da arquitetura lógica e processamento de dados:

Microsserviço de Gerenciador de Hub IoT

A solução inclui o microsserviço do gerente de Hub IoT para manipular as interações com o Hub IoT como:

  • Criação e gerenciamento de dispositivos de IoT.
  • Gerenciamento de dispositivos gêmeos.
  • Invocação de métodos em dispositivos.
  • Gerenciamento de credenciais de IoT.

Este serviço também executa consultas do Hub IoT para recuperar os dispositivos que pertencem a grupos definidos pelo usuário.

O microsserviço fornece um ponto de extremidade RESTful para gerenciar os dispositivos e os dispositivos gêmeos, invocar métodos e executar consultas do Hub IoT.

Microsserviço de telemetria do dispositivo

O microsserviço de telemetria do dispositivo fornece um ponto de extremidade RESTful para acesso de leitura a telemetria do dispositivo armazenada no Time Series Insights. O ponto de extremidade RESTful também permite as operações CRUD em regras e acesso de leitura/gravação para definições de alarme do armazenamento.

Armazenar o microsserviço de adaptador de armazenamento

O microsserviço do adaptador de armazenamento gerencia pares de chave-valor, abstraindo a semântica do serviço de armazenamento e apresentar uma interface simples para armazenar dados de qualquer formato usando o Azure Cosmos DB.

Os valores são organizados em coleções. Você pode trabalhar em valores individuais ou buscar coleções inteiras. Estruturas de dados complexas são serializadas pelos clientes e gerenciadas como conteúdo de texto simples.

O serviço fornece um ponto de extremidade RESTful para operações CRUD em pares chave-valor. valores

Azure Cosmos DB

As implantações do acelerador de solução usam o Azure Cosmos DB para armazenar definições de configuração, alertas, regras e todos os outros armazenamentos frios.

Microsserviço de Gerenciador de Stream Analytics do Azure

O microsserviço do gerente do Azure Stream Analytics gerencia trabalhos do Azure Stream Analytics (ASA), incluindo a configuração de sua configuração, iniciando e interrompendo-os e monitorando seu status.

O trabalho ASA é compatível com dois conjuntos de dados de referência. Um conjunto de dados define as regras e um deles define grupos de dispositivos. Os dados de referência de regras são gerados a partir das informações gerenciadas pelo microsserviço de telemetria do dispositivo. O microsserviço do gerente do Azure Stream Analytics transforma as regras de telemetria em lógica de processamento de fluxo.

Os dados de referência de grupos de dispositivo são usados para identificar qual grupo de regras aplicar a uma mensagem de telemetria de entrada. Os grupos de dispositivos são gerenciados pelo microsserviço de configuração e usam consultas idênticas de dispositivo do Hub IoT do Azure.

Os trabalhos ASA entregam a telemetria dos dispositivos conectados ao Time Series Insights para análise e armazenamento.

Stream Analytics do Azure

O Azure Stream Analytics é um mecanismo de processamento de eventos que permite examinar grandes volumes de fluxo de dados de dispositivos.

Azure Time Series Insights

O Azure Time Series Insights armazena a telemetria dos dispositivos conectada ao acelerador da solução. Ele também permite visualizar e consultar a telemetria do dispositivo na web de solução da interface do usuário.

Microsserviço de configuração

A configuração do microsserviço fornece um ponto de extremidade RESTful para operações CRUD nos grupos de dispositivos, as configurações da solução e configurações de usuário do acelerador de solução. Funciona com o microsserviço de adaptador de armazenamento para manter os dados de configuração.

Detalhes de autenticação e autorização do microsserviço

O microsserviço de autenticação e autorização gerencia os usuários autorizados a acessar o acelerador da solução. Gerenciamento de usuário pode ser feito usando qualquer provedor de serviços de identidade que dá suporte a OpenId Connect.

Azure Active Directory

Implantações de acelerador de solução usam o Azure Active Directory como um provedor do OpenID Connect. O Azure Active Directory armazena informações de usuário e fornece certificados para validar assinaturas de Token JWT.

Apresentação

A solução inclui os seguintes componentes na parte de apresentação da arquitetura lógica:

A interface do usuário da web é um aplicativo do React Javascript. O aplicativo:

  • Usa somente o Javascript React e é executado totalmente no navegador.
  • É projetado com CSS.
  • Interage com microsserviços voltados ao público por meio de chamadas AJAX.

A interface do usuário apresenta todas as funcionalidades do acelerador de solução e interage com outros microsserviços, como:

  • O microsserviço de autenticação e autorização para proteger os dados de usuário.
  • Microsserviço do gerenciador Hub IoT para listar e gerenciar os dispositivos de IoT.

A interface do usuário integra-se ao Azure Time Series Insights Explorer para habilitar a análise de telemetria do dispositivo e consulta.

O microsserviço de configuração habilita a interface do usuário para armazenar e recuperar as definições de configuração.

Próximas etapas

Se você quiser explorar a documentação do desenvolvedor e do código-fonte, inicie com um os dois repositórios GitHub:

Diagramas detalhados de arquitetura de solução:

Para obter mais informações conceituais sobre o acelerador de solução de Monitoramento Remoto, consulte Personalizar o acelerador de solução.