IoT Edge: computação de borda de um jeito fácil

Por Valmir Junior|
Atualizado: Jul 2023 |
Publicado: Fev 2021

O IoT Edge é um poderoso produto Microsoft, criado para otimizar a computação IoT de borda. Lançado em 2018, o serviço reduz a complexidade do desenvolvimento IoT, o que facilita a integração de embarcados com a nuvem e diversos recursos próprios da Microsoft.

Contudo, antes de detalhar essa tecnologia, vamos dar um passo atrás, para garantir que temos o conceito de computação de borda bem definido.

Partindo do princípio

Que a computação em nuvem é uma grande tendência, todos nós já sabemos. Mas então, o que essa tal “computação de borda”, uma arquitetura dos anos 90, ainda está fazendo por aí?

Vamos a uma analogia: imagine que você gerencia uma operação de extração de minério. Após extrair centenas de toneladas de minério de ferro bruto, esse metal acaba em alguma fábrica para ser processado. Mas, o quão bruto ele deve ser despachado? É interessante fazer um pré-processamento do material antes de colocá-lo em transporte: vale a pena retirar toneladas de material facilmente separável ali mesmo na operação, tornando o transporte mais barato, rápido e eficiente.

O paralelo ilustra, com boa proximidade, um dos porquês de ainda explorarmos essa arquitetura. Imagine que o minério de ferro são os seus dados brutos; logo, iremos deduzir que um pré-processamento nos traria grande economia no tráfego de rede, diminuiria a defasagem de resposta do sistema  uma vez que teríamos de trafegar menos pacotes pela internet – e, portanto, traria ganhos em eficiência.

E esse é apenas um dos benefícios, já que as aplicações não param por aí: esse tipo de abordagem também pode conferir uma camada a mais de segurança ao seu sistema embarcado. Isso é possível porque, em muitos casos, ir à nuvem pública não é algo necessário, sendo possível realizar toda a manipulação de dados na borda da rede. Dessa forma, podemos aplicar a computação na borda para disparar uma resposta em tempo real ao usuário, realizando todo o processamento necessário sem uso da banda de rede.

Quer ver mais conteúdos como esse?

Aliados, não concorrentes: a relação Cloud x Edge

Iot Edge - Cloud x Edge

Figura 1

Como ilustrado no esquema acima (figura 1), a relação borda-nuvem não é de concorrência, mas de coerência. A nuvem entrega também incontáveis vantagens, como o poder – quase infinito – de processamento, portanto, a dinâmica Cloud x Edge deve ser corretamente planejada, a fim de extrair o melhor de cada uma.

Mas, como colocaríamos essa teoria em prática? Para isso, utilizaríamos o já citado produto Microsoft. Primeiramente, vale salientar que o IoT Edge, a nível de runtimefunciona como um orquestrador de módulos conteinerizados, regulando o ciclo de vida, comportamento e comunicação entre eles

Toda essa estrutura é pensada para ser instalada nos mais diversos dispositivos físicos, basta que executem Windows ou Linux e tenham 128 MB de memória – uma especificação bem razoável para os computadores embarcados modernos. Isso permite utilizá-lo em hardwares bem conhecidos, como o PIC-IoT ou mesmo o Raspbery Pi.

Além disso, ele será responsável por levantar os módulos da sua aplicação e fornecer uma estrutura para que os módulos possam estabelecer um canal assíncrono de comunicação entre eles. Essa é a porção totalmente gratuita e open source do produto, que pode ser encontrada no GitHub.

Essa estrutura toda, porém, logo necessitará de uma extensão na nuvem. Afinal, é  essencial termos um sistema capaz de gerenciar e monitorar os nossos dispositivos. Além de ajudar a versionar, atualizar e reconfigurar nossa aplicação de forma totalmente automatizada. Para isso, temos o IoT Hub.

A ponte entre o desenvolvedor e o produto: o IoT Hub

IoT Hub é a porção pay-as-you-go do produto, capaz de fazer a ponte entre o desenvolvedor e o dispositivo. Ele será o responsável, por exemplo, por entregar a nova versão do código ao IoT Edge. Quando o IoT Edge procurar por atualizações, o Hub será o responsável por disponibilizar o status de funcionamento do autômato, sem que você precise se  conectar diretamente a ele.

O IoT Hub também concentrará os eventos enviados pelos nossos dispositivos, uma vez que ele foi construído com base no já consagrado recurso de Event Hubs da Azure. Essas tecnologias (IoT Edge e IoT Hub), portanto, andarão sempre em conjunto.

Fluxo proposto

Em alto nível, um fluxo contínuo de desenvolvimento e implantação poderia ser o seguinte:

  1. Desenvolver as novas funcionalidades  agregadas aos módulos, ou mesmo desenvolver novos módulos;
  2. Publicar as imagens desses módulos no Container Registry (repositório de imagens Docker da Azure);
  3. Publicar no IoT Hub um manifesto padrão que explicita a nova versão e possíveis alterações de configuração;
  4. Esperar um intervalo pré-determinado para que o dispositivo físico, com IoT Edge instalado, conecte-se ao seu recurso IoT Hub e seja notificado da nova versão;
  5. Esperar que o dispositivo faça download das novas imagens;
  6. Monitorar externamente o dispositivo (pelo portal do IoT Hub) e certificar o sucesso da implantação;
  7. Retomar o fluxo de desenvolvimento.

É justamente essa simplicidade que torna esse produto tão atrativo. Por permitir emplacar robustos projetos de IoT com diversas facilitações, sobretudo no que diz respeito à implantação e ao monitoramento. Além disso, o produto acompanha uma curva de aprendizado muito interessante. Um plano gratuito (free tier) suficiente para já começar a praticar e, por fim, um selo Microsoft de qualidade.

Vale lembrar que as funcionalidades e particularidades desse serviço vão bem além do que tratamos nesse artigo. Então porque não embarcar no quickstart oficial agora mesmo? Basta clicar aqui!

Quer saber mais?

Desenvolvimento de Software

Confira outros artigos

WhatsApp Business na sua estratégia: muito além de um chatbot

Podemos dizer adeus a conversas monótonas com chatbots limitados e sem personalidade. Daqui em diante, veremos interfaces conversacionais oferecendo experiências digitais cada vez mais sofisticadas. Em outro artigo, abordamos como mais experiências estão sendo convertidas, progressivamente, em conversas e como essa tendência é potencializada pelos avanços nos modelos de Inteligência Artificial e nos canais de […]

Desenvolvimento de Software

inteligencia-artificial-ia-como-otimizacao-para-grandes-empresas

A Inteligência Artificial (IA) e otimização operacional nas empresas

Sumário1 Como a Inteligência Artificial (IA) pode otimizar operações empresariais e aumentar a eficiência? Descubra aqui!  2 Automatização de tarefas repetitivas e demoradas 2.1 Exemplos de IA para economia de tempo2.2 10 exemplos de como utilizar a Inteligência Artificial (IA) para automatizar tarefas repetitivas e/ou demoradas: 3 Melhoria da eficiência e redução de custos com Inteligência Artificial (IA)3.1 […]

Desenvolvimento de Software

Desenvolvimento Android e iOS

Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo

Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos.  Portanto, agora é a hora de explorar as oportunidades […]

Desenvolvimento de Software

Veja outros artigos de Desenvolvimento de Software