Fog computing – O futuro da cloud
Lenildo Morais – Mestre em ciência da computação pelo Centro de Informática da UFPE – Universidade Federal de Pernambuco
A computação fog é um paradigma inovador que realiza computação distribuída, serviços de rede e armazenamento, além da comunicação entre cloud computing data centers até os dispositivos ao longo da borda da rede. Essa comunicação amplia as operações e serviços inerentes à computação em nuvem, permitindo uma nova geração de aplicativos. A principal função é filtrar e agregar dados para os centros de dados da cloud e aplicar inteligência lógica a dispositivos finais.
Devido a sua recente introdução e emergência, não há nenhuma arquitetura padrão disponível em relação ao gerenciamento de recursos baseado em fog. Por isso, ainda existe um modelo simples para esse propósito, considerando a previsão de recursos, alocação de recursos e custos de forma realista e dinâmica. As principais características da fog computing são:
1 – Heterogeneidade
A fog computing é uma plataforma virtualizada que oferece serviços computacionais, de rede e de armazenamento entre a computação em nuvem e dispositivos finais de diferentes tipos e formas.
2 – Distribuição geográfica
A computação em fog possui uma implementação amplamente distribuída para oferecer serviços de alta qualidade para dispositivos finais móveis e fixos.
3 – Grande escala de redes de sensores
Isso é aplicável ao monitorar o ambiente ou em rede inteligente, usando sistemas inerentemente distribuídos que requerem computação distribuída ou recursos de armazenamento.
4 – Prevalente para acesso sem fio
Os pontos de acesso sem fio e o gateway de dispositivos móveis são exemplos típicos de um nó de fog na rede.
5 – Interoperabilidade
Os componentes de fog devem ser capazes de interoperar para garantir suporte a uma ampla gama de serviços, como transmissão de dados.
Fog computing é semelhante à computação em nuvem em muitos aspectos, no entanto, a tecnologia pode ser diferenciada por estar próxima dos dispositivos finais, oferecer uma distribuição espacial geograficamente menor e apoiar a mobilidade. Como o processamento baseado em fog ocorre ao longo da borda da rede, os resultados finais refletem uma percepção de localização altamente melhorada, baixa latência e QoS – qualidade de serviço em aplicações de streaming e tempo real. Os nós de nevoeiro são dispositivos heterogêneos, que vão desde servidores, pontos de acesso, roteadores de borda até dispositivos finais, como telefones celulares, relógios inteligentes, sensores.
A fog funciona como um link entre IoT – Internet das coisas e a nuvem para introduzir as funcionalidades extras necessárias para o processamento específico da aplicação, como filtragem e agregação. Antes de transferir os dados para a nuvem é preciso decidir o que deve ser enviado (o conteúdo), como (formato de dados) e quando enviar (tempo). Durante esse processo, ela também precisa excluir alguns dados redundantes ou inválidos, além de agregar os dados complementares no espaço e no tempo dimensionado.
Áreas de aplicação e atuação
Diferentes aplicações de computação em fog podem ser operacionalizadas. As principais são:
Vídeo streaming
A transmissão de aplicativos e serviços de vídeo aproveitará alguns dos principais benefícios da computação em fog, incluindo conhecimento de localização, baixa latência, suporte para mobilidade e análise em tempo real. Vários dispositivos inteligentes suportam uma aplicação de vigilância inteligente, que pode ser usada por agentes da lei para exibir fluxos de eventos em vídeos de suspeitos em tempo real.
Jogos
O advento da computação em nuvem forneceu uma plataforma para jogos de computador sem usuários (jogadores) preocupados com os requisitos de hardware. Os provedores de jogos em nuvem têm expandido rapidamente a infraestrutura da nuvem para fornecer o serviço de jogos sob demanda (GoD) aos usuários por meio da Internet. É oferecido remotamente, permitindo um jogo interativo que pode ser acessado e decodificado por dispositivos finais, como smartphones ou tablets.
Cuidados de saúde
As aplicações IoT forneceram uma abordagem estruturada para melhorar os serviços de saúde. Isso é possível pela implantação de sistemas de monitoramento onipresentes e transmissão dos dados para dispositivos de fog em tempo real, antes de enviar a informação para a nuvem para posterior análise e diagnóstico.
STLS – Sistema inteligente de semáforo
O semáforo inteligente foi idealizado por veículos inteligentes conectados e sistema de transporte avançado. Ele interage localmente com uma série de nós sensores para detectar a presença de ciclistas, motociclistas ou pedestres. Também estima a velocidade e a distância dos veículos que se aproximam. Esta informação pode ser usada para prevenir acidentes ao enviar sinais de aviso prévio aos veículos que se aproximam.
Cidades inteligentes
Uma cidade inteligente é a chave essencial para aplicações de loT, que variam desde o gerenciamento inteligente de tráfego até o monitoramento de energia de edifícios. O conceito de cidade inteligente atraiu o grande interesse dos setores de ciência, engenharia e comunidades de pesquisa e de profissionais como um meio para superar os desafios associados ao rápido crescimento urbano.
Veículos inteligentes
O advento da computação em nuvem para dispositivo móvel exigiu o estudo de seus agentes, como veículos, robôs e seres humanos, que interagem juntos para detectar o meio ambiente, processar os dados e transmitir os resultados. Veículo conectado por fog computing poderá se comunicar com o seu ambiente interno e externo.
Smart grid
Os aplicativos de balanceamento de carga de energia podem ser executados em dispositivos de borda de rede, como medidores inteligentes e microgrades. Com base na demanda de energia e na possibilidade de um custo mais baixo, esses dispositivos alternam automaticamente para energias alternativas, como a energia solar e o vento.
Redes de sensores e atuadores sem fio
As redes de sensores sem fio tradicionais são insuficientes em aplicações que vão além de detecção e rastreamento, que exigem que os atuadores exerçam ações físicas como abrir, fechar ou mesmo movimento de sensores. Nesse cenário, os atuadores que atuam como dispositivos de fog podem controlar o próprio processo de medição, a estabilidade e os comportamentos oscilatórios criando um sistema de circuito fechado.
Controle de construção inteligente
As aplicações deste cenário são facilitadas por sensores sem fio implantados para medir temperatura, umidade ou níveis de vários gases na atmosfera de construção. Neste caso, as informações podem ser trocadas entre todos os sensores em um piso e suas leituras podem ser combinadas para formar medições confiáveis. Os sensores irão usar a tomada de decisão e a ativação de dispositivos de fog para reagir com as informações dos dados recebidos.
CPSs – Sistemas ciberfísicos
Os sistemas baseados em fog computing estão se tornando uma classe importante de IoT e CPSs. Com base nas operadoras de informação tradicionais, incluindo Internet e rede de telecomunicações, a IoT é uma rede que pode interconectar objetos físicos comuns com endereços identificados. Os CPSs apresentam uma combinação dos elementos computacionais e físicos do sistema.
SDN – redes definidas por software
A estrutura de computação em fog pode ser aplicada para implementar o conceito SDN para redes de veículos. SDN é um paradigma emergente de computação em rede e se tornou um dos tópicos mais populares na indústria de TI. Ela separa as camadas de controle e comunicação de dados. O controle é realizado em um servidor centralizado e os nós seguem o caminho de comunicação decidido pelo servidor.
Trem autossustentável
Automanutenção de trens é uma importante área de aplicação. As variações de temperatura podem ser detectadas pelo sensor de monitoramento de rolamento de esferas no trem e podem notificar automaticamente qualquer tipo de transtorno. Isso ajudará na prevenção de desastres.
Segurança
Como uma “pequena nuvem” perto dos usuários finais, os dispositivos de fog podem enfrentar desafios de segurança de sistema e deverão ser implementados em locais de vigilância e proteção rigorosas. A fim de proteger dos objetivos de mal intencionados, como a espionagem e o sequestro de dados. Os ataques tradicionais se tornam disponíveis para comprometer o sistema de dispositivos de fog. Os principais pontos relacionados à segurança do sistema em fog computing são:
Técnicas de detecção de intrusão
As técnicas de detecção de intrusão também podem ser aplicadas na computação de fog. A intrusão em redes inteligentes pode ser detectada usando um método baseado em assinatura, no qual os padrões de comportamento são observados e verificados em um banco de dados. A intrusão também é capturada usando um método baseado em anomalia, onde o comportamento observado é comparado com o comportamento esperado para verificar se há um desvio de conduta.
Autenticação e autorização
As questões de autenticação e autorização não foram estudadas no contexto da computação em fog. Elas estão inseridas no contexto de redes inteligentes e comunicação máquina a máquina. Existem soluções de segurança para computação em nuvem. No entanto, elas podem não se adequar à computação em fog, porque os dispositivos de fog funcionam na extremidade das redes. O ambiente de trabalho dos dispositivos fog enfrentará muitas ameaças que não existem em uma nuvem bem gerenciada.
Esses dispositivos, geralmente, possuem algum tipo de conectividade com o servidor de autenticação remoto da nuvem, que pode ser usado para distribuir informações de autenticação e coletar logs de auditoria, mas essa conectividade é muito lenta em certos ambientes.
Além disso, a dependência dos servidores de autenticação central da cloud não é o ideal, porque a autenticação deve continuar a ser aplicada para a pessoa que acessa os dispositivos localmente, quando a comunicação do servidor de autenticação remota estiver desativada. Uma provisão para garantir que o acesso necessário esteja disponível em situações de emergência pode ser importante, mesmo que isso signifique ignorar o controle de acesso normal, mas com um certo controle de auditoria.
Segurança de rede
O desenvolvimento de tecnologia sem fio levou ao aumento de problemas de segurança. A computação em fog é afetada de maneira semelhante, como outras tecnologias sem fio. Exemplos de ataques são sniffer, spoofing, jamming, etc. Esses ataques normalmente ocorrem entre o nó de fog e o sistema de nuvem centralizado. Geralmente, costuma-se confiar nas configurações definidas pelo sistema central da rede, que separa o tráfego de dados normal da rede do cliente. Mas isso sobrecarrega muito o gerenciador de rede. Os nós de neblina estão na borda da rede, o que aumenta o processamento do gerenciador de rede. SDN pode ser usado como uma abordagem para o gerenciador de rede para trabalhar no baixo nível de abstração para os serviços de rede, ajudando no gerenciamento, além de aumentar a escalabilidade da rede e reduzir o custo com referência à computação em fog.
Segurança dos dados
Na fog computing o controle do usuário para os dados é transmitido pelo nó de fog, daí os mesmos problemas de segurança surgem da computação em nuvem. A integridade dos dados não poderá ser mantida quando eles forem perdidos ou modificados. Os dados que são carregados para o nó de fog também podem ser usados por terceiro. Existem várias técnicas capazes de fornecer a integridade de dados, confidencialidade e veracidade, como a combinação de criptografia homomorphic e criptografia searchable. Elas garantem que o cliente não armazene dados no servidor não confiável.
Privacidade
A privacidade do usuário é fator primordial em qualquer sistema de computação e essa questão é de grande preocupação também na computação em fog. Um dos grandes desafios é que, além do prestador de serviço, o governo também está envolvido. Na verdade, torna-se ainda mais fácil para o terceiro ter acesso aos dados privados do usuário, localização e etc. E portanto, o usuário fica propenso a ataques. Devido à entrega de dados na borda do nó de fog, é muito mais fácil coletar todas as informações importantes dos usuários. Preservar os dados do usuário é um dos problemas mais desafiadores na fog computing.
Protocolos seguros e eficientes
Muitos protocolos existentes são baseados em tempo sincronização e transmissões de pacotes em redes sem fio e não são adequados para dispositivos IoT com recursos limitados em computação em fog. As transmissões sem fio e os cálculos de segurança consomem uma fração significante da capacidade de energia. O principal desafio é como projetar esquemas seguros e eficazes no IoT sem sacrificar o desempenho e consumir uma alta taxa energia.
Verificação de localização
Em ambientes hostis, como veículos e ferrovias, os dispositivos IoT em um ambiente de fog podem se mover de forma rápida e dinâmica, o que dificulta a verificação da localização. O principal desafio é como projetar um esquema de verificação de localização seguro e preciso em ambientes tão volátil e, ao mesmo tempo, o esquema deve ser adequado para dispositivos IoT com recursos limitados.
Casos de uso
Existem dezenas de maneiras de caracterizar casos de uso e este artigo é muito curto para fornecer uma lista exaustiva. Mas aqui estão alguns exemplos para ajudar a esclarecer o pensamento e destacar oportunidades de colaboração.
Coleta de dados e análise
IoT, onde os dados são frequentemente coletados de uma grande rede de microsites, é um exemplo de um aplicativo que se beneficia do modelo de computação de borda. Enviar massas de dados em conexões de rede geralmente limitadas a um mecanismo de análise localizado em um data center centralizado é contraproducente; pode não ser responsivo o suficiente, contribuir para latência excessiva e desperdiçar a largura de banda. Como os dispositivos edge também produzem terabytes de dados, a análise mais próxima da fonte dos dados na borda é mais econômica analisando os dados próximos à fonte e enviando apenas pequenos lotes de informações condensadas de volta aos sistemas centralizados. Há uma compensação aqui: equilibrar o custo de transportar dados para o núcleo contra a perda de algumas informações.
Segurança
Infelizmente, à medida que os dispositivos de borda se proliferam, incluindo telefones celulares e sensores IoT, novos vetores de ataque estão surgindo, aproveitando a proliferação de endpoints. A computação de borda oferece a capacidade de mover os elementos de segurança para mais perto da origem de ataque, permite aplicativos de segurança de desempenho mais alto e aumenta o número de camadas que ajudam a defender o núcleo contra violações e riscos.
Requisitos de conformidade
Conformidade abrange uma ampla gama de requisitos, passando por soberania de dados e aplicação de direitos autorais. Restringir o acesso a dados com base em limites geográficos e políticos, limitar fluxos de dados, dependendo das limitações de direitos autorais, e armazenar dados em locais com regulamentações específicas é possível e executável com a infraestrutura de computação de ponta.
NFV – virtualização da função de rede
A NFV é a essência do aplicativo de computação de borda por excelência, pois fornece funcionalidade de infraestrutura. As operadoras de telecomunicações buscam transformar os seus modelos de entrega de serviços executando funções de rede virtual como parte ou em camadas de uma infraestrutura de computação de ponta. Para aumentar a eficiência e minimizar o custo/complexidade, a execução de NFV na infraestrutura de computação de ponta faz sentido.
Tempo real
Aplicativos em tempo real, carros conectados, telemedicina, Internet tátil, indústria 4.0 e cidades inteligentes são incapazes de tolerar mais que alguns milissegundos de latência e podem ser extremamente sensíveis a jitter ou variação de latência. Como exemplo, os carros conectados precisarão de baixa latência e alta largura de banda e dependerão de computação e cache de conteúdo perto do usuário, tornando a capacidade de borda uma necessidade. Em muitos cenários, particularmente quando a automação de circuito fechado é usada para manter a alta disponibilidade, os tempos de resposta em dezenas de milissegundos são necessários e não podem ser atendidos sem a infraestrutura de computação de borda.
Imersivo
A computação de borda expande os recursos de largura de banda, desbloqueando o potencial de novos aplicativos imersivos. Alguns deles incluem imagens em 360° para verticais como cuidados de saúde. Colocar em cache e otimizar o conteúdo na borda já está se tornando uma necessidade, já que protocolos como o TCP não respondem bem a mudanças repentinas no tráfego da rede de rádio. A infraestrutura de computação de ponta, vinculada ao acesso em tempo real às informações de rádio/rede, reduz os atrasos de vídeo em até 20% durante as horas de pico e também varia a taxa de transmissão de vídeo com base nas condições de rádio.
Eficiência de rede
Muitos aplicativos não são sensíveis à latência e não exigem grandes volumes de computação ou capacidade de armazenamento para, teoricamente, rodarem em uma nuvem centralizada. Mas os requisitos de largura de banda e/ou computação ainda podem tornar a computação de borda mais eficiente.
Algumas dessas cargas de trabalho são comuns, incluindo vigilância por vídeo e gateways de IoT, enquanto outras, como reconhecimento facial e reconhecimento de matrículas de veículos, são recursos emergentes. Com muitos deles, a infraestrutura de computação de borda não apenas reduz os requisitos de largura de banda, mas também fornece uma plataforma para funções que permitem o valor do aplicativo – por exemplo, detecção de movimento de vigilância por vídeo e reconhecimento de ameaças. Em muitos desses aplicativos, 90% dos dados são rotineiros e irrelevantes, portanto, enviá-los para uma nuvem centralizada é proibitivamente caro e desperdiça a largura de banda da rede, que costuma ser escassa. Faz mais sentido classificar os dados na borda para anomalias e alterações e apenas relatar os dados acionáveis.
Desafios
Embora existam muitos exemplos de implementações de borda já em andamento em todo o mundo, a adoção generalizada exigirá novas formas de pensar para resolver desafios e limitações emergentes e já existentes.
Estabelecemos que a plataforma de computação de borda deve ser, por design, muito mais tolerante a falhas e robusta do que uma nuvem tradicional centrada em data center, tanto em termos de hardware quanto de serviços de plataforma que suportam o ciclo de vida da aplicação.
Não podemos presumir que tais casos de uso de borda terão as instalações de manutenção e suporte que a infraestrutura de data center padrão faz. O provisionamento de toque zero, a automação e a orquestração autônoma em todas as plataformas de infraestrutura são requisitos cruciais nesses cenários. Mas há outros desafios que precisam ser levados em consideração.
Por um lado, os sistemas de gerenciamento de recursos de borda devem fornecer um conjunto de mecanismos de alto nível, cuja montagem resulta em um sistema capaz de operar e usar uma infraestrutura de IaaS – infraestrutura como serviço distribuída geograficamente baseada em interconexões de WAN. Em outras palavras, o desafio é revisar (e estender quando necessário) os principais serviços da IaaS para lidar com as especificidades de borda mencionadas anteriormente – desconexões de rede/largura de banda, capacidades limitadas em termos de computação e armazenamento, implantações não tripuladas e assim por diante. Algumas necessidades previsíveis incluem:
1 – Um gerenciador de máquina virtual/contêiner/bare-metal encarregado de gerenciar o ciclo de vida da máquina/contêiner (configuração, programação, implementação, suspensão/ retomada e encerramento).
2 – Um gerenciador de imagem responsável por arquivos de modelo (também com imagens de máquina virtual/contêiner).
3 – Um gerente de rede encarregado de fornecer conectividade à infraestrutura: redes virtuais e acesso externo para usuários.
4 – Um gerenciador de armazenamento, fornecendo serviços de armazenamento para aplicativos de borda.
5 – Ferramentas administrativas, fornecendo interfaces de usuário para operar e usar a infraestrutura dispersa.
Mestre em ciência da computação e gerente de projetos na Ustore/Claro. Morais é docente no Centro Universitário Maurício de Nassau e pesquisador na Assert – Advanced System and Software Engineering Research Technologies.