Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Tecnologia da Internet das Coisas

Desenvolvimento de aplicativos IoT obtém aumento de agilidade das tecnologias de contêiner

Em sua maior parte, as tecnologias de contêiner foram desenvolvidas para uso tradicional ambientes de TI corporativos e possibilitaram uma arquitetura de nuvem moderna. Mas também há semelhanças e vantagens em adotar contêineres para a Internet das Coisas Industrial (IIoT), de acordo com Tim Winter, diretor de tecnologia da Machfu, fornecedora de soluções IIoT.

Um contêiner é uma tecnologia de virtualização leve que consiste em um ambiente de tempo de execução inteiro:um aplicativo, mais todas as suas dependências, bibliotecas e outros binários e arquivos de configuração necessários para executá-lo, agrupados em um único pacote. Ao colocar em contêiner uma plataforma de aplicativo e suas dependências, as diferenças nas distribuições do sistema operacional e na infraestrutura subjacente são eliminadas.

“Um processo de desenvolvimento de software de contêiner cria um repositório de 'coisas', que é o seu aplicativo e o software de suporte, e cria o que é chamado de imagem de contêiner - uma espécie de bolo de camadas do aplicativo e do software de suporte”, disse Harry Forbes, analista do ARC Advisory Group.

De acordo com a empresa de pesquisas Gartner, mais de 75% das organizações globais usarão aplicativos em contêineres em produção até 2022.

Os benefícios dos recipientes

Como todos os elementos do aplicativo são “armazenados em contêineres” em um pacote, o aplicativo pode ser enviado para execução em qualquer ambiente de computação, reduzindo a complexidade à medida que os aplicativos são implantados e atualizados em diferentes ambientes, disse Forbes.

Os contêineres também podem beneficiar um ambiente de mudança rápida por meio de seu isolamento. Os módulos interagem uns com os outros apenas por meio de interfaces de programação de aplicativos (APIs) bem definidas e, de outra forma, são independentes. Assim, os módulos podem ser atualizados sem afetar os outros,

O isolamento se torna importante à medida que aumenta o ritmo das mudanças e atualizações nos aplicativos.

Da mesma forma, os contêineres também permitem o Santo Graal da computação de ponta:ou seja, processos inteligentes ou habilitados para IA na borda.

“Com a crescente demanda para processar dados em tempo real e evitar os altos custos de transferência e armazenamento de dados de telemetria brutos de alto volume e alta velocidade na nuvem”, disse Ayush Tiwari, gerente sênior de produto IoT, PTC, uma solução IIoT provedor, “mais usuários de IoT estão preferindo pré-processar os dados, transformá-los e executar sua lógica de negócios personalizada diretamente na borda.” Então, os modelos habilitados para aprendizagem de máquina e inteligência artificial podem ser treinados e implantados por meio de contêineres locais isolados em dispositivos de borda.

Além disso, como é fundamental proteger e atualizar o software implantado na borda com os patches e recursos mais recentes, tornou-se importante executar cargas de trabalho em contêineres que podem ser facilmente gerenciadas e operadas a partir da nuvem, disse ele.

“Ao deslocar certas cargas de trabalho para a borda da rede, os produtos conectados gastam menos tempo se comunicando com a nuvem, podem reagir mais rapidamente às mudanças locais no contexto e operar de forma confiável mesmo em áreas de baixa largura de banda da rede”, disse Tiwari.

[Para obter mais cobertura sobre IoT industrial, participe de Industrial IoT World em dezembro.}

Usando contêineres para dispositivos IIoT:o particionamento melhora a segurança

Como tal, os contêineres são atraentes para usos não empresariais, como dispositivos de borda IIoT. Como esses pacotes em contêineres e seus conteúdos são particionados uns dos outros e do resto do sistema, eles podem ser atualizados individualmente sem afetar outros aplicativos em contêineres no mesmo servidor, de acordo com Winter.

Ao usar tecnologias de conteinerização para IIoT, é importante pensar sobre as propriedades de particionamento de um contêiner (conhecido como sandbox), disse ele.

“Então, em vez de ter apenas um contêiner que executa todas as operações monolíticas na borda, poderíamos ter, conceitualmente, dois contêineres? Um contêiner, por exemplo, pode ser responsável pela aquisição de dados e outro contêiner pode ser responsável por configurar o dispositivo de borda ”, disse Winter.

O particionamento de funcionalidades de borda entre diferentes contêineres significa que um contêiner pode receber mais privilégios do que outro, disse Winter.

“No setor de serviços públicos, existem diferentes motivadores para a segurança e coisas assim, em que particionar peças do aplicativo ... são vantagens”, disse ele.

Um componente de aplicativo, por exemplo, que lê, avalia e relata alarmes periodicamente, pode receber privilégios somente leitura para interagir com um dispositivo de borda. No entanto, um aplicativo cuja função é realizar uma atualização de software no dispositivo de borda teria que ter mais privilégios e seria protegido de uma maneira diferente, disse Winter.

“Do lado da empresa, pode ser como uma função de administrador, em oposição a uma função de aquisição de dados somente leitura”, disse ele. “Portanto, ser capaz de particionar as funções na extremidade é consistente com as práticas recomendadas de segurança modernas.”

A capacidade de separar os componentes do aplicativo aprimora a implementação, evitando que o comportamento de um aplicativo afete diretamente outro, e também permite que os desenvolvedores aprimorem mais facilmente os dispositivos de ponta, de acordo com Winter. Além disso, a implementação de controles e políticas no nível do sistema operacional permite que os desenvolvedores - por design - limitem melhor o efeito potencial das violações de segurança em um sistema.

Mas, como os aplicativos são separados, os desenvolvedores precisam implementar um esquema de comunicação entre processos (IPC) / esquema de chamada de procedimento remoto (RPC) para que aplicativos separados possam interagir dentro do nó de extremidade, disse Winter. Os desenvolvedores também precisam autenticar e controlar esses esquemas IPC / RPC para que permitam apenas interações aprovadas, acrescentou.

“Você realmente não pode executar um processo no próprio dispositivo em um ambiente industrial porque a maioria dos dispositivos são sensores muito, muito simples e têm uma CPU [unidade de processamento central] muito pequena”, disse Stefano Iannucci, professor assistente, Departamento de Computação Ciência e Engenharia, Mississippi State University.

“Portanto, você realmente precisa combinar todos esses sensores e atuadores de forma que sejam orquestrados por algum processo que é necessariamente executado por outros componentes”, acrescentou.

Esses componentes podem ser executados na nuvem ou na borda - e, na maioria das vezes, esses componentes são executados em contêineres.

“Com a Internet das Coisas Industrial, você usa contêineres para implementar as funcionalidades que não poderiam ser implementadas nas próprias coisas”, disse Iannucci.

Um benefício dos contêineres para IIoT é que os desenvolvedores podem criar ambientes de desenvolvimento e implantação de contêineres que impõem processos específicos de trabalho e teste antes de implantar aplicativos em ambientes de produção, de acordo com a Forbes.

Forbes explicou as etapas necessárias para que os desenvolvedores usem contêineres para desenvolver aplicativos para IIoT.

“Há um pipeline de desenvolvimento ... para criar o repositório, onde eles mantêm todas as várias versões do software que possuem e o sistema de contêiner, como o Docker, que é o software que empacota tudo isso”, disse Forbes.

A implantação do contêiner, então, pega os elementos do repositório, cria uma imagem do contêiner e a envia para um sistema de destino, disse ele.

“E o sistema de destino é onde a IIoT entra”, disse Forbes. “Você pode ter um sistema de destino, pode ter cem, pode ter mil. E [usando contêineres] não é significativamente mais difícil atualizar mil sistemas do que atualizar um. “Os contêineres são uma maneira muito econômica e excelente de gerenciar um aplicativo que você executa em centenas ou mil lugares.”

Ao mesmo tempo, os contêineres não resolvem todos os problemas e, na verdade, eles convidam alguns. Os contêineres são efêmeros - podem ser criados e desmontados facilmente - portanto, a visibilidade e o rastreamento deles podem ser problemáticos.

Tecnologia da Internet das Coisas

  1. Sobre o que seus colegas estão lendo? Obtenha insights de nossas principais postagens de IoT de 2019
  2. Por que a computação de borda para IoT?
  3. 5 Chaves para Desenvolvimento de Produto IoT
  4. Aproveitamento de dados IoT da borda para a nuvem e vice-versa
  5. Live From IoT World em Santa Clara!
  6. The Edge e IoT:Insights do IoT World 2019
  7. Ferramentas de desenvolvimento de IoT de código aberto vs. Ferramentas com suporte do fornecedor
  8. IoT | Assumindo uma posição forte no desenvolvimento de aplicativos móveis
  9. Reflexões sobre tecnologias emergentes, Edge e IoT
  10. Edge Computing finalmente obtém um framework