Skip to content

Projeto de Big Data, implementando um Data Lake completo em nuvem (Cloud), Serverless, no ecossistema da AWS, utilizando as principais ferramentas (Cloud9, Kinesis, DynamoDB, IAM, S3, Lambda, Glue, Athena).

License

Notifications You must be signed in to change notification settings

alexandremcastro/Data-Lake-Serverless-AWS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Data Lake Serverless (AWS)

GitHub license

📝Nota:: Eu não sou responsável pelos custos do projeto, isso significa que qualquer gasto que ocorra durante a realização do projeto, como utilização de serviços, não é de minha responsabilidade. É importante que você esteja ciente desses custos e os gerencie adequadamente.

Arquitetura do projeto

Este projeto tem como objetivo oferecer um Data Lake na nuvem, sem servidor, utilizando os serviços da Amazon Web Services (AWS).

Para atender a essa necessidade, ofereço a criação de um Data Lake na nuvem, utilizando os serviços da AWS. A AWS é uma plataforma líder de computação em nuvem que oferece uma ampla variedade de serviços para atender às necessidades de diferentes tipos de empresas.

A escolha de uma arquitetura Serverless é uma opção que tem se mostrado cada vez mais popular no mundo da computação em nuvem. Com essa abordagem, a responsabilidade pela infraestrutura é transferida para o provedor de serviços em nuvem, permitindo que as empresas se concentrem em suas atividades principais.

Além disso, a utilização de serviços da AWS permite que o Data Lake seja altamente escalável e resiliente, garantindo que ele possa lidar com grandes volumes de dados e oferecer alta disponibilidade aos usuários.

Essa será a arquitetura a ser seguida no projeto:

Diagrama sem nome.jpg

Tecnologias

Cloud9KinesisDynamoDBIAMLambdaS3GlueAthena

Motivação

Este projeto experimental é o resultado das minhas experiências com a implementação de um Data Lake Serverless utilizando os serviços da Amazon Web Services (AWS).

Foi uma oportunidade para aplicar meus conhecimentos em tecnologia da AWS e construir uma solução de Data Lake Serverless, que pode ser utilizada por empresas que precisam lidar com grandes volumes de dados. Aprendi muito durante o processo e espero poder utilizar esse conhecimento em projetos futuros.

Sumário

Pré-requisitos

📝Nota: Este projeto foi concluído em Fevereiro de 2023, e é importante ressaltar que alguns dos requisitos abordados podem sofrer alterações ao longo do tempo. Como em qualquer área de tecnologia, novas soluções e tecnologias surgem constantemente, o que pode tornar algumas das abordagens e soluções apresentadas neste projeto desatualizadas em algum momento.


1. Serviço Cloud9

Para que é usado o serviço Cloud9? Ele fornece um terminal de comando para uma instância EC2. Isso é essencial neste projeto, pois será nele que serão gerados os dados para consumo

Vá no painel e na pesquisa procure e clique no serviço Cloud9

Untitled

Você será redirecionado a essa tela

Clique em: Criar ambiente

Untitled

Coloque um nome para identificação, a descrição é opcional

Mantenha as outras opções em padrão

Untitled

💡: Verifique se a instância que está sendo criada é coberta pelo nível gratuito.


Untitled

Para criar a o Cloud9, clique em Criar

Untitled

Para acessar o terminal criado pelo Cloud9, clique em: Em aberto

Untitled

A criação do serviço demora alguns minutos, pois ainda será criado o serviço EC2 simultaneamente. Ao criar você será redirecionado para essa tela:

Untitled

É importante manter essa tela aberta até o fim do projeto, nela que será rodado o script responsável por gerar os dados para o Data Lake


2. Arquivos do Producer e Consumer

Baixando o Producer e Consumer

Para baixar o Producer/Consumer, abra a janela com o terminal do Cloud9 e rode o comando:

curl -s [https://data-processing.serverlessworkshops.io/client/client.tar](https://data-processing.serverlessworkshops.io/client/client.tar) | tar -xv

Untitled

Essa etapa será repetida algumas vezes, então é de extrema importância saber como realizar ela até o fim do projeto


Producer

O Producer é responsável por simular os dados dos sensores nos cavalos, é um script fornecido pela AWS feito em Go, já compilado.

Para começar gerar os dados, abra o terminal do Cloud9 e rode o comando:

./producer

Untitled


Consumer

O Consumer é responsável por consumir os dados dos sensores nos cavalos, neste caso, o Consumer está lendo os dados gerados pelo Producer, o Consumer também é um script fornecido pela AWS feito em Go, já compilado.

Para verificar se está tudo funcionando corretamente, abra uma nova janela do terminal e rode o comando:

./consumer

Untitled

Para parar de rodar ambos, faça o comando: CTRL + C

Tarefas

Tarefas concluídas

  • Descrever sobre a finalidade do Data Lake
  • Realizar os requisitos mínimos
  • Configurar os serviços AWS
  • Testar/Verificar o Data Lake

Futuras implementações

  • Simular novas requisições do cliente
  • Acrescentar novos serviços ao Data Lake, atentendo ao cliente
  • Montar um relatório de consumo mensal com o serviço Billing
  • Organizar os dados em camadas, semelhante a medalhão

Links

Projeto:

Projeto no Site

Projeto no Notion

Projeto no GitLab

Projeto no GitHub

Artigos orientadores:

Computação sem servidor - AWS

Conceitos básicos da arquitetura sem servidor da AWS - AWS

Deploying Code Faster with Serverless Framework and AWS Service Catalog - AWS

Deploy and manage a serverless data lake on the AWS Cloud by using infrastructure as code - AWS

Conclusão

Em resumo, a proposta desse projeto é criar um Data Lake em nuvem, Serverless, utilizando os serviços da AWS, permitindo que as empresas possam armazenar, processar e analisar grandes volumes de dados de maneira escalável e eficiente.

About

Projeto de Big Data, implementando um Data Lake completo em nuvem (Cloud), Serverless, no ecossistema da AWS, utilizando as principais ferramentas (Cloud9, Kinesis, DynamoDB, IAM, S3, Lambda, Glue, Athena).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published