Simplifique o desenvolvimento das suas soluções de IoT com arquiteturas de IoT

Os componentes na camada de dispositivos (mostrados na parte inferior da Figura 2) incluem sensores físicos e atuadores que estão conectados a dispositivos de IoT e os próprios dispositivos de IoT. Por si só, os sensores e atuadores geralmente não são considerados dispositivos “inteligentes”. No entanto, eles muitas vezes se conectam, direta ou indiretamente (com a ajuda de dispositivos de gateway) aos componentes da arquitetura que têm mais capacidade de processamento.

Esses dispositivos normalmente transmitem informações por protocolos wireless como Bluetooth, Zigbee, Wi-Fi, celular, RFID ou protocolos over-the-wire, como Ethernet. Houve avanços recentes em protocolos wireless com o lançamento de versões mais novas como Wi-Fi 6, Bluetooth 5 e Thread (um protocolo semelhante a Zigbee baseado em IPv6) que podem atender a sistemas de IoT de maneira muito mais eficiente em termos de economia de bateria, alcance, custo e velocidade.

É comum que os dispositivos de IoT se comuniquem de forma ascendente por meio de gateways, que são dispositivos intermediários com potência de processamento um pouco maior do que os dispositivos de IoT básicos. Embora nem sempre tenham sensores diretamente conectados, os dispositivos de gateway desempenham um papel importante no processo de aquisição de dados. Eles são capazes de realizar conversões básicas do analógico para o digital, escalabilidade e outros tipos de normalização das leituras de dados brutos dos sensores.

Camada de borda

A camada de borda (mostrada como nível intermediário na Figura 2) está relacionada aos serviços de análise e pré-processamento localizados na borda da rede. Essa camada funciona como uma central de integração para camadas downstream (camada de dispositivos). Ela fornece roteamento, bem como capacidade de controle de dispositivos para as camadas upstream. Essa camada pode ser conectada a sistemas pub-sub para transmitir eventos e também escutá-los.

A análise de borda ocorre em tempo real (ou em tempo quase real) porque processa o fluxo de dados no ponto em que os dados são coletados, à medida que chegam dos sensores. As tarefas básicas de pré-processamento, como filtragem e agregação de dados, são realizadas na borda. Em seguida, os principais dados pré-processados são transferidos de forma ascendente para serviços e aplicativos em nuvem, para processamento e análise adicionais. Algumas tecnologias open-source que podem ser integradas nessa camada são [Eclipse Kapua] (https://www.eclipse.org/kapua/), [Apache Camel] (https://camel.apache.org/), e Apache ActiveMQ.

Como, muitas vezes, as bordas podem ser o primeiro ponto de contato com a rede pública (internet), o controle de acesso e segurança se torna uma grande preocupação para essa camada. Muitos ataques são direcionados a gateways e bordas, em comparação com outros componentes da arquitetura.

Camada de nuvem

Depois de preparados, os dados são enviados de forma ascendente para processamento, armazenamento e uso adicionais dentro de aplicativos em nuvem, na camada de nuvem (mostrada como nível superior na Figura 2). Esses dados podem ser usados em análise estatística ou alimentados em pipelines de aprendizado de máquina para descobrir insights e tomar decisões.

Os aplicativos em nuvem que fazem o processamento dos dados são frequentemente complementados por aplicativos móveis e aplicativos clientes baseados na web que apresentam os dados a usuários finais em uma interface semelhante a um painel de controle e ferramentas para exploração e análise adicionais por meio de painéis de controle e visualizações. Tais aplicativos também fornecem interfaces para gerenciamento e monitoramento em nível elevado do sistema inteiro, bem como provisões como APIs públicas para permitir que outros sistemas aproveitem e se desenvolvam com base no sistema existente.

Implementar a “Segurança por Design”

Para conseguir segurança de ponta a ponta dentro de uma solução de IoT, a segurança precisa ser uma prioridade em todas as camadas da sua arquitetura de IoT. É necessário pensar sobre a segurança como uma preocupação transversal na sua arquitetura de IoT, não como uma camada separada da sua arquitetura de IoT a ser tratada isoladamente no final. Com tantos dispositivos conectados, a integridade do sistema como um tudo precisa ser mantida mesmo quando dispositivos ou gateways individuais são comprometidos. Tenha certeza de que sua arquitetura fornece suporte a várias camadas de defesa. Além disso, tenha certeza de que sua solução de IoT é capaz de identificar e neutralizar dispositivos que foram comprometidos, por exemplo, usando gateways para isolar dispositivos vulneráveis e para monitorar comunicações e padrões de uso a fim de detectar anomalias.

Adote normas e melhores práticas para estes aspectos da sua infraestrutura de IoT:

  • Dispositivo, aplicativo e identidade do usuário
  • Autenticação, autorização (2FA) e controle de acesso com base em funções
  • Chaves criptográficas e gerenciamento de certificados
  • Canais de comunicação seguros e integridade de mensagens (usando criptografia)
  • Dados contínuos de telemetria para monitorar o funcionamento dos dispositivos
  • Auditorias frequentes
  • Classificação de dados confidenciais e sensíveis, armazenamento criptografado
  • Segurança de protocolo, entrega segura de atualizações

Automatizar operações

Tenha certeza de que sua arquitetura de IoT permite automação e orquestração em todas as camadas. Planeje usar esses recursos de automação quando lançar sua solução de IoT para que seja possível permitir o desenvolvimento e a implementação rápidos e fáceis. Por exemplo, uma arquitetura de microsserviços na camada de borda ou de nuvem pode ser implementada com tecnologias de contêiner e orquestrada por ferramentas como Kubernetes. Esses recursos diminuem a probabilidade de erros em operações como configurar um novo dispositivo ou gateway ou implementar uma nova instância de um aplicativo em nuvem para processar os dados do dispositivo. Evitar a configuração manual garante que as operações sejam repetíveis. Isso é essencial para poder escalar para soluções de IoT que envolvam milhares ou até mesmo milhões de dispositivos conectados. O ideal é que seus sistemas permitam remotamente que você altere configurações, provisione e descubra novos dispositivos, envie atualizações e as implemente com tranquilidade. Implementações tranquilas podem envolver funcionalidades para realizar testes nos dispositivos antes de fazer as atualizações propriamente ditas, bem como implementação de estratégias de reversão para o caso de atualizações falharem por algum motivo (como falha em testes, cortes de energia etc.).

Conceber pensando na interoperabilidade

A diversidade de dispositivos, protocolos de rede e formatos de dados que podem ser adotados em suas soluções de IoT apresenta um dos maiores desafios arquiteturas para IoT. Se quiser adotar mais de uma plataforma de IoT na sua solução de IoT, será necessário considerar se as tecnologias usadas dentro de cada plataforma de IoT podem ser integradas em uma solução coesa.

Uma das melhores estratégias para manter a interoperabilidade em IoT é adotar normas. As normas proporcionam flexibilidade para trocar ou introduzir componentes adicionais e aproveitar as ferramentas open-source, desde que os novos componentes cumpram as mesmas normas que você já adotou.

As arquiteturas de referência também fornecem diretrizes para ajudar você a planejar sua arquitetura de IoT. Em geral, baseiam-se em normas e encapsulam padrões e melhores práticas de design. Adotar uma arquitetura de referência (e, em seguida, selecionar plataformas de IoT que a implementem seguindo as diretrizes descritas na arquitetura de referência) é uma estratégia confiável para manter a interoperabilidade dentro da arquitetura de IoT.

Seguir as arquiteturas de referência

Atualmente, existem muitas iniciativas que buscam padronizar as arquiteturas de IoT para aumentar a interoperabilidade. Fornecedores de plataformas de IoT e parceiros de pesquisa colaboram nessas iniciativas para definir as arquiteturas de referência de IoT. As arquiteturas de referência funcionam como uma base arquitetural, descrevendo blocos de construção de nível elevado que são usados dentro de soluções de IoT e estabelecendo uma terminologia compartilhada para os principais conceitos arquiteturais. Essas iniciativas utilizam uma ampla gama de soluções existentes para destacar padrões e melhores práticas de design eficazes.

Estas são algumas das arquiteturas de referência de IoT mais usadas:

As arquiteturas de referência podem ser usadas como modelo para o desenvolvimento de soluções de IoT. As arquiteturas listadas acima descrevem os componentes arquiteturais de IoT e suas funções em nível elevado. No entanto, é possível torná-los mais concretos ao mapear requisitos abstratos em tecnologias ou pilhas de tecnologia específicas.

Componentes de uma arquitetura de referência de IoT

Os detalhes das arquiteturas de referência variam dependendo do domínio de aplicação. Entretanto, a maioria das arquiteturas de referência de IoT descreve pelo menos estas capacidades:

  • Gerenciar dispositivos e seus dados
  • Conectividade e comunicação
  • Análise e aplicativos

Além disso, as arquiteturas de referência também costumam descrever mecanismos para tratar de requisitos não funcionais, como flexibilidade, confiabilidade, qualidade de serviço, interoperabilidade e integração.

Gerenciar dispositivos e seus dados

O aspecto de gerenciamento de dispositivos de uma arquitetura de referência diz respeito a gerenciar dispositivos e suas respectivas identidades e ciclos de vida. As arquiteturas de referência descrevem:

  • Integração de dispositivo (registro e identidade)
  • Gerenciamento e implementação de atualizações
  • Gerenciamento de configurações
  • Controle remoto com operações como desativar, ativar ou descomissionar dispositivos

Leia mais sobre o gerenciamento de dispositivos de IoT neste tutorial: “Como gerenciar seus dispositivos de IoT.”

Conectividade e comunicação

Gerenciar a conectividade e a comunicação bidirecional entre dispositivos, entre dispositivos e gateways e entre gateways e serviços e aplicativos em nuvem é outra capacidade fundamental muitas vezes descrita nas arquiteturas de referência de IoT. Para a computação de borda, as arquiteturas acionadas por eventos são uma boa opção, com a comunicação entre dispositivos e serviços usando protocolos publish/subscribe e brokers de mensagem.

Análise e aplicativos

Para gerar valor a partir dos dados que vêm de dispositivos de IoT, os aplicativos em nuvem fornecem ferramentas de visualização e análise que funcionam em fluxos ou lotes de dados a fim de identificar insights acionáveis. Dependendo do caso de uso, as ferramentas de gerenciamento de decisão e processo de negócios podem acionar alertas ou executar ações em resposta.

Leia mais sobre a análise de IoT neste tutorial: “Como entender os dados de IoT.”

Arquiteturas de referência concretas

Os padrões e diretrizes frequentemente fornecidos por uma arquitetura de referência podem ser extraídos de um domínio de IoT específico, como IoT Industrial, ou podem ser generalizados com base em soluções em diferentes domínios. É possível usar arquiteturas generalizadas de alto nível como modelos para criar arquiteturas mais concretas com domínio específico ou plataforma específica.

Muitas vezes, fornecedores de plataformas de IoT gerais fornecem arquiteturas de referência mais aplicadas, bem como guias de implementação para o desenvolvimento de soluções de IoT que seguem as arquiteturas de referência usando as ferramentas e os agentes de software fornecidos pela plataforma. Estas são algumas das arquiteturas de referência centradas em plataforma de IoT:

A arquitetura de referência IBM Industrie 4.0 é um exemplo de arquitetura de referência de domínio específico. Foi desenvolvida para aplicativos de IoT Industrial, com base na arquitetura de referência IIRA e na IBM IoT Reference Architecture.

Conclusão

É complexo conceber soluções de IoT acionadas por dados em função da escala e da heterogeneidade dos dispositivos e da conectividade envolvida. Neste artigo, apresentamos algumas estratégias para conceber arquiteturas de IoT seguras, flexíveis e escaláveis.