Computação em névoa
A Internet das Coisas (IoT) está a transformar o panorama tecnológico em todo o mundo e é considerada uma tecnologia fundamental em muitos projetos futuros. No entanto, a arquitetura clássica da IoT, na qual os dados são recolhidos e processados de forma centralizada, não pode ser expandida infinitamente devido, entre outros fatores, às limitações da largura de banda. O fog computing (também chamado de computação na névoa ou fogging) propõe possíveis soluções para os problemas associados à implementação total da IoT.
O que é o fog computing? Uma definição
A «Fog computing» é o nome de uma tecnologia de nuvem em que os dados gerados pelos dispositivos não são carregados diretamente na nuvem, mas sim processados primeiro em centros de dados descentralizados de menor dimensão (conhecidos como «nós Fog»). O conceito abrange uma rede que se estende desde os seus próprios limites, que é onde os terminais geram os dados, até ao destino central dos dados na nuvem pública ou num centro de dados privado (nuvem privada).
O objetivo do fog computing é encurtar as vias de comunicação entre a nuvem e os dispositivos e reduzir o fluxo de dados nas redes externas. Os nós desempenhariam assim um papel de camada intermédia na rede, na qual se decide quais os dados que são processados localmente e quais os que são enviados para a nuvem ou para um centro de dados para serem analisados ou processados.
O gráfico seguinte apresenta esquematicamente as três camadas (layers) de uma infraestrutura de computação na névoa:

- Camada de borda: a camada de borda inclui todos os dispositivos inteligentes (dispositivos na borda da rede) de uma arquitetura de IoT. Os dados gerados nesta camada são processados no próprio terminal ou enviados para um servidor (nó fog) na camada de névoa.
- Camada de fog: a camada de fog é composta por uma série de servidores de alto desempenho que recebem os dados da primeira camada, preparam-nos e enviam-nos para a nuvem, se necessário.
- Camada da nuvem: a camada na nuvem constitui o ponto final de uma arquitetura de fog computing.
Foi desenvolvida uma arquitetura de referência para sistemas de fog computing no âmbito do OpenFog Consortium (agora Industry IoT Consortium (IIC)). No site do IIC é possível aceder a outros white papers.
Diferenças em relação à computação em nuvem
A computação em fog distingue-se da tecnologia em nuvem, sobretudo, pelo local onde se acede aos recursos e se processam os dados. A computação em nuvem baseia-se geralmente em centros de dados centralizados. Neste caso, são os servidores em segundo plano que fornecem recursos como potência de processamento e memória, que os clientes utilizam através da rede. A comunicação ocorre entre dois ou mais terminais, sempre através de um servidor em segundo plano.
Com conceitos como o da fábrica inteligente, esta arquitetura depara-se com as suas limitações, uma vez que nela existe um grande número de dispositivos que estão constantemente a trocar dados. Apoiando-se no processamento de dados próximo da fonte, o fog computing consegue reduzir o tráfego de dados.
Diferenças em relação à computação na periferia da rede
Mas a computação em nuvem não é apenas sobrecarregada pelo tráfego de dados gerado pelas grandes infraestruturas de IoT, mas também pela latência, pois o processamento centralizado dos dados implica depender das rotas de transferência, o que causa sempre um certo atraso. Os dispositivos e os sensores têm de estar sempre em contacto com o servidor no centro de dados para poderem comunicar e aguardar tanto o tratamento externo do pedido como a própria resposta, pelo que este tempo de latência se torna um problema em processos de fabrico apoiados na IoT que necessitam do processamento imediato da informação para que as máquinas possam reagir imediatamente a qualquer incidente.
A computação de ponta (edge computing) propõe uma possível solução para este problema. De acordo com este conceito, os dados não só são processados de forma descentralizada, como também no próprio dispositivo e, por isso, na «ponta» da rede. Para tal, é necessário equipar cada dispositivo inteligente com um microcontrolador próprio que permita processar os dados, mas também comunicar com outros dispositivos e sensores na Internet das Coisas.
Embora o fog computing e o edge computing tenham muitos pontos em comum, não são a mesma coisa. A diferença fundamental reside no local e no momento em que os dados são processados. No edge computing, os dados gerados são processados diretamente na fonte e, normalmente, enviados diretamente. Em contrapartida, no fog computing, os dados brutos provenientes de várias fontes são recolhidos e processados num centro de dados intermédio. Desta forma, evita-se que dados ou resultados irrelevantes cheguem ao centro de dados central. Dependendo do âmbito de aplicação, será mais adequado optar pelo fog computing ou pelo edge computing.
Vantagens da computação em nuvem
O fog computing propõe soluções para diversos problemas característicos das infraestruturas de TI baseadas na nuvem. À primeira vista, trata-se de conceitos que prometem encurtar os percursos de transferência e reduzir ao mínimo a carga na nuvem. Apresentamos aqui as principais vantagens:
- Menos tráfego: a computação em nuvem reduz o tráfego entre os dispositivos IoT e a nuvem.
- Poupança de custos na utilização de redes externas: a velocidade de carregamento na nuvem é um serviço que os operadores de rede não oferecem gratuitamente, mas que pode ser poupado com a fog computing.
- Disponibilidade offline: os dispositivos IoT numa arquitetura de fog computing também estão disponíveis offline.
- Menor latência: o fog computing encurta as vias de comunicação, acelerando assim os processos automatizados de análise e decisão.
- Segurança dos dados: no fog computing, o pré-processamento dos dados ocorre na rede local. Isto permite que os dados sensíveis permaneçam na empresa ou que possam ser encriptados ou anonimizados antes de serem carregados para a nuvem.
Desvantagens do fog computing
No entanto, o processamento descentralizado em minicentros de dados também apresenta desvantagens. Estas decorrem principalmente do esforço necessário para manter e administrar um sistema distribuído. As desvantagens do fog computing são:
- Custos de hardware mais elevados: para que os dados possam ser processados localmente e os dispositivos possam comunicar entre si, é necessário adicionar uma unidade de processamento adicional aos dispositivos IoT.
- Proteção insuficiente contra quedas ou abusos: as empresas que apostam na fog computing têm de equipar os dispositivos IoT e os sensores com controladores difíceis de proteger na periferia da rede (numa fábrica industrial, por exemplo).
- Necessidade crescente de manutenção: o processamento descentralizado dos dados está associado a um maior esforço de manutenção, porque os controladores e a memória estão distribuídos por toda a rede e, ao contrário das soluções na nuvem, não podem ser administrados ou mantidos centralmente.
- Maiores requisitos de segurança de rede: a computação na nuvem é vulnerável a ataques man-in-the-middle.