Arquitetura de referência de mensagens automotivas, dados e análises
Esta arquitetura de referência foi concebida para apoiar os OEM do setor automóvel e os fornecedores de mobilidade no desenvolvimento de aplicações avançadas para veículos conectados e serviços digitais. Seu objetivo é fornecer infraestrutura confiável e eficiente de mensagens, dados e análises. A arquitetura inclui processamento de mensagens, processamento de comandos e recursos de armazenamento de estado para facilitar a integração de vários serviços por meio de APIs gerenciadas. Também descreve uma solução de dados e análise que garante o armazenamento e a acessibilidade dos dados de forma escalável e segura para engenharia digital e compartilhamento de dados com o ecossistema de mobilidade mais amplo.
Arquitetura
O diagrama de arquitetura de alto nível mostra os principais blocos lógicos e serviços de uma solução automotiva de mensagens, dados e análise. Mais detalhes podem ser encontrados nas seções a seguir.
- O veículo contém uma coleção de dispositivos. Alguns desses dispositivos são definidos por software e podem executar cargas de trabalho de software gerenciadas a partir da nuvem. O veículo recolhe e processa uma grande variedade de dados, desde informações de sensores de dispositivos eletromecânicos, como o sistema de gestão de baterias, até ficheiros de registo de software.
- Os serviços de mensagens do veículo gerem a comunicação de e para o veículo. É responsável pelo processamento de mensagens, execução de comandos usando fluxos de trabalho e mediação do back-end de gerenciamento de veículos, usuários e dispositivos. Ele também mantém o controle de registro e provisionamento de veículos, dispositivos e certificados.
- O back-end de gerenciamento de veículos e dispositivos são os sistemas OEM que acompanham a configuração do veículo desde a fábrica até o reparo e a manutenção.
- O operador tem operações de TI para garantir a disponibilidade e o desempenho dos veículos e do backend.
- Os serviços de análise de dados fornecem armazenamento de dados e permitem o processamento e a análise para todos os usuários de dados. Ele transforma dados em insights que impulsionam melhores decisões de negócios.
- O fabricante de veículos fornece serviços digitais como valor acrescentado para o cliente final, desde aplicações complementares a aplicações de reparação e manutenção.
- Vários serviços digitais exigem integração de negócios com sistemas de back-end, como sistemas de gerenciamento de revendedores (DMS), gerenciamento de relacionamento com o cliente (CRM) ou planejamento de recursos empresariais (ERP).
- O back-end de gerenciamento de consentimento faz parte do gerenciamento de clientes e acompanha a autorização do usuário para coleta de dados de acordo com a legislação geográfica do país/região.
- Os dados coletados dos veículos são uma entrada para o processo de engenharia digital, com o objetivo de melhorias contínuas do produto usando análises e aprendizado de máquina.
- O ecossistema de mobilidade inteligente pode assinar e consumir tanto telemetria ao vivo quanto insights agregados para fornecer mais produtos e serviços.
A Microsoft é membro do grupo de trabalho Eclipse Software Defined Vehicle, um fórum de colaboração aberta usando código aberto para plataformas de software de veículos.
Fluxo de dados
A arquitetura usa o padrão de mensagens do editor/assinante para separar veículos de serviços.
Mensagens do veículo para a nuvem
O fluxo de dados do veículo para a nuvem é usado para processar dados de telemetria do veículo. Os dados de telemetria podem ser enviados periodicamente (estado do veículo, recolha dos sensores do veículo) ou com base num evento (gatilhos em condições de erro, reação a uma ação do utilizador).
- O veículo é configurado para um cliente com base nas opções selecionadas usando as APIs de gerenciamento. A configuração contém:
- Informações de provisionamento para veículos e dispositivos.
- Configuração inicial de recolha de dados do veículo com base em considerações de mercado e de negócio.
- Armazenamento das configurações iniciais de consentimento do usuário com base nas opções do veículo e na aceitação do usuário.
- O veículo publica mensagens de telemetria e eventos por meio de um cliente MQTT (Transporte de Telemetria de Enfileiramento de Mensagens) com tópicos definidos para o recurso de agente MQTT da Grade de Eventos do Azure nos serviços de mensagens do veículo.
- A Grade de Eventos roteia mensagens para diferentes assinantes com base no tópico e nos atributos da mensagem.
- As mensagens de baixa prioridade que não exigem processamento imediato (por exemplo, mensagens de análise) são roteadas diretamente para o armazenamento usando uma instância de Hubs de Eventos para buffer.
- Mensagens de alta prioridade que exigem processamento imediato (por exemplo, alterações de status que devem ser visualizadas em um aplicativo voltado para o usuário) são roteadas para uma Função do Azure usando uma instância de Hubs de Eventos para buffer.
- As mensagens de baixa prioridade são armazenadas diretamente no data lake usando a captura de eventos. Essas mensagens podem usar decodificação e processamento em lote para custos ideais.
- As mensagens de alta prioridade são processadas com uma função do Azure. A função lê as configurações de veículo, dispositivo e consentimento do usuário do Registro do dispositivo e executa as seguintes etapas:
- Verifica se o veículo e o dispositivo estão registados e ativos.
- Verifica se o usuário deu consentimento para o tópico da mensagem.
- Descodifica e enriquece a carga útil.
- Adiciona mais informações de roteamento.
- O Hub de Eventos de Telemetria ao Vivo na solução de análise de dados e dados recebe as mensagens decodificadas. O Azure Data Explorer usa a ingestão de streaming para processar e armazenar mensagens à medida que são recebidas.
- A camada de Serviços digitais recebe mensagens decodificadas. O Service Bus fornece notificações às aplicações sobre alterações/eventos importantes sobre o estado do veículo. O Azure Data Explorer fornece o último estado conhecido do veículo e o histórico de curto prazo.
Mensagens da nuvem para o veículo
A nuvem para o fluxo de dados do veículo é frequentemente usada para executar comandos remotos no veículo a partir de um serviço digital. Esses comandos incluem casos de uso, como fechadura/desbloqueio da porta, controle de climatização (definir a temperatura preferida da cabine) ou alterações de configuração. A execução bem-sucedida depende do estado do veículo e pode exigir algum tempo para ser concluída.
Dependendo das capacidades do veículo e do tipo de ação, existem várias abordagens possíveis para a execução de comandos. Abordamos duas variações:
- Direcione a nuvem para mensagens do dispositivo (A) que não exigem uma verificação de consentimento do usuário e com um tempo de resposta previsível. Isto abrange mensagens para veículos individuais e múltiplos. Um exemplo inclui notificações meteorológicas.
- Comandos do veículo (B) que utilizam o estado do veículo para determinar o sucesso e requerem o consentimento do utilizador. A solução de mensagens deve ter uma lógica de fluxo de trabalho de comando que verifique o consentimento do usuário, acompanhe o estado de execução do comando e notifique o serviço digital quando concluído.
Os seguintes comandos de usuários de fluxo de dados emitidos a partir de serviços digitais de um aplicativo complementar como exemplo.
As mensagens diretas são executadas com a quantidade mínima de saltos para o melhor desempenho possível (A):
- O aplicativo complementar é um serviço autenticado que pode publicar mensagens na Grade de Eventos.
- A Grade de Eventos verifica se há autorização para o Serviço do aplicativo Complementar para determinar se ele pode enviar mensagens para os tópicos fornecidos.
- A aplicação Companion subscreve as respostas da combinação específica veículo/comando.
Quando os comandos dependentes do estado do veículo requerem o consentimento do utilizador (B):
- O proprietário/utilizador do veículo dá consentimento para a execução de funções de comando e controlo a um serviço digital (neste exemplo uma aplicação complementar). Isso normalmente é feito quando o usuário baixa/ativa o aplicativo e o OEM ativa sua conta. Ele dispara uma alteração de configuração no veículo para se inscrever no tópico de comando associado no broker MQTT.
- O aplicativo complementar usa a API gerenciada de comando e controle para solicitar a execução de um comando remoto.
- A execução do comando pode ter mais parâmetros para configurar opções como tempo limite, opções de armazenamento e encaminhamento, etc.
- A lógica de comando decide como processar o comando com base no tópico e em outras propriedades.
- A lógica do fluxo de trabalho cria um estado para acompanhar o status da execução
- A lógica do fluxo de trabalho do comando verifica as informações de consentimento do usuário para determinar se a mensagem pode ser executada.
- A lógica do fluxo de trabalho de comando publica uma mensagem na Grade de Eventos com o comando e os valores de parâmetro.
- O módulo de mensagens no veículo é inscrito no tópico de comando e recebe a notificação. Ele roteia o comando para a carga de trabalho correta.
- O módulo de mensagens monitora a carga de trabalho para conclusão (ou erro). Uma carga de trabalho é responsável pela execução (física) do comando.
- O módulo de mensagens publica relatórios de status de comando na Grade de Eventos.
- O módulo de fluxo de trabalho é inscrito para atualizações de status de comando e atualiza o estado interno de execução do comando.
- Quando a execução do comando estiver concluída, o aplicativo de serviço receberá o resultado da execução na API de comando e controle.
Provisionamento de veículos e dispositivos
Este fluxo de dados abrange o processo de registo e fornecimento de veículos e dispositivos aos serviços de mensagens dos veículos. O processo é normalmente iniciado como parte da fabricação de veículos.
- O Sistema de Fábrica comissiona o dispositivo do veículo para o estado de construção desejado. Pode incluir instalação e configuração inicial de firmware e software. Como parte desse processo, o sistema de fábrica obterá e gravará o certificado do dispositivo, criado a partir do provedor de infraestrutura de chave pública.
- O Sistema de Fábrica regista o veículo e o dispositivo utilizando a API de Aprovisionamento de Veículos e Dispositivos.
- O sistema de fábrica aciona o cliente de provisionamento do dispositivo para se conectar ao registro do dispositivo e provisionar o dispositivo. O dispositivo recupera informações de conexão com o broker MQTT.
- O aplicativo de registro de dispositivo cria a identidade do dispositivo com o broker MQTT.
- O sistema de fábrica aciona o dispositivo para estabelecer uma conexão com o broker MQTT pela primeira vez.
- O broker MQTT autentica o dispositivo usando o CA Root Certificate e extrai as informações do cliente.
- O broker MQTT gerencia a autorização para tópicos permitidos usando o registro local.
- Para a substituição de peças, o Sistema de Revendedor OEM pode acionar o registro de um novo dispositivo.
Nota
Os sistemas de fábrica geralmente são locais e não têm conexão direta com a nuvem.
Análise de Dados
Este fluxo de dados abrange a análise de dados de veículos. Você pode usar outras fontes de dados, como operadores de fábrica ou oficina, para enriquecer e fornecer contexto aos dados do veículo.
- A camada de serviços de mensagens do veículo fornece telemetria, eventos, comandos e mensagens de configuração a partir da comunicação bidirecional para o veículo.
- A camada TI & Operations fornece informações sobre o software em execução no veículo e os serviços de nuvem associados.
- Vários pipelines fornecem processamento dos dados em um estado mais refinado
- Processamento de dados brutos para dados enriquecidos e desduplicados do veículo.
- Agregação de dados do veículo, indicadores-chave de desempenho e insights.
- Geração de dados de treinamento para machine learning.
- Diferentes aplicativos consomem dados refinados e agregados.
- Visualização usando o Power BI.
- Fluxos de trabalho de integração de negócios usando aplicativos lógicos com integração no Dataverse.
- Os dados de treinamento gerados são consumidos por ferramentas como o ML Studio para gerar modelos de ML.
Escalabilidade
Uma solução de veículos e dados conectados pode ser dimensionada para milhões de veículos e milhares de serviços. É recomendável usar o padrão Deployment Stamps para obter escalabilidade e elasticidade.
Cada unidade de escala de mensagens de veículo suporta uma população de veículos definida (por exemplo, veículos em uma região geográfica específica, particionados por ano de modelo). A unidade de escala de aplicativos é usada para dimensionar os serviços que exigem o envio ou recebimento de mensagens para os veículos. O serviço comum é acessível a partir de qualquer unidade de escala e fornece serviços de gerenciamento de dispositivos e assinatura para aplicativos e dispositivos.
- A unidade de escala de aplicativos assina aplicativos para mensagens de interesse. O serviço comum lida com a assinatura dos componentes da unidade de escala de mensagens do veículo.
- O veículo utiliza o serviço de gestão de dispositivos para descobrir a sua atribuição a uma unidade de balança de mensagens do veículo.
- Se necessário, o veículo é provisionado usando o fluxo de trabalho de Provisionamento de veículos e dispositivos.
- O veículo publica uma mensagem para o corretor MQTT.
- A Grade de Eventos roteia a mensagem usando as informações de assinatura.
- Para mensagens que não exigem processamento e verificação de declarações, elas são roteadas para um hub de entrada na unidade de escala de aplicativo correspondente.
- As mensagens que requerem processamento são encaminhadas para a lógica de processamento D2C para decodificação e autorização (consentimento do usuário).
- Os aplicativos consomem eventos de sua instância de hubs de eventos de entrada de aplicativo.
- Os aplicativos publicam mensagens para o veículo.
- As mensagens que não exigem mais processamento são publicadas no broker MQTT.
- As mensagens que exigem mais processamento, controle de fluxo de trabalho e autorização são roteadas para a Lógica de Processamento C2D relevante em uma instância de Hubs de Eventos .
Componentes
Esta arquitetura de referência faz referência aos seguintes componentes do Azure.
Conectividade
- A Grade de Eventos do Azure permite a integração de dispositivos, AuthN/Z e pub-sub via MQTT v5.
- O Azure Functions processa as mensagens do veículo. Ele também pode ser usado para implementar APIs de gerenciamento que exigem execução de curta duração.
- O Serviço Kubernetes do Azure (AKS) é uma alternativa quando a funcionalidade por trás das APIs gerenciadas consiste em cargas de trabalho complexas implantadas como aplicativos em contêineres.
- O Azure Cosmos DB armazena as configurações de veículo, dispositivo e consentimento do usuário.
- O Gerenciamento de API do Azure fornece um gateway de API gerenciado para serviços back-end existentes, como gerenciamento do ciclo de vida do veículo (incluindo OTA) e gerenciamento de consentimento do usuário.
- O Azure Batch executa grandes tarefas de computação intensiva de forma eficiente, como a ingestão de rastreio de comunicação do veículo.
Dados e Análise
- Os Hubs de Eventos do Azure permitem processar e ingerir grandes quantidades de dados de telemetria.
- O Azure Data Explorer fornece exploração, curadoria e análise de dados de telemetria de veículos baseados em séries cronológicas.
- O Armazenamento de Blobs do Azure armazena documentos grandes (como vídeos e rastreamentos de latas) e dados de veículos selecionados.
- O Azure Databricks fornece um conjunto de ferramentas para manter soluções de dados de nível empresarial em escala. Necessário para operações de longa duração em grandes quantidades de dados do veículo.
Integração de back-end
- As Aplicações Lógicas do Azure executam fluxos de trabalho automatizados para integração empresarial com base nos dados do veículo.
- O Serviço de Aplicativo do Azure fornece aplicativos Web voltados para o usuário e back-ends móveis, como o aplicativo complementar.
- O Cache Redis do Azure fornece cache na memória de dados frequentemente usados por aplicativos voltados para o usuário.
- O Barramento de Serviço do Azure fornece corretagem que separa a conectividade do veículo dos serviços digitais e da integração de negócios.
Alternativas
A seleção do tipo certo de computação para implementar o processamento de mensagens e APIs gerenciadas depende de uma infinidade de fatores. Selecione o serviço certo usando o guia Escolher um serviço de computação do Azure.
Exemplos:
- Azure Functions para processos de curta duração orientados por eventos, como ingestão de telemetria.
- Azure Batch para tarefas de computação de alto desempenho, como decodificação de grandes arquivos de vídeo / rastreamento CAN
- Serviço Kubernetes do Azure para orquestração gerenciada e completa de lógica complexa, como gerenciamento de fluxo de trabalho de comando e controle de controle.
Como alternativa ao compartilhamento de dados baseado em eventos, também é possível usar o Compartilhamento de Dados do Azure se o objetivo for executar a sincronização em lote no nível do data lake.
Detalhes do cenário
Os OEMs automotivos estão passando por uma transformação significativa à medida que passam da produção de produtos fixos para a oferta de veículos conectados e definidos por software. Os veículos oferecem uma variedade de recursos, como atualizações over-the-air, diagnósticos remotos e experiências de usuário personalizadas. Essa transição permite que os OEMs melhorem continuamente seus produtos com base em dados e insights em tempo real, ao mesmo tempo em que expandem seus modelos de negócios para incluir novos serviços e fluxos de receita.
Esta arquitetura de referência permite aos fabricantes de automóveis e prestadores de serviços de mobilidade:
- Use dados de feedback como parte do processo de engenharia digital para impulsionar a melhoria contínua do produto, abordar proativamente as causas dos problemas e criar novo valor para o cliente.
- Fornecer novos produtos e serviços digitais e digitalizar operações com integração de negócios com sistemas back-end como Enterprise Resource Planning (ERP) e Customer Relationship Management (CRM).
- Partilhe dados de forma segura e responda aos requisitos específicos de país/região para o consentimento do utilizador com os ecossistemas de Mobilidade inteligente mais amplos.
- A integração com sistemas de back-end para gerenciamento do ciclo de vida do veículo e gerenciamento de consentimento simplifica e acelera a implantação e o gerenciamento de soluções de veículos conectados usando uma cadeia de ferramentas de DevOps de veículos definidos por software.
- Armazene e forneça computação em escala para veículos e análises.
- Faça a gestão da conectividade do veículo a milhões de dispositivos de uma forma económica.
Potenciais casos de utilização
Os casos de uso do OEM Automotive visam melhorar o desempenho, a segurança e a experiência do usuário do veículo.
- Melhoria contínua do produto: Melhorar o desempenho do veículo através da análise de dados em tempo real e da aplicação de atualizações remotamente.
- Validação de Frota de Teste de Engenharia: Garantir a segurança e confiabilidade do veículo através da coleta e análise de dados de frotas de teste.
- Companion App & User Portal: Permitindo o acesso e controlo remoto do veículo através de uma aplicação personalizada e portal web.
- Reparação Proativa e Manutenção: Previsão e programação da manutenção do veículo com base em informações baseadas em dados.
Casos de uso mais amplos do ecossistema expandem aplicativos de veículos conectados para melhorar as operações da frota, seguros, marketing e assistência na estrada em todo o cenário de transporte.
- Operações de frotas comerciais conectadas: otimizando a gestão de frotas por meio de monitoramento em tempo real e tomada de decisões baseada em dados.
- Seguro Digital de Veículos: Personalização dos prémios de seguro com base no comportamento de condução e fornecimento de relatórios imediatos de acidentes.
- Marketing baseado em localização: Fornecer campanhas de marketing direcionadas aos motoristas com base em sua localização e preferências.
- Assistência em viagem: Prestar apoio e assistência em tempo real aos condutores necessitados, utilizando dados de localização e diagnóstico do veículo.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
Fiabilidade
A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte Visão geral do pilar de confiabilidade.
- Considere o dimensionamento horizontal para adicionar confiabilidade.
- Use unidades de escala para isolar regiões geográficas com diferentes regulamentos.
- Dimensionamento automático e instâncias reservadas: gerencie recursos de computação dimensionando dinamicamente com base na demanda e otimizando custos com instâncias pré-alocadas.
- Redundância geográfica: replique dados em vários locais geográficos para tolerância a falhas e recuperação de desastres.
Segurança
A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.
- Proteger a ligação ao veículo: Consulte a secção sobre gestão de certificados para compreender como utilizar certificados X.509 para estabelecer comunicações seguras com o veículo.
Otimização de custos
A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.
- Considerações relativas ao custo por veículo: os custos de comunicação devem depender do número de serviços digitais oferecidos. Calcule o RoI dos serviços digitais em relação aos custos de operação.
- Estabeleça práticas para análise de custos com base no tráfego de mensagens. O tráfego de veículos conectados tende a aumentar com o tempo, à medida que mais serviços são adicionados.
- Considere custos de rede ou de mobilidade
- Use o alias de tópico MQTT para reduzir o volume de tráfego.
- Use um método eficiente para codificar e compactar mensagens de carga útil.
- Tratamento do tráfego
- Prioridade da mensagem: os veículos tendem a ter padrões de utilização repetidos que criam picos de procura diários/semanais. Use as propriedades da mensagem para atrasar o processamento de mensagens não críticas ou analíticas para suavizar a carga e otimizar o uso de recursos.
- Dimensionamento automático com base na demanda.
- Considere por quanto tempo os dados devem ser armazenados quentes/quentes/frios.
- Considere o uso de instâncias reservadas para otimizar custos.
Excelência operacional
A excelência operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Visão geral do pilar de excelência operacional.
- Considere monitorar o software do veículo (logs/métricas/rastreamentos), os serviços de mensagens, os serviços de análise de dados e serviços de back-end relacionados como parte das operações unificadas de TI.
Eficiência de desempenho
Eficiência de desempenho é a capacidade da sua carga de trabalho para dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.
- Considere o uso do conceito de escala para soluções que escalam acima de 50.000 dispositivos, especialmente se várias regiões geográficas forem necessárias.
- Considere cuidadosamente a melhor maneira de ingerir dados (mensagens, streaming ou em lote).
- Considere a melhor maneira de analisar os dados com base no caso de uso.
Próximos passos
- Crie uma solução de Operações de Veículos Autónomos (AVOps) para uma visão mais ampla da engenharia digital automóvel para condução autónoma e assistida.
Recursos relacionados
Os seguintes artigos abordam alguns dos conceitos utilizados na arquitetura:
- O Padrão de Verificação de Declaração é usado para dar suporte ao processamento de mensagens grandes, como uploads de arquivos.
- Os Selos de Implantação abrangem os conceitos gerais necessários para dimensionar a solução para milhões de veículos.
- A limitação descreve o conceito necessário para lidar com um número excecional de mensagens de veículos.
Os artigos a seguir descrevem interações entre componentes na arquitetura: