Conteúdo


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

Estratégias para criar soluções de IoT escaláveis, flexíveis e robustas

Comments

Um dos maiores desafios enfrentados ao planejar soluções de Internet das Coisas (IoT) é lidar com a complexidade. Um solução de IoT típica envolve diversos dispositivos de IoT heterogêneos, com sensores que produzem dados que serão analisados para gerar insights. Os dispositivos de IoT são conectados a uma rede diretamente ou por meio de um dispositivo de gateway, o que permite a comunicação entre eles, com serviços e aplicativos em nuvem (Figura 1).

Figura 1. Human view of Internet of Things (fonte: X-Force Research and Development, “IBM X-Force Threat Intelligence Quarterly 4Q 2014”, nº do doc. WGL03062USEN, data de publicação: novembro de 2014. http://www.ibm.com/security/xforce/downloads.html)

Computação de borda descreve o trabalho que ocorre nas bordas da rede de IoT, onde os dispositivos físicos se conectam à nuvem. Visando reduzir a latência, melhorar a privacidade e reduzir os custos de largura da banda nos aplicativos de IoT acionados por dados, as arquiteturas de computação de borda estão se tornando cada vez mais comuns em IoT.

Neste artigo, vou discutir as seguintes estratégias que podem ser aplicadas ao planejar arquiteturas de IoT acionadas por dados. Estas estratégias ajudam a simplificar o desenvolvimento, gerenciar a complexidade e assegurar que as soluções de IoT continuem escaláveis, flexíveis e robustas:

  • Adote uma arquitetura em camadas
  • Segurança por design
  • Automatize operações
  • Projete visando interoperabilidade
  • Siga uma arquitetura de referência

Adote uma arquitetura em camadas

Uma arquitetura descreve a estrutura da solução de IoT, incluindo os aspectos físicos (ou seja, as coisas) e os aspectos virtuais (como serviços e protocolos de comunicação). Adotar uma arquitetura com multicamadas permite melhorar o entendimento de como todos os aspectos mais importantes da arquitetura operam de forma independente, antes de serem integrados nos aplicativos de IoT. Esta abordagem modular ajuda a gerenciar a complexidade das soluções de IoT.

Para aplicativos de IoT acionados por dados que envolvem análises de borda, uma arquitetura básica de três camadas, que é mostrada na Figura 2, captura o fluxo de informações dos dispositivos, envia para os serviços de borda e, em seguida, envia para os serviços em nuvem. Uma arquitetura de IoT mais detalhada também incluiria camadas verticais que atravessam as outras camadas, como gerenciamento de identidade ou segurança de dados.

Figura 2. Camadas de uma arquitetura de IoT

Camadas de dispositivo

Os componentes na camada de dispositivo (mostrados na parte inferior em Figura 2) incluem sensores físicos e atuadores que são conectados aos dispositivos de IoT e os próprios dispositivos de IoT. Em geral, os sensores e atuadores sozinhos, não são considerados dispositivos "inteligentes", mas geralmente eles se conectam de modo direto ou sem fio por tecnologias como Bluetooth LE ou ZigBee aos dispositivos de IoT que têm mais capacidade de processamento.

Alguns dispositivos de IoT comunicam-se diretamente com serviços e aplicativos em nuvem relacionados. No entanto, é comum que os dispositivos de IoT se comuniquem para enviar dados por meio de gateways, que são dispositivos intermediários com um pouco mais de porder de processamento do que os dispositivos básicos de IoT. Embora nem sempre eles tenham sensores conectados diretamente, os dispositivos de gateway têm uma função importante no processo de aquisição de dados. Eles podem executar conversões básicas de analógico para digital, ajuste de escala e outras normalizações das leituras de dados brutas do sensor.

Camada de borda

A camada de borda (mostrada como a camada do meio em Figura 2) está relacionada aos serviços de análise e de pré-processamento localizados na borda da rede. As análises de borda ocorrem em tempo real (ou quase em tempo real) por meio do processamento do fluxo de dados no momento em que os dados são coletados à medida que saem dos sensores. As tarefas de pré-processamento básicas como filtragem e agregação de dados são executadas na borda e, em seguida, os principais dados pré-processados são enviados aos serviços e aplicativos em nuvem para processamento e análise adicionais.

Camada de nuvem

Depois que os dados são preparados, eles são enviados para processamento adicional, armazenamento e uso nos aplicativos em nuvem, na camada de nuvem (mostrada como a camada superior em Figura 2). Os aplicativos em nuvem que executam o processamento de dados geralmente são complementados por aplicativos móveis e aplicativos clientes baseados na web que apresentam os dados aos usuários finais e fornecem acesso a ferramentas para exploração e análise adicionais por meio de painéis e visualizações.

Implemente a "segurança por design"

Para atingir a segurança de ponta a ponta em uma solução de IoT, a segurança precisa ser uma prioridade em todas as camadas da arquitetura de IoT. É necessário pensar na segurança como uma preocupação transversal na arquitetura de IoT e não como uma camada separada da arquitetura de IoT que será manipulada de forma isolada no final. Com tantos dispositivos conectados, a integridade dos sistemas como um todo precisa ser mantida mesmo quando os dispositivos ou gateways individuais estão comprometidos. Assegure-se de que sua arquitetura ofereça suporte para várias camadas de defesa. Além disso, garanta que a solução de IoT possa identificar e neutralizar dispositivos que se tornam comprometidos, por exemplo, usando gateways para isolar dispositivos vulneráveis e para monitorar as comunicações e os padrões de uso buscando detectar anomalias.

É necessário adotar padrões e melhores práticas para estes aspectos da infraestrutura de IoT:

  • Identidade de dispositivo, de aplicativo e de usuário, autenticação, autorização e controle de acesso
  • Gerenciamento de chave
  • Segurança de dados
  • Proteja os canais de comunicação e a integridade da mensagem (usando criptografia)
  • Auditoria
  • Proteja o desenvolvimento e a entrega

Automatize operações

Assegure-se de que a arquitetura de IoT ofereça suporte para automação e orquestração em todas as camadas. Planeje usar recursos de automação ao lançar a solução de IoT para proporcionar rapidez e facilidade de desenvolvimento e implementação. Por exemplo, uma arquitetura de microsserviços na borda ou na camada de nuvem pode ser implementada usando tecnologias de contêiner e orquestrada usando ferramentas como o Kubernetes, fornecidas pela plataforma de IoT. Esses recursos executam 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, com menor propensão ao erro. Evitar a configuração manual assegura que as operações possam ser repetidas, o que é essencial para garantir a capacidade de escalar soluções de IoT que envolvem milhares ou milhões de dispositivos conectados.

Projete visando interoperabilidade

A diversidade de dispositivos, os protocolos de rede e os formatos de dados adotados nas soluções de IoT, representam alguns dos maiores desafios de arquitetura para IoT Se você pretende adotar mais de uma plataforma de IoT em sua solução de IoT, é necessário considerar se as tecnologias usadas em cada plataforma de IoT podem ser integradas em uma solução coesa.

Uma das melhores estratégias para manter a interoperabilidade em IoT é adotar padrões. Os padrões oferecem flexibilidade para trocar ou introduzir novos componentes, desde que os novos componentes estejam em conformidade com os mesmos padrões que já foram adotados.

As arquiteturas de referência também oferecem diretrizes para auxiliar no planejamento da arquitetura de IoT. Geralmente, elas são baseadas em padrões e envolvem modelos de design e melhores práticas. Adotar uma arquitetura de referência e, em seguida, selecionar as plataformas de IoT para implementação seguindo as diretrizes descritas na arquitetura de referência, é uma estratégia confiável para manter a interoperabilidade na arquitetura de IoT.

Siga as arquiteturas de referência

Existem diversas iniciativas atualmente que buscam padronizar as arquiteturas de IoT para melhorar a interoperabilidade. Os fornecedores de plataformas de IoT e os parceiros de pesquisa colaboram nessas iniciativas para definir as arquiteturas de referência de IoT. As arquiteturas de referência agem como uma base de arquitetura, descrevendo em linhas gerais os blocos de construção que são usados nas soluções de IoT e estabelecendo uma terminologia compartilhada para os principais conceitos de arquitetura. Essas iniciativas baseiam-se em uma ampla variedade de soluções existentes para destacar os padrões de design e as melhores práticas efetivas.

Algumas arquiteturas de referência de IoT amplamente referenciadas incluem:

  • Internet of Things – Architecture (IoT-A): o modelo de referência e a arquitetura IoT-A foram desenvolvidos por meio de um projeto de lighthouse na UE em 2013. A IoT-A foi projetada para ser usada como base para o desenvolvimento de arquiteturas concretas e aplicáveis a uma variedade de domínios.
  • IEEE P2413 - Standard for an Architectural Framework for the Internet of Things (IoT): esse projeto de normatização do IEEE em andamento busca identificar o que há em comum nos domínios de IoT, incluindo fabricação, prédios mais inteligentes, cidades inteligentes, sistemas de transporte inteligentes, smart grid e assistência médica.
  • Industrial Internet Reference Architecture (IIRA) – a IIRA foi desenvolvida especificamente para aplicativos de IoT industriais pelo Industrial Internet Consortium, que foi fundado em março de 2014 pelas empresas AT&T, Cisco, General Electric, IBM e Intel.

As arquiteturas de referência podem ser usadas como um modelo para desenvolver soluções de IoT. As arquiteturas listadas acima descrevem os componentes da arquitetura de IoT e suas funções em termos gerais, mas elas podem se tornar mais concretas por meio do mapeamento de requisitos abstratos para tecnologias específicas ou pilhas de tecnologia.

Componentes de uma arquitetura de referência de IoT

Os detalhes das arquiteturas de referência diferem dependendo do domínio de aplicação, no entanto, a maioria das arquiteturas de referência de IoT descrevem, pelo menos, os seguintes recursos:

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

Além disso, as arquiteturas de referência geralmente também descrevem os mecanismos para atender a requisitos não funcionais como flexibilidade, confiabilidade, qualidade de serviço, interoperabilidade e integração.

Gerenciadores de dispositivos e seus dados

O aspecto de gerenciamento de dispositivo de uma arquitetura de referência está relacionado ao gerenciamento de dispositivos, de suas identidades e de seus ciclos de vida. As arquiteturas de referência descrevem:

  • Onboarding de dispositivo
  • Atualização de firmware de dispositivo
  • Aplicação de novas configurações
  • Acionamento de operações remotas como desativar, ativar ou desatribuir dispositivos

Conectividade e comunicação

O gerenciamento da conectividade e a comunicação bidirecional entre os dispositivos, entre os dispositivos e os gateways e entre os gateways e os serviços e aplicativos em nuvem é outro recurso importante que geralmente é descrito 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 comunicação entre dispositivos e serviços usando protocolos de publicar/assinar e message brokers.

Análise e aplicativos

Para extrair valor dos dados provenientes dos dispositivos de IoT, os aplicativos em nuvem oferecem ferramentas de visualização e análise que operam em fluxos ou em lotes de dados para identificar insights acionáveis. Dependendo do caso de uso, as ferramentas de gerenciamento de decisão e de processo de negócios podem acionar alertas ou realizar ações em resposta.

Arquiteturas de referência concretas

Os padrões e as diretrizes que geralmente são fornecidos por uma arquitetura de referência podem ser obtidos de um domínio de IoT específico, como IoT industrial, ou podem ser generalizados de soluções em uma variedade de domínios. As arquiteturas generalizadas podem ser usadas como modelos para criar arquiteturas mais concretas que sejam específicas do domínio ou específicas da plataforma.

Os fornecedores de plataforma de IoT de propósito geral também oferecem arquiteturas de referência mais aplicadas, juntamente com guias de implementação para desenvolver soluções de IoT que estejam em conformidade com suas arquiteturas de referência usando as ferramentas e os agentes de software fornecidos pela plataforma. Algumas arquiteturas de referência centradas na plataforma de IoT incluem:

A arquitetura de referência IBM Industrie 4.0 é um exemplo de uma arquitetura de referência específica do domínio, projetada para aplicativos de IoT industriais, com base na arquitetura de referência IIRA e na arquitetura de referência de IoT da IBM.

Conclusão

Projetar soluções de IoT acionadas por dados é complexo devido à escala e à heterogeneidade dos dispositivos e da conectividade envolvida. Neste artigo, eu apontei algumas estratégias para projetar arquiteturas de IoT seguras, flexíveis e escaláveis.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Internet of Things
ArticleID=1050583
ArticleTitle=Simplifique o desenvolvimento de soluções de IoT com arquiteturas de IoT
publish-date=10042017