Editar

Partilhar via


Controlo de frota de veículos guiados automatizados

Azure App Service
Azure Container Apps
Azure Container Registry
Azure IoT Hub
Azure Virtual Network

Este exemplo de arquitetura mostra uma abordagem de ponta a ponta para um fabricante de equipamento original automotivo (OEM) e inclui uma arquitetura de referência e várias bibliotecas de código aberto de suporte publicadas que podem ser reutilizadas. A Microsoft rearquitetou o software de controle de frota para ser altamente disponível, redundante geograficamente e neutro em relação ao fornecedor, e para ser executado em um contexto de nuvem híbrida.

Arquitetura

Redundância geográfica com failover de tempo de inatividade zero para 99,9% de disponibilidade e recuperação de desastres

A captura de tela de uma instância do back-end, que consiste nos seguintes componentes, é implantada em duas regiões do Azure: Hub IoT do Azure, Ingestion, RabbitMQ, Mission State, Vehicle State, Job Manager e Geo DB.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de Trabalho

  • Uma instância do back-end, que consiste nos seguintes componentes, é implantada em duas regiões do Azure: Azure IoT Hub, Ingestion, RabbitMQ, Mission State, Vehicle State, Job Manager e Geo DB. O Hub IoT se conecta ao conjunto de aplicativos criados usando uma arquitetura de microsserviço que pode ser implantada no Serviço de Aplicativo do Azure usando o recurso Aplicativos Web do Serviço de Aplicativo do Azure, Aplicativo Web para Contêineres ou Kubernetes.
  • Um sistema de eleição de líderes determina qual back-end controla AGVs no chão de fábrica em um determinado momento. Se o back-end no comando falhar, a eleição do líder transfere imediatamente o controle para o back-end na outra região.
  • Graças a essa arquitetura de failover com redundância geográfica e tempo de inatividade zero, o software de controle AGV executado no Azure atinge 99,9% de disponibilidade, desde que a conexão com a Internet e os subsistemas externos, como o SAP, não sejam fatores limitantes.

Kubernetes e RabbitMQ para implantações independentes de datacenter

Captura de tela do Kubernetes e do RabbitMQ implantados em um dispositivo Azure IoT Edge.

Transfira um ficheiro do Visio desta arquitetura.

Em cenários em que a conexão com a Internet entre uma planta de produção e o Azure é um fator limitante, nosso software de controle AGV também pode ser implantado em nós de computação locais. Usando Kubernetes e RabbitMQ como tecnologias agnósticas de plataforma, a camada de aplicativo descrita na seção anterior é implantada em um dispositivo Azure IoT Edge.

Implementação da especificação VDA 5050 para comunicação AGV-vendor-agnostic

Captura de ecrã da solução de controlo de frota AGV back-end no Azure.

Transfira um ficheiro do Visio desta arquitetura.

Graças à conformidade com a especificação do conector do veículo VDA 5050, nosso software de controle AGV pode se comunicar com todos os tipos de AGVs de diferentes fornecedores que também estão em conformidade com o VDA 5050.

Fluxo de Trabalho

Nesta arquitetura, você pode ver uma visão geral dos diferentes serviços e componentes usados para executar a solução de controle de frota AGV back-end no Azure:

  • Quando os desenvolvedores confirmam um novo código, o GitHub Actions verifica automaticamente o código para encontrar rapidamente vulnerabilidades e erros de codificação. Ele também pode ser usado para implantar aplicativos e componentes de infraestrutura automaticamente.
  • Um registo de contentores armazena as imagens de contentores utilizadas para os diferentes serviços do back-end de controlo da frota AGV.
  • Os serviços back-end são implantados no Web App for Containers.
  • Esses serviços de back-end podem se conectar a sistemas externos usando o protocolo VDA 5050. Eles também podem se conectar a uma plataforma de streaming gerenciada, como Kafka, e podem armazenar informações do veículo em um banco de dados SQL do Azure.
  • O Azure Key Vault armazena senhas, chaves e certificados.
  • O Application Insights implementa o registro em log e o monitoramento dos aplicativos executados como serviços back-end.
  • As identidades gerenciadas se conectam aos diferentes serviços e recursos no Azure, eliminando a necessidade de os desenvolvedores gerenciarem credenciais. Eles fornecem uma identidade para os aplicativos usarem ao se conectar a recursos que oferecem suporte à autenticação do Microsoft Entra.

Componentes

O Serviço de Aplicativo do Azure é uma plataforma como serviço (PaaS) para criar e hospedar aplicativos em máquinas virtuais (VMs) gerenciadas. Ele gerencia a infraestrutura de computação subjacente na qual seus aplicativos são executados. O Serviço de Aplicativo fornece monitoramento de cotas de uso de recursos e métricas de aplicativos, registro de informações de diagnóstico e alertas com base em métricas.

A Rede Virtual do Azure é o bloco de construção fundamental para a sua rede privada no Azure. Esse serviço permite que muitos tipos de recursos do Azure, como Máquinas Virtuais do Azure, se comuniquem com segurança entre si, com a Internet e com redes locais.

O Hub IoT é um serviço gerenciado PaaS, hospedado na nuvem, que atua como um hub de mensagens central para comunicação bidirecional entre um aplicativo IoT e os dispositivos que ele gerencia.

Os Aplicativos de Contêiner do Azure são um serviço de contêiner sem servidor totalmente gerenciado para criar e implantar contêineres em escala.

O Registro de Contêiner do Azure é um serviço de registro do Docker gerenciado e privado baseado no Registro do Docker 2.0 de código aberto. Você pode usar os registros de contêiner do Azure com seus pipelines de desenvolvimento e implantação de contêiner existentes ou pode usar as Tarefas do Registro de Contêiner do Azure para criar imagens de contêiner no Azure. Crie sob demanda ou automatize totalmente as compilações com gatilhos, como confirmações de código-fonte e atualizações de imagem base.

O Microsoft Entra ID é o serviço de gerenciamento de identidade e acesso baseado em nuvem que autentica usuários, serviços e aplicativos.

O Armazenamento do Azure oferece uma solução de armazenamento em nuvem durável, altamente disponível e massivamente escalável. Ele inclui recursos de armazenamento de objetos, arquivos, discos, filas e tabelas.

O RabbitMQ é um software de agente de mensagens de código aberto que originalmente implementou o Advanced Message Queuing Protocol e, desde então, foi estendido com uma arquitetura de plug-in para suportar Streaming Text Oriented Messaging Protocol, MQ Telemetry Transport e outros protocolos.

As Máquinas Virtuais do Azure fornecem recursos de computação escalonáveis e sob demanda que oferecem a flexibilidade da virtualização, sem a necessidade de comprar e manter o hardware físico.

O Banco de Dados SQL do Azure é um mecanismo de banco de dados PaaS totalmente gerenciado que lida com a maioria das funções de gerenciamento de banco de dados, como atualização, aplicação de patches, backups e monitoramento, sem envolvimento do usuário.

O Azure Key Vault é um serviço de nuvem para armazenar e acessar segredos com segurança. Um segredo é qualquer coisa que você queira controlar rigorosamente o acesso, como chaves de API, senhas, certificados ou chaves criptográficas.

O Application Insights, um recurso do Azure Monitor, é um serviço de gerenciamento de desempenho de aplicativo (APM) extensível para desenvolvedores e profissionais de DevOps. Você pode usá-lo para monitorar aplicativos ao vivo. Ele deteta automaticamente anomalias de desempenho e inclui poderosas ferramentas de análise para ajudá-lo a diagnosticar problemas e entender o que os usuários realmente fazem com seu aplicativo.

Alternativas

Essa arquitetura usa o Kubernetes e o recurso Aplicativos Web do Serviço de Aplicativo do Azure para executar os aplicativos dessa solução. Como alternativa, você pode executar esses microsserviços em Instâncias de Contêiner do Azure, que oferece a maneira mais rápida e simples de executar um contêiner no Azure, sem precisar adotar um serviço de nível superior, como o Serviço Kubernetes do Azure (AKS).

O exemplo local usa máquinas virtuais do Azure, que também podem ser substituídas por tecnologias de contêiner.

Outra opção para executar esses serviços está no Serviço Kubernetes do Azure (AKS). Isso oferece Kubernetes sem servidor para executar microsserviços, uma experiência integrada de integração contínua e implantação contínua (CI/CD) e segurança e governança de nível empresarial.

Considere também usar o Azure Monitor em combinação com o Application Insights para analisar e otimizar o desempenho de seus aplicativos, contêineres, bancos de dados e outros recursos e para monitorar e diagnosticar problemas de rede.

Esta arquitetura usa RabbitMQ como o agente de mensagens. O Microsoft Azure também tem suporte nativo para soluções de mensagens, como o Armazenamento de Filas do Azure ou o Barramento de Serviço do Azure. Para obter uma comparação, consulte Filas do Armazenamento do Azure e filas do Barramento de Serviço - comparadas e contrastadas.

Os aplicativos e serviços no Azure são implantados usando scripts Terraform . Considere usar modelos nativos do Azure Resource Manager (modelos ARM) ou Bicep para criar scripts.

Detalhes do cenário

A fabricação automotiva depende de veículos guiados automatizados (AGVs) para entregar peças às linhas de montagem. Os AGVs são uma parte crítica da fabricação just-in-time e da logística automatizada de chão de fábrica. O chão de fábrica que usa AGVs geralmente enfrenta três desafios:

  • Disponibilidade. Qualquer interrupção do serviço interrompe a produção.
  • Conectividade. O chão de fábrica frequentemente não tem uma conexão confiável com a nuvem pública.
  • Bloqueio do fornecedor. As soluções AGV tradicionais dependem de protocolos de comunicação proprietários.

Este exemplo de arquitetura está dividido em três áreas operacionais:

  • Uma arquitetura de referência de controle de frota baseada no Azure com redundância geográfica, failover de tempo de inatividade zero, disponibilidade de 99,9% e recuperação de desastres eficiente.
  • Uma implantação independente de datacenter e local construída em Kubernetes e RabbitMQ.
  • Comunicação AGV neutra do fornecedor construída sobre a especificação VDA 5050 comum.

Potenciais casos de utilização

Esta solução é ideal para as indústrias de fabricação, automotiva e de transporte. Aplica-se aos seguintes cenários:

  • O cliente está atualmente a utilizar AGV no seu processo de fabrico.
  • O cliente experimenta baixa disponibilidade com os AGVs, o que impacta seu retorno sobre o investimento (ROI).
  • O chão de fábrica tem uma conexão inconsistente com a nuvem pública.
  • O cliente é membro da Open Manufacturing Platform (OMP).
  • O cliente é membro do grupo de trabalho do Sistema de Transporte Autónomo OMP (OMP ATS).

Problemas-chave

A produção de bens de baixo custo depende da automação do processo de fabricação e da entrega just-in-time de peças para as linhas de montagem. Ao transportar automaticamente as peças para as linhas de montagem, os veículos guiados automatizados contribuem tanto para a fabricação just-in-time quanto para a automação da logística do chão de fábrica. Numa típica fábrica de produção em massa de automóveis de passageiros, por exemplo, é lançado um automóvel de passageiros por minuto. Portanto, cada minuto de interrupção de uma linha de montagem em uma planta de produção causa um prejuízo financeiro – na ordem de dezenas de milhares de dólares americanos. Os OEMs automotivos exigem um alto nível de confiabilidade e disponibilidade para seus sistemas automatizados e enfrentam uma série de desafios:

  • Problema de disponibilidade. O software de controle de frota AGV existente não atende ao requisito de disponibilidade de 99,9%.
  • Problema de conectividade. Algumas unidades de produção não têm uma ligação à Internet suficientemente estável com a largura de banda necessária para permitir a comunicação entre o software de controlo de frota AGV alojado na nuvem pública do Azure e os AGV no chão de fábrica. Portanto, hospedar o software de controle de frota AGV em um datacenter que está fora da intranet de tal planta de produção não era uma opção.
  • Problema de bloqueio do fornecedor AGV. Não foi possível trocar os AGV existentes por novos de um fornecedor diferente, porque o software de controlo da frota AGV dependia do protocolo de comunicação proprietário dos AGV existentes.

Uma arquitetura que suporte redundância geográfica com failover de tempo de inatividade zero para 99,9% de disponibilidade e recuperação de desastres pode resolver esses problemas.

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.

Disponibilidade e escalabilidade

Os aplicativos e serviços que compõem a solução de controle de frota AGV são implantados em duas regiões do Azure usando zonas de disponibilidade, que são locais físicos exclusivos dentro das regiões do Azure que ajudam a proteger VMs, aplicativos e dados contra falhas de datacenter. O Serviço de Aplicativo do Azure e o AKS também podem ser implantados em zonas de disponibilidade. O Hub IoT fornece alta disponibilidade intrarregião implementando redundâncias em quase todas as camadas do serviço.

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.

Use o Microsoft Entra ID para controle de identidade e acesso e use o Azure Key Vault para gerenciar chaves e segredos.

DevOps

Para implantar os microsserviços no Kubernetes ou no Serviço de Aplicativo do Azure automaticamente, é melhor usar processos de CI/CD. Considere usar uma solução como o Azure DevOps ou o GitHub Actions.

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.

Em geral, use a calculadora de preços do Azure para estimar custos e use a calculadora AKS para estimar os custos de execução do AKS no Azure. Para saber mais sobre outras considerações, consulte a seção "Otimização de custos" no Microsoft Azure Well-Architected Framework.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Próximos passos

Documentação do produto:

Caminhos de aprendizagem da Microsoft:

Artigos de visão geral do Centro de Arquitetura do Azure:

Arquiteturas relacionadas: