Recentemente, durante a conferência Connect(); , a Microsoft anunciou uma nova versão kit de desenvolvimento de software (SDK) para IoT Gateway chamado IoT Edge, que permite computação na ponta dos cenários de IoT.
O IoT Edge usa módulos para fornecer unidades de execução como parte do processamento de mensagens do dispositivo e estende o SDK anterior permitindo que os contêineres sejam executados como parte desse pipeline de processamento. Podem ser usados tanto contêineres Linux quanto Windows para Docker.
Fonte da imagem: https://docs.microsoft.com/en-us/azure/iot-edge/how-iot-edge-works
O IoT Edge agrega várias novas capacidades ao SDK anterior, incluindo:
- Toolkit de IA para o Azure IoT Edge
- Azure Machine Learning
- Azure Stream Analytics
- Azure Functions
- Módulos customizados
O toolkit de IA é um conjunto de scripts, códigos e tutoriais criados para ajudar a entender como aplicar o aprendizado de máquina em seu máximo potencial. O Azure Stream Analytics usa a mesma linguagem SQL da solução baseada em nuvem, e o Azure Functions exponencia o mesmo processo de desenvolvimento do Azure Functions que é então agrupado para a implementação pelo IoT Edge. Códigos e soluções podem ser reutilizados, pois são mantidos os processos de desenvolvimento para cada módulo compatível com a versão baseada em nuvem.
Os módulos customizados do IoT Edge podem ser criados em várias linguagens; atualmente estão limitadas para C#, C e Python (prometido mais para frente), e o Visual Studio Code pode ser utilizado para desenvolver, debugar e implementar este código em containers para implementação na ponta.
Nos cenários de dispositivos, as soluções de IoT proporcionam acesso ao dispositivo clone, ou dispositivo sombra, como é chamado pela Amazon no AWS IoT Core. Estas soluções armazenam a última informação de configuração do dispositivo. No IoT Edge, a Microsoft estende este conceito com um módulo clone, que fornece o mesmo estilo de configuração baseada em nuvem dos módulos e que fazem parte do pipeline de processamento no dispositivo de ponta. Isto pode ser utilizado para atualizar e reconfigurar um dispositivo de ponta ou porta quando requisitado como parte da gestão de ciclo de vida normal.
A configuração do IoT Edge e seus containers podem ser implementada a partir do hub da Microsoft Azure IoT e utilizar os mesmos processos de segurança.
Muitos cenários de IoT podem ser beneficiar da computação de ponta, por exemplo, o processamento de imagem para procurar por defeitos nos processos de fabricação, pré-agregando dados do sensor antes de enviar para a nuvem ou rodando algoritmos de aprendizado de máquina para proporcionar inteligência na ponta.
Isto é particularmente útil quando a latência ou a largura de banda são um problema, ou quando o processamento local pode exibir avisos e alertas em casos no qual a conexão com a Internet não pode ser garantida.
Diversos clientes já utilizaram o IoT Edge em preview privado. No anúncio, Matt Boujonnier, arquiteto de aplicações analytics da Schneider Electric, disse:
O Azure IoT Edge provê uma maneira fácil de empacotar e implementar as aplicações de aprendizado de máquina. Tradicionalmente, o aprendizado de máquina é algo que apenas executa em nuvem, mas para muitos cenários de IoT isso não é bom o bastante, porque é necessário que a aplicação esteja tão perto quanto possível de qualquer evento. Agora, temos a flexibilidade para executar na nuvem ou na ponta.
O IoT Edge pode executar em arquiteturas de hardware x64 ou ARM, permitindo à Microsoft competir com outras soluções de computação de ponta como o AWS Greengrass, o IBM Watson Edge Analytics e o SAP Leonardo IoT Edge.