O que é edge e fog computing?
Hoje, o termo “Cloud Computing” já é bastante difundido e amplamente conhecido. Resumidamente, pode-se definir a cloud como uma solução na qual os serviços computacionais (servidores, armazenamento, banco de dados, etc) são acessados pela rede, ao invés de haver uma infraestrutura local. Isso traz algumas vantagens, como maior escalabilidade (possibilidade de expandir o poder computacional alocado), menor custo (em comparação a ter um parque de máquinas físicas) e confiabilidade (é possível ter o mesmo serviço rodando em vários locais, e até mesmo utilizando dois ou mais provedores de nuvem).
Porém, como os servidores ficam remotos, há alguns contrapontos, como a latência da rede, e o fato das redes serem inconfiáveis. Embora em muitos cenários isso não é um impeditivo, em outros, é. Com o advento de dispositivos conectados (Internet das Coisas, em inglês Internet of Things IoT), essa limitação tornou-se clara. Exemplos de dispositivos IoT são eletrodomésticos conectados à rede, como ar-condicionado, dispositivos hospitalares e fábricas com equipamentos com sensores diversos. Usualmente, tais dispositivos geram uma grande quantidade de dados, que devem ser tratados antes de alguma ação ser executada. Neste contexto, [1] diz que o envio destes dados de dispositivos à uma central é uma estratégia ineficiente, devido à latência da rede e a congestão da mesma.
Assim, para atender os requisitos de funcionamento, já que grande parte dos dispositivos de IoT são sensíveis à latência (imagine um sensor de uma fábrica, talvez de uma linha de produção. Usualmente tais dispositivos têm restrições quanto ao tempo de resposta. Caso a resposta demore muito a chegar, esse valor já perdeu a revelância, o que pode acarretar atrasos na linha de produção ou até mesmo acidentes), uma solução encontrada foi incorporar componentes que provêm processamento, banda e armazenamento, e que agem como um intermediário, entre os dispositivos e os servidores de nuvem, conforme representado na figura abaixo.
O nome “Fog” (névoa, em inglês) faz uma alusão com o fato destes dispositivos estarem “mais próximos” do chão (sensores). Segundo [3], edge e fog são termos diferentes para o mesmo desafio, de prover uma computação mais próxima aos dispositivos. Neste artigo, os autores ainda fazem uma distinção, citando edge devices como sendo os dispositivos (sensores, celulares, eletrodomésticos inteligentes, etc), e edge nodes sendo os pontos de processamento. Já no post [5], o autor faz uma distinção entre edge e fog. Para ele, no modelo de edge computing, o processamento é realizado no próprio dispositivo, ou através de um gateway localizado fisicamente perto dos dispositivos. Já no modelo de fog, o processamento seria feito em equipamentos conectados na LAN (Local Area Network), o que permitia que esses nodos estivessem mais distantes dos sensores e atuadores.
Sobre aplicações existentes que utilizam essa abordagem, [2] cita Smart Grid (Rede elétrica inteligente) como um exemplo. Segundo a Siemens [4]:
“são redes inteligentes de transmissão e distribuição de energia com base na comunicação interativa entre todas as partes da cadeia de conversão de energia. As smart grids conectam unidades descentralizadas de geração grandes e pequenas com os consumidores para formar uma estrutura ampla. Elas controlam a geração de energia e evitam sobrecarga da rede, já que durante todo o tempo apenas é gerada tanta energia quanto o necessário”.
Voltando ao artigo, neste cenário de redes de energia conectadas, os dispositivos mais próximos aos atuadores e sensores seriam responsáveis por capturar os dados, filtrá-los, processá-los, e, a partir deles, retornar os comandos necessários para que a rede permaneça estável. Além disso, também enviaria dados às camadas superiores (cloud), responsáveis pela agregação dos dados, geração de relatórios, análises de Big Data e correlatos.
Outro cenário em que a computação em névoa se mostra uma boa solução é quando os dispositivos possuem pouco ou nenhum acesso à internet, como em fazendas. [6] demonstra este cenário, em uma fazenda de laticínios, no qual a necessidade de conexão com a internet se dá através do nodo de fog (neste caso, foi utilizado um computador caseiro simples). A comunicação entre os sensores que ficam nos animais e o nodo se dá através de ondas de rádio, conforme demonstrado na figura abaixo:
Outro ponto destacado do artigo é que nem todos os dados têm a mesma criticidade: enquanto sensores de calor, de mobilidade e aqueles relacionados à saúde do animal são críticos e devem ter uma resposta imediata, a análise estatística do animal, detecção de padrões e armazenamento de logs podem ter uma resposta variando de minutos à dias, sem que isso comprometa a produtividade da fazenda.
Assim, nota-se que, apesar de ser um campo bastante novo, os usos da computação em névoa são muitos e, em muitos casos, são requisitos para que a adoção da Internet das Coisas seja realizada. Porém, como demonstrado, fog computing não é um substituto da nuvem, mas sim devem ser adotado concomitantemente, deixando à nuvem tarefas sem criticidade de tempo, ou que demandem maior poder de processamento.
Referências
[1] Pallewatta, S., Kostakos, V., & Buyya, R. (2019). Microservices-based IoT application placement within heterogeneous and resource constrained fog computing environments. UCC 2019 – Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing, 71–81. https://doi.org/10.1145/3344341.3368800
[2] Bonomi, F., Milito, R., Zhu, J., & Addepalli, S. (2012). Fog computing and its role in the internet of things. MCC’12 – Proceedings of the 1st ACM Mobile Cloud Computing Workshop, 13–15. https://doi.org/10.1145/2342509.2342513
[3] Cao, J., Zhang, Q., & Shi, W. (2018). Challenges and opportunities in edge computing. SpringerBriefs in Computer Science, 59–70. https://doi.org/10.1007/978-3-030-02083-5_5
[4] Siemens. Smart grid – Desenvolvimento sustentável de megacidades – Siemens Brasil. Acesso em: 26 de dez de 2020.
[5] DZone – Cloud, Fog, and Edge Computing: 3 Differences That Matter. Cloud, Fog, and Edge Computing: 3 Differences That Matter – DZone Cloud. Acesso em: 26 de dez de 2020.
[6] Taneja, M., Jalodia, N., Byabazaire, J., Davy, A., & Olariu, C. (2019). SmartHerd management: A microservices-based fog computing–assisted IoT platform towards data-driven smart dairy farming. Software – Practice and Experience, 49(7), 1055–1078. https://doi.org/10.1002/spe.2704