Fog computing: estudo de caso usando Amazon Web Services

Fog Computing na AWS: Estudo de Caso

Informações do documento

Autor

Anderson Altair Tomkelski

Escola

Universidade Federal da Fronteira Sul

Curso Ciência da Computação
instructor Marco Aurélio Spohn
Local Chapecó, SC
Tipo de documento Trabalho de conclusão de curso
Idioma Portuguese
Formato | PDF
Tamanho 1.11 MB

Resumo

I.Justificativa e Problema de Pesquisa

Este trabalho investiga a viabilidade da computação em névoa (Fog Computing) como solução para os desafios da Internet das Coisas (IoT), especialmente em relação à latência, largura de banda, segurança e disponibilidade de serviços ininterruptos. A pesquisa utiliza a plataforma AWS (Amazon Web Services) para criar um ecossistema IoT que compara o desempenho da computação em névoa com a computação em nuvem tradicional. A alta demanda por recursos de cloud computing para processar e armazenar dados gerados por dispositivos IoT apresenta limitações significativas em cenários que exigem respostas em tempo real. A solução proposta de integrar a AWS IoT Greengrass e Amazon FreeRTOS para prover uma infraestrutura de fog computing busca mitigar estas deficiências.

1. Desafios da Computação em Nuvem para IoT

A seção justificativa inicia reconhecendo o crescimento da computação em nuvem como tendência dominante para acesso e processamento de dados, reduzindo a necessidade de alta capacidade de processamento nos dispositivos. No entanto, a comunicação direta com data centers para aplicações de Internet das Coisas (IoT) apresenta desafios significativos. São citados requisitos de latência rigorosos, onde o tempo de resposta precisa ser previsível; restrições de largura de banda, devido ao grande volume de dados gerados pelos dispositivos IoT; recursos limitados nos próprios dispositivos, que podem não ter capacidade para processar operações complexas; e a dificuldade em garantir serviços ininterruptos, com a conexão com a nuvem sendo crucial para o funcionamento. Adicionalmente, problemas de segurança e atualização dos dispositivos são mencionados, indicando uma necessidade por uma arquitetura alternativa mais eficiente e robusta para aplicações IoT. Esta problemática contextualiza a necessidade de uma nova abordagem arquitetural.

2. Introdução à Computação em Névoa Fog Computing

Como solução para os desafios da computação em nuvem na IoT, a seção introduz a computação em névoa (ou fog computing) como uma nova arquitetura. Esta arquitetura distribui os benefícios da nuvem, aproximando-a dos clientes finais e, consequentemente, dos dispositivos IoT. A justificativa para a adoção da fog computing reside na sua capacidade de superar as limitações da nuvem em aplicações IoT, especialmente em relação à latência, escalabilidade, largura de banda e segurança. A computação em névoa permite armazenamento, controle e comunicação próximos à aplicação, reduzindo a dependência de uma conexão constante e estável com a nuvem, o que é particularmente vantajoso em cenários com conectividade intermitente, e mitiga os riscos de falha em sistemas críticos. A fog computing se apresenta como uma alternativa viável para atender às demandas crescentes da internet das coisas, oferecendo maior resiliência e eficiência.

3. Objetivos do Trabalho

O objetivo principal do trabalho é avaliar os recursos e o desempenho da utilização de um ecossistema de fog computing para a internet das coisas. Para atingir esse objetivo, a pesquisa utiliza os serviços da Amazon Web Services (AWS) como suporte ao estudo de caso. Os recursos da AWS serão analisados e testados como soluções para os desafios da IoT, comparando a performance de um ecossistema de fog computing com o modelo tradicional de cloud computing. A análise abrangerá aspectos como latência, largura de banda, segurança e disponibilidade dos serviços, buscando demonstrar as vantagens da adoção de fog computing em aplicações IoT. A avaliação da integração dos sistemas AWS é um ponto central da metodologia aplicada, testando a capacidade de gerenciamento e interação entre diferentes componentes da plataforma.

II.Referencial Teórico Tecnologias Chave

O estudo aborda conceitos fundamentais da IoT, destacando suas aplicações e desafios. Analisa o ESP32 como uma placa microcontroladora de baixo consumo ideal para aplicações IoT. Descreve o sistema operacional de tempo real FreeRTOS e sua importância em aplicações de tempo real, comparando soft e hard real time. A pesquisa se aprofunda nos serviços da AWS, incluindo AWS IoT Greengrass, Amazon FreeRTOS, e AWS Lambda, como componentes essenciais da arquitetura de fog computing proposta. A integração entre dispositivos IoT, núcleo Greengrass, e serviços em nuvem da AWS é detalhada. A utilização da biblioteca MQTT para comunicação entre dispositivos é também destacada.

1. Internet das Coisas IoT

A seção inicia definindo o conceito de Internet das Coisas (IoT), citando Kevin Ashton como o primeiro a utilizar o termo para descrever sistemas onde objetos se comunicam via sensores, com ou sem interação humana. A ideia central é dotar computadores com a capacidade de entender e processar dados antes apenas interpretados por humanos, possibilitando rastrear e quantificar informações, reduzindo custos e perdas. Ashton descreve a IoT como a capacidade dos computadores de 'ver, ouvir e detectar odores' por meio de sensores. Atzori, Iera e Morabito são citados, complementando a definição e destacando o rápido crescimento da IoT e seu impacto em áreas como domótica, assistentes pessoais, e-health e indústria (automação, manufatura e logística). Apesar do grande potencial, desafios relacionados à interoperabilidade, confiabilidade, privacidade e segurança são apontados como obstáculos para a adoção completa da IoT.

2. Microcontrolador ESP32

A seção descreve o ESP32, a placa microcontroladora escolhida para o estudo. O ESP32 é caracterizado como uma placa de baixo consumo de energia, projetada para aplicações móveis, vestíveis e IoT. A descrição menciona sistemas operacionais de tempo real, enfatizando a previsibilidade e eficiência, e diferenciando aplicações soft real time e hard real time. O FreeRTOS é apresentado como um kernel de tempo real adequado para o desenvolvimento de aplicações hard real time, permitindo a organização de tarefas independentes com prioridades definidas, onde tarefas de maior prioridade são executadas com maior frequência. Embora o documento mencione o Raspberry Pi e o sistema operacional Raspbian, este tópico se concentra nas características do ESP32 relevantes para o projeto. A escolha do ESP32 é justificada por suas características de baixo consumo e adequação a aplicações IoT.

3. Computação em Nuvem Cloud Computing e seus Desafios para IoT

A seção discute o papel da computação em nuvem e seus desafios para a IoT. Os serviços em nuvem são apresentados como uma arquitetura poderosa para tarefas complexas em larga escala, abrangendo armazenamento, computação e serviços de banco de dados. O crescimento da IoT, com seu grande volume de dados, impulsiona a adoção da computação em nuvem. No entanto, são apontados os desafios da computação em nuvem para atender às demandas específicas da IoT, principalmente: latência, exigindo respostas em milissegundos; largura de banda, com a necessidade de lidar com um grande volume de dados gerados por diversos dispositivos; serviços ininterruptos, pois a indisponibilidade pode causar sérios problemas; e segurança, com desafios significativos relacionados à autenticação de dispositivos e à proteção de dados. A descrição dos desafios da computação em nuvem para IoT enfatiza a necessidade de uma solução alternativa, a computação em névoa (fog computing).

4. Computação em Névoa Fog Computing e a AWS

A seção define a computação em névoa (fog computing) como uma extensão da computação em nuvem para a borda da rede, fornecendo computação, armazenamento e serviços de rede próximos aos dispositivos. Ela destaca a capacidade da fog computing de resolver os desafios enfrentados pela computação em nuvem na IoT, oferecendo baixa latência, distribuição geográfica, mobilidade e suporte a aplicações em tempo real. A integração entre cloud e fog computing é enfatizada como uma solução eficiente. A Amazon Web Services (AWS) é apresentada como um provedor de soluções IoT que permitem criar um ecossistema completo, desde a borda até a nuvem, fornecendo softwares de dispositivo, serviços de controle e dados, e simplificando a integração entre os sistemas. A seção detalha os serviços AWS relevantes para o projeto: AWS IoT Greengrass, Amazon FreeRTOS e AWS Lambda.

5. Serviços AWS IoT Greengrass Amazon FreeRTOS e AWS Lambda

Esta seção detalha os serviços da AWS utilizados no estudo. AWS IoT Greengrass é descrito como um serviço que permite a criação de grupos de dispositivos, com um núcleo (geralmente um Raspberry Pi) e dispositivos conectados a ele, possibilitando a execução de funções lambda localmente. O Amazon FreeRTOS é apresentado como um sistema operacional de tempo real que facilita a conexão segura de dispositivos com o AWS IoT via MQTT e permite a utilização de shadow devices para persistência de dados. O AWS IoT Greengrass garante a autenticação e autorização dos dispositivos, assegurando conectividade segura localmente e com a nuvem, mesmo com interrupções na conexão. O Amazon FreeRTOS expande o FreeRTOS adicionando bibliotecas para conectividade, segurança e atualizações remotas. Por fim, a AWS Lambda é explicada como um serviço sem servidor que permite executar código somente quando necessário, simplificando o gerenciamento de recursos e proporcionando escalabilidade automática. A descrição de cada serviço destaca sua importância no contexto da arquitetura de fog computing utilizada.

III.Metodologia e Estudo de Caso

A metodologia se baseia na construção de um ecossistema IoT utilizando os serviços da AWS para simular um ambiente de fog computing. O experimento utiliza um Raspberry Pi como núcleo AWS IoT Greengrass, com dispositivos ESP32 executando Amazon FreeRTOS para se comunicar com a nuvem e entre si via MQTT. Os testes avaliam a latência na comunicação entre os dispositivos, utilizando shadow devices da AWS para garantir a persistência de dados mesmo com conectividade intermitente. A integração entre os diferentes componentes da AWS e a facilidade de gerência de dispositivos são pontos cruciais da avaliação.

1. Configuração do Ambiente de Teste

A metodologia do estudo de caso envolveu a criação de um ecossistema IoT utilizando serviços da AWS para simular um ambiente de fog computing. O objetivo era avaliar a solução de fog computing para as deficiências encontradas em aplicações IoT que utilizam apenas cloud computing. A integração entre os sistemas AWS foi outro ponto avaliado. A configuração iniciou com o download e descompactação do software AWS IoT Greengrass no Raspberry Pi, que atuou como o núcleo do sistema. Certificados foram inseridos para permitir o acesso aos recursos AWS IoT, usando Amazon Trust Service (ATS) endpoints e certificados ATS root CA para habilitar a comunicação via MQTT. O sistema operacional Raspbian Buster foi usado, exigindo o download de dependências. Para o ESP32, a instalação do CMake e drivers para comunicação serial foi necessária, seguido da geração de um build e gravação na memória flash do dispositivo. Bibliotecas AWS IoT Greengrass e MQTT do Amazon FreeRTOS foram utilizadas para a comunicação do ecossistema fog com a AWS.

2. Testes de Latência e Shadow Devices

Para avaliar a latência, dois dispositivos (um enviando e outro recebendo mensagens MQTT) foram criados, sendo o Raspberry Pi o núcleo do sistema AWS IoT Greengrass. O tempo de envio e recebimento de mensagens foi medido para avaliar a performance do ecossistema fog em comparação com a cloud. Testes com shadow devices também foram realizados utilizando dois dispositivos: um escrevendo no shadow device e outro atualizando seu estado a partir dele. Para isso, cada dispositivo precisou se inscrever em múltiplos tópicos MQTT, com o objetivo de simular cenários com perdas temporárias de conexão. O tópico 'aws/things/thingName/shadow/update/delta' foi usado para envio de atualizações. Os testes de latência buscaram quantificar a performance do ecossistema fog em relação a um cenário sem fog computing, enquanto os testes com shadow devices avaliaram a capacidade do sistema em manter a sincronização de dados mesmo com interrupções na conectividade.

3. Análise de Resultados

A análise de resultados focou na avaliação da latência, considerando sua importância em sistemas IoT. A latência foi medida como o tempo entre o envio e o recebimento completo de um pacote. A partir das bibliotecas do Amazon FreeRTOS, a pesquisa constatou a simplificação da conexão, gerenciamento e comunicação segura de dispositivos em uma rede fog. O comportamento dos shadow devices foi analisado separadamente, destacando sua função na independência do ecossistema fog em relação a dispositivos específicos, permitindo comunicação e sincronização mesmo com perda de conectividade. A capacidade de sincronização constante com a cloud e posterior sincronização com o shadow device em caso de interrupções foi confirmada. A pesquisa concluiu que a complexidade de gerenciar um ecossistema IoT em fog computing foi reduzida significativamente usando as ferramentas da AWS.

IV.Resultados e Discussão

Os resultados demonstram a eficácia da arquitetura de fog computing na redução da latência em comparação com uma abordagem puramente baseada em cloud computing. Os testes com os shadow devices confirmaram a capacidade do sistema em manter a sincronização de dados mesmo com perdas de conexão temporárias, enfatizando a segurança e disponibilidade. A pesquisa demonstra a viabilidade de integração entre fog e cloud computing, utilizando os serviços da AWS para criar um ecossistema IoT resiliente e eficiente.

1. Resultados dos Testes de Latência

A análise dos resultados se concentrou na avaliação da latência, um fator crítico em aplicações de IoT. Os testes de latência, realizados com dois dispositivos ESP32 comunicando-se via MQTT com um Raspberry Pi como núcleo AWS IoT Greengrass, demonstraram a eficácia da arquitetura de fog computing em reduzir a latência em comparação com um sistema baseado apenas em cloud computing. A baixa latência obtida confirma a vantagem da arquitetura proposta para aplicações que exigem respostas em tempo real. Embora os valores numéricos de latência não estejam explicitamente apresentados, a discussão qualitativa destaca a melhora significativa no tempo de resposta, validando a hipótese central do estudo sobre a eficiência da fog computing na redução da latência. Detalhes sobre a metodologia de medição da latência e os valores obtidos seriam apresentados em seções posteriores.

2. Performance dos Shadow Devices

Os testes com shadow devices da AWS demonstraram a capacidade do sistema em manter a consistência dos dados mesmo com interrupções na conectividade. A análise do comportamento dos shadow devices mostrou a sua contribuição para a independência do ecossistema fog em relação a dispositivos específicos. A capacidade de sincronização com a shadow device quando um dispositivo perde a conexão e posteriormente sincronizar com a nuvem, assegura a continuidade e a confiabilidade da operação do sistema. Esta característica aumenta a resiliência do sistema frente a problemas de conectividade e garante que as informações sejam preservadas e sincronizadas posteriormente, confirmando a utilidade do mecanismo de shadow devices para garantir a integridade e consistência dos dados na arquitetura de fog computing.

3. Benefícios da Integração Fog Cloud com AWS

A pesquisa conclui que o ecossistema fog implementado utilizando serviços da AWS apresentou vantagens significativas em relação ao desempenho, autonomia, disponibilidade e segurança dos dispositivos. A análise dos resultados confirmou a viabilidade e eficácia da integração entre fog computing e cloud computing, mesmo em cenários onde a conectividade entre ambos os ambientes não é constante. A facilidade de integração dos serviços da AWS, como o AWS IoT Greengrass e o Amazon FreeRTOS, contribuiu para a redução da complexidade do desenvolvimento e da implementação da solução. A capacidade de integrar o sistema de fog computing com os serviços da nuvem, sem depender de uma conexão constante, destaca a flexibilidade e resiliência da arquitetura proposta, mostrando uma solução eficiente para as exigências das aplicações da IoT.

V.Conclusão

A pesquisa conclui que a fog computing, com o uso da plataforma AWS, oferece uma solução eficiente para os desafios da IoT, superando as limitações da cloud computing em aplicações que exigem baixa latência, alta disponibilidade, e segurança robusta. A integração de tecnologias como AWS IoT Greengrass, Amazon FreeRTOS, e ESP32 proporcionam um ecossistema IoT escalável e eficaz.

1. Eficácia da Computação em Névoa para IoT

A conclusão reforça a ideia de que o rápido crescimento da Internet das Coisas (IoT) impulsionou a necessidade de novas tecnologias para lidar com desafios de conectividade, latência, largura de banda, e escalabilidade. A pesquisa demonstra que a computação em névoa (fog computing) surge como uma solução eficiente para esses problemas, superando as limitações da computação em nuvem tradicional em cenários de IoT. Os resultados obtidos no estudo de caso comprovam a eficácia da abordagem de fog computing na melhoria do desempenho de sistemas IoT. A redução da latência, a maior segurança e a maior disponibilidade são destacadas como vantagens significativas em relação à utilização da computação em nuvem isoladamente, validando a proposta central do trabalho.

2. AWS como Plataforma para Fog Computing

A conclusão enfatiza a contribuição da Amazon Web Services (AWS) na implementação prática da solução de fog computing. Os serviços da AWS, como AWS IoT Greengrass, Amazon FreeRTOS e AWS Lambda, mostraram-se eficazes na criação de um ecossistema IoT escalável e seguro. A facilidade de integração entre esses serviços e a redução na complexidade da implementação são destacadas como pontos positivos da plataforma AWS para o desenvolvimento de sistemas de fog computing para IoT. A conclusão reafirma a viabilidade da integração entre fog computing e cloud computing, utilizando a plataforma AWS como um facilitador nesse processo, mostrando que a arquitetura híbrida (fog e cloud) é uma abordagem eficiente para aplicações da internet das coisas.

3. Perspectivas Futuras e Contribuições

A conclusão aponta para a necessidade de adaptações tecnológicas para atender aos requisitos impostos pela crescente complexidade da IoT. A fog computing se posiciona como uma solução eficaz para as limitações da cloud computing, especialmente em relação a latência, largura de banda, escalabilidade, e segurança. O trabalho contribui para a validação da fog computing como uma arquitetura eficiente para aplicações IoT, mostrando a viabilidade de sua implementação usando os serviços da AWS e destacando as vantagens de desempenho e confiabilidade obtidas. A pesquisa abre caminhos para futuros estudos que explorem em maior profundidade os aspectos de performance e otimização de sistemas de fog computing, bem como a integração com outras plataformas e tecnologias.