# Fog computing

A [internet das coisas (IoT)](https://www.ionos.com/digitalguide/websites/digital-law/internet-of-things/ "Internet das coisas") está revolucionando o cenário de TI no mundo, e já é entendida como uma tecnologia essencial para o futuro. Contudo, arquiteturas de IoT clássicas, que agrupam e processam dados centralmente, são limitadas pela largura de banda, não podendo ser infinitamente dimensionadas. Soluções de *fog computing* resolvem este problema.

## O que é *fog computing*?

*Fog computing* (computação em névoa) é uma tecnologia de nuvem que não transmite dados gerados por dispositivos finais diretamente à nuvem. Primeiramente, eles são **pré-processados em pequenos centros de dados descentralizados**, chamados *fog nodes* (nós de *fog*). Neste conceito, a estrutura de uma rede estende-se de suas bordas, locais onde dados são gerados por dispositivos de IoT, até o ponto final central da nuvem de dados pública ou do [centro de processamento de dados](https://www.ionos.com/digitalguide/server/know-how/what-are-data-centers/ "O que é centro de dados?") (nuvem privada).

O objetivo do chamado *fogging* (nevoeiro) é **diminuir o caminho da comunicação e a taxa de transferência de dados** com a ajuda de redes externas. Na *fog computing*, *fog nodes* formam uma camada intermediária, responsável por decidir quais dados serão processados localmente e quais serão encaminhados à nuvem ou ao centro de dados, para análise ou processamento adicional.

O gráfico abaixo ilustra as três camadas (*layers*) da *fog computing*:

[![Imagem: Representação gráfica de uma nuvem com arquitetura de IoT contendo as camadas cloud, fog e edge](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/a/d/csm_cloud-fog-layer_15df8d1916.webp "Representação gráfica de uma nuvem com arquitetura de IoT contendo as camadas cloud, fog e edge")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Schaubilder/cloud-fog-layer.png) Na fog computing, dados são pré-processados por camada intermediária e descentralizada antes de serem enviados à nuvem pública ou ao centro de dados - **Camada *edge*:** A camada de borda (*edge*) compreende todos os dispositivos inteligentes (dispositivos de borda) de uma arquitetura de IoT. Dados gerados na camada de borda são processados diretamente no dispositivo ou transmitidos a servidores (*fog nodes*), na camada *fog*.
- **Camada *fog*:** A camada de névoa (*fog*) diz respeito à série de servidores avançados que recebe dados da camada de borda para os pré-processar e transmitir à nuvem, caso haja necessidade.
- **Camada *cloud*:** A camada de nuvem (*cloud*) é o ponto final central dos dados em uma arquitetura de *fog computing*.

O Industry IoT Consortium (antigo OpenFog Consortium) disponibiliza interessantes [documentos de referência sobre arquitetura para *fog computing*](https://www.iiconsortium.org/pdf/OpenFog_Reference_Architecture_2_09_17.pdf "Arquitetura de referência para fog computing — OpenFog"). Outros artigos também podem ser encontrados no [site do IIC](https://www.iiconsortium.org/fog-and-edge-white-papers/ "Artigos sobre fog e edge computing — IIC").

### O que diferencia *fog computing* de *cloud computing*?

*Fog computing* difere-se de *cloud computing* (computação em nuvem) em dois processos principais: de fornecimento de dados e de processamento de dados. Via de regra, a computação em nuvem baseia-se em centros de dados centralizados. Lá, recursos como potência e capacidade de armazenamento são reunidos após serem fornecidos por servidores [back-end](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/criar-sites/o-que-e-back-end/) e utilizados por clientes, por meio da rede. A comunicação entre dois ou mais dispositivos finais ocorre, sempre, por meio de um servidor em segundo plano.

Esse tipo de arquitetura é limitado e não consegue comportar tecnologias como de fábricas inteligentes, em que dados precisam ser continuamente trocados entre inúmeros dispositivos finais. Já a *fog computing*, baseada em **processamentos intermediários, próximo às fontes de dados**, reduz a taxa de transferência de dados para o banco de dados central.

### O que diferencia *fog computing* de *edge computing*?

Não são apenas altas taxas de transferência de dados em arquiteturas de IoT de grande escala que chegam ao limite da computação em nuvem. A [latência](https://www.ionos.com/digitalguide/server/know-how/what-is-latency/ "O que é latência") também configura outro de seus problemas: **o processamento centralizado de dados sempre gera atrasos**, ocasionados pelos longos caminhos que dados transmitidos devem percorrer. É que dispositivos e sensores finais são obrigados a se dirigirem ao servidor do centro de dados para comunicarem-se entre si e também para aguardarem respostas às solicitações externas, após o processamento. No contexto da internet das coisas, tempos de latência são um problema, uma vez que informações devem ser transmitidas em tempo real, para que máquinas reajam imediatamente às situações.

A [*edge computing*](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-edge-computing/), parte da *fog computing*, oferece uma solução à latência: a tecnologia não somente processa dados descentralizadamente, como os processa localmente, no dispositivo final, ou seja, na borda (*edge*) da rede. Cada dispositivo inteligente é equipado com um microcontrolador próprio, capaz de processar dados básicos e comunicar-se com outros dispositivos e sensores de IoT. Assim, tanto a latência quanto a taxa de transferência de dados ao centro de dados central são reduzidas.

Apesar de *fog computing* e *edge computing* estarem intimamente relacionadas, elas não são a mesma coisa. O local onde os dados são processados as diferencia. Na *edge computing*, dados gerados são processados **diretamente na fonte** e de lá enviados, salvo exceção. Já na *fog computing*, dados brutos, provindos de **variadas fontes**, são coletados e processados em pequenos centros de dados intermediários, evitando o encaminhamento da totalidade de dados ao centro de dados central.

Não há como afirmar qual tecnologia é melhor, se a *edge computing*, a *fog computing* ou a combinação das duas. Cada situação e área de aplicação demanda uma solução específica.

## Vantagens da *fog computing*

A tecnologia de *fog computing* apresenta **soluções para variados problemas de infraestruturas baseadas em nuvem**. Ela promete caminhos de comunicação mais curtos e evita que a nuvem seja sobrecarregada por dados, entre outros aspectos, listados abaixo:

1. Diminui o tráfego na rede: *Fog computing* reduz o tráfego entre dispositivos de IoT e a nuvem.
2. Economiza custos de redes terceirizadas: Operadoras de rede cobram caro por nuvens de alta velocidade. Parte destes custos pode ser evitada pela *fog computing*.
3. Possui modo off-line: Dispositivos de IoT com tecnologia de *fog computing* também ficam disponíveis off-line.
4. Reduz a latência: *Fog computing* encurta os caminhos de comunicação e, portanto, acelera análises automatizadas e processos de tomada de decisão.
5. Protege dados: Graças ao *fogging*, dados de dispositivos são pré-processados na rede local, o que possibilita configurações de segurança. É possível determinar, por exemplo, que informações confidenciais não sejam transmitidas para fora da empresa ou sejam criptografados e/ou anonimizados antes da transmissão para a nuvem.

## Desvantagens da *fog computing*

O processamento descentralizado de dados por pequenos centros de dados tem também desvantagens. Entre elas estão grandes esforços de administração e manutenção, típicos de sistemas distribuídos. Listamos, abaixo, outras questões problemáticas da *fog computing*:

1. Altos custos de hardware: Dispositivos e sensores finais de IoT em arquiteturas de *fog computing* devem ser equipados com uma unidade de computação adicional, responsável por gerenciar o processamento local dos dados e a comunicação entre os dispositivos.
2. Maior necessidade de manutenção: O processamento descentralizado de dados tem custos de manutenção mais elevados. É que elementos de processamento e armazenamento são distribuídos por toda a rede ao invés de encontrarem-se em um único local, como na computação em nuvem.
3. Requer maior segurança de rede: *Fog computing* é mais suscetível a ataques [*man-in-the-middle*](https://www.ionos.com/pt-br/digitalguide/servidor/seguranca/ataque-man-in-the-middle/).


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-fog-computing/](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-fog-computing/) for AI/LLM consumption.