A Internet das Coisas
implica em: coletar quantidades gigantescas de dados, transmitir estes dados a
alguma central de processamento, processá-los e inferir ações baseadas no
processamento destes dados. Na verdade, este é o conceito básico de qualquer
sistema de controle.
Em sistemas de automação residencial mais antigos, o
processamento é feito em uma central que se encontra no mesmo ambiente dos
sensores e atuadores. Com a melhoria do acesso à Internet e com a grande
capacidade computacional disponível nos servidores da Internet, começou a
aparecer a oportunidade de se usar os conceitos de Internet das Coisas nos sistemas de automação residencial.
Colocar parte do processamento na Nuvem permite baixar os
custos de equipamentos, aumentar a capacidade de “inteligência”, trabalhar
dados historicamente e integrar o sistema a outros fornecedores de dados.
Contudo, depender apenas do processamento na chamada Nuvem impõe
alguns problemas e riscos: o tempo de resposta depende da performance da
comunicação com a Nuvem; a perda da conectividade interrompe todo o
processamento.
Portanto, a solução é dividir a responsabilidade de processamento
entre os servidores na Nuvem e as centrais locais.
E é este o caminho que os sistemas de automação residencial
têm seguido, seja nas arquiteturas mais tradicionais, expandindo a oferta de inteligência
através do uso do processamento na Nuvem, seja nas soluções mais “modernas”
onde o sistema é composto por dispositivos “inteligentes” onde um deles é “mestre”
e a Nuvem a grande condutora do processo como um todo.
Muito se discute sobre esta divisão de processamento,
buscando definir limites mais claros para cada lado, bem como entendendo as
vantagens e desvantagens envolvidas. Estes tipos de processamento já até
ganharam seus nomes em inglês: Cloud Computing (computação na Nuvem)
para o processamento nos servidores da Internet, e Edge Computing (Computação
na Borda) para o processamento local (esta tradução para Edge Computing ainda não está
generalizada).
Então, vamos entender um pouco mais de tudo isso.
Primeiramente, vamos entender o que seria a borda. Considere
como Borda tudo aquilo que está no mesmo local que o gerador de dados. Um sensor
IoT está na borda; um gateway ou
central que esteja junto aos sensores e atuadores é parte da borda. De certa
forma, tudo que tem um local físico definido e que esteja na mesma localização
física de onde os dados são coletados, faz parte da Borda.
Computação na Borda é, então, todo o processamento que
ocorre no mesmo local físico onde estão estes sensores, atuadores ou outros
equipamentos relacionados com o sistema.
Mas este conceito não é novo. É, na verdade, onde todo
sistema de controle começa, seja na indústria ou na sua residência. Então, o
que a IoT está chamando de
Computação na Borda só tem de novidade o nome.
E o que seria computação na Nuvem? De forma simples, seria
toda computação de um sistema que não esteja sendo feita na Borda...
Expandindo este conceito, as plataformas na Nuvem processam
dados que não lhe pertencem, pois não foram obtidas por estas plataformas. Quem
os coletou foram os sistemas de Borda, que então os transmitiu para a
plataforma. Como consequência, saber onde ficam estes servidores é irrelevante,
daí o conceito de Nuvem, indicando que por trás da Nuvem existe uma capacidade
computacional, mas que não é relevante sabermos onde fica ou exatamente o que
seja.
Fica cada dia mais claro que a solução para a Internet das Coisas, seja na Casa
Inteligente, seja nas gigantescas plantações, é o uso equilibrado de ambas as
formas de computação.
Obviamente, uma solução baseada apenas na Nuvem tem seus
atrativos. Em princípio, é um sistema mais simples de ser concebido e mantido:
colocar no campo apenas sensores responsáveis por coletar e transmitir dados
torna a tarefa mais fácil e, incialmente, mais econômica.
Gerir toda a aplicação diretamente na Nuvem também facilita
a manutenção e o gerenciamento do sistema como um todo.
Contudo, há alguns pontos onde a computação na Nuvem deixa a
desejar, o que nos leva a considerar a incluir Computação na Borda como
necessária em qualquer arquitetura de sistema IoT.
Um desses pontos é a chamada latência, que podemos definir como o tempo que leva para a
informação ser coletada, processada e a ação consequente deste processamento ser
comandada e obedecida pelo atuador no campo.
Aqui precisamos nos preocupar com duas coisas: variabilidade
dos tempos e validade das informações.
Todo sistema apresenta latência. Mesmo um sensor leva um
determinado tempo entre o momento de variação de alguma grandeza sendo medida e
o tempo para transformar esta grandeza em um dado digital e deixá-lo disponível
para alguém usar. Se estes tempos são conhecidos e fixos, desde que não muito
altos, as lógicas que processam estas informações podem levar em conta este
tempo. Contudo, se temos latências variáveis as informações coletadas podem perder
sua validade se estes tempos forem superiores a um determinado limite.
Se pensarmos no Carro Autônomo, é claro que as latências têm
que ser a menores possíveis e alguns dos dados obtidos dos sensores tem uma validade
muito curta, que pode ser medida em milissegundos. Fica claro que o Carro Autônomo não pode
depender apenas da computação na Nuvem.
O processamento na Borda é uma forma de controlar e conhecer
as latências, posto que mesmo que as informações devam ser passadas de um
sensor a uma central local, as formas de comunicação são conhecidas e
controladas, garantindo a validade das informações.
Então, processamentos que precisam ser executados em tempo
real, ou perto disso, devem ser obrigatoriamente tratados pela computação na
Borda.
Já processamentos que dependam de análises históricas de
dados, de informações de terceiros ou de algoritmos muito complexos devem ser processados
na Nuvem.
Outro ponto a considerar, tanto tecnologicamente quanto
comercialmente, é o volume de dados que deve ser transmitido dentro de um certo
intervalo de tempo. Grosseiramente, estamos falando de largura de banda e volume de
dados.
Ao termos todo o processamento sendo feito na Nuvem, esta
deve receber todos os dados dos sensores de forma crua, sem nenhum tratamento
na Borda (já que estamos supondo a computação na Borda inexistente). Mesmo que os
dados de um determinado sensor sejam simples, como apenas a informação da temperatura
ambiente, cada transmissão desta informação até a Nuvem vai consumir um
determinado pedaço da largura da banda e do volume de dados. Se lembrarmos que
muito provavelmente uma grande parte do que é transmitido pelo sensor é apenas
informação gerencial (quem sou, como estou, em que instante coletei este dado,
sim eu posso falar com você, a senha para falar com você é XXX, etc.), vemos um
certo desperdício se temos que repetir este “protocolo” de comunicação a cada transmissão.
E consumir banda e volume significa contratos mais caros com as operadoras responsáveis
pelas redes de comunicação do sistema em questão.
Agora, se eu tenho uma certa capacidade de processamento na
Borda, seja diretamente no sensor ou em algum gateway local, podemos otimizar
este processo. A computação na Borda se responsabiliza pela coleta dos dados do
sensor e faz a primeira validação quanto ao estado do sensor. A inteligência local
pode também acompanhar a variação da temperatura e avisar a Nuvem apenas quando
a variação for, digamos superior a 1 grau. E isto provavelmente acontecerá
apenas umas 20 vezes por dia.
Adicionalmente, lógicas mais simples com pertinência local
podem ser executadas pela computação na Borda. Comandos de ligar ou desligar aparelhos
de ar condicionado conforme a temperatura medida pelo sensor não precisam ser processados
na Nuvem.
Como já inferido anteriormente, outro aspecto que valoriza a
computação na Borda é a confiabilidade do sistema. Ter as lógicas críticas
processadas localmente elimina os riscos de falha com a perda da comunicação
com os servidores na Nuvem (comunicação que depende de terceiros na vasta
maioria dos casos).
Um outro ponto que mostra o valor da computação na Borda é a
chamada propriedade da informação. Ao se projetar sistemas que tenham
capacidade de processamento local é possível garantir que o processamento pontual
de informações sensíveis ao usuário ou cliente sejam feitas localmente, não enviando
à Nuvem informações que possam ser consideradas sigilosas ou de valor a terceiros.
Fica claro, consequentemente, que o balanço entre o
processamento na Nuvem e na Borda é a melhor solução, tanto tecnologicamente
quanto comercialmente. O ponto de equilibro depende, obviamente, de cada
aplicação e deve ser definida considerando os conceitos acima e também outros
mais específicos relacionados aos desafios impostos pelo usuário, pela localidade
e pela legislação.
E como aplicaríamos isso à Automação Residencial?
Primeiramente temos que considerar duas realidades: sistemas
que nasceram antes da computação na Nuvem e sistemas que estão nascendo dentro
desta nova realidade de Internet das
Coisas.
Os sistemas existentes já com contam a computação na Borda,
através de centrais locais, ou até através da capacidade de processamento distribuída
pelos seus dispositivos locais. Estes sistemas também já possuem uma porta de comunicação
com a Internet, posto que seus aplicativos móveis precisam se comunicar com a
sua central local mesmo quando o usuário está fora da sua residência.
Para estes sistemas, o caminho natural é conceber novas
capacidades e inteligências que possam funcionar na Nuvem. Funcionalidades gerenciais
ou que dependam de análise de dados ao longo do tempo são as possiblidades mais
fáceis de serem implementadas. Um passo adicional seria a integração com outros
sistemas (sistemas de alarme e vigilância, por exemplo) ou com serviços disponíveis
na Internet (como previsão de tempo), tornando o sistema parte de um universo
maior.
Já para os sistemas que estão por vir, a oportunidade de se
conseguir um equilíbrio entre os dois tipos de processamento é uma ótima forma
de maximizar a oferta de recursos, minimizando investimentos por parte do
cliente, e fidelizando-o através da prestação de serviços continuada.
Em resumo, o balanço entre os métodos de computação é uma
realidade que todos os fornecedores de sistemas de automação residencial devem implementar
em seus sistemas. Caso não o façam, com certeza não oferecerão a mesma gama de
valor que seus concorrentes que optaram pelo uso de ambos métodos.
Parabéns pelos excelentes esclarecimentos!
ResponderExcluir