Sumário
O propósito desse projeto é criar uma arquitetura utilizando os recursos da AWS que possibilite realizar a ingestão dos dados oferecidos pela Punk API e posteriormente com os dados coletados treine um modelo para prevê o IBU (International Bitter Unit), que representa uma escala, de 0 a 100, que mede o potencial de amargor conferido pelos lúpulos à cerveja.
Os dados estão disponível na API https://api.punkapi.com/v2/beers/random
e será consolidado no S3, para que posteriormente seja possível treinar o modelo.
A cada 5 minutos o CloudWatch irá acionar uma função Lambda `fn_extraction`, que alimentará o Kinesis Stream.
Existirá dois Kinesis Firehose, um será responsável por salvar os dados brutos em um bucket no S3 com nome raw. O outro firehouse irá aplicar uma transformação que selecionar as features que serão utilizadas e salvar no bucket no S3 com nome de cleaned.
Depois iremos organizar os dados no bucket cleaned com o Glue Data Catalog e posteriormente realizar consultas utilizando o serviço Athena.
Para crição do modelo é utilizado o SageMaker para gerenciar todo o processo da contrução do modelo, desde a etapa do preprocessamento até o registro do modelo.
Para rodar este projeto é necessário que tenha as seguintes requisítos:
- Terraform CLI
- AWS CLI configurado com a conta AWS
- architecture: Arquitetura do projeto utilizando terraform
- notebooks: Notebooks utilizados no Notebook Instance AWS
- src: Código fonte do projeto
Instala todas as dependências do projeto
Executa todos os testes no projeto
Este comando deve ser executado no inicio do projeto, para que faça o download de todas as depêndencias do terraform
Mostrará as atualizações que serão realizadas pelo Terraform
Aplicará as atualizações mostradas no comando make terraform-plan
que serão realizadas pelo Terraform.
Obs: Este comando utliza a opção -auto-approve
, por isso tome cuidado ao executar este comando.
Excluirá todos recursos gerenciados pelo Terraform.
- Terraform Best Practices
- Deploying AWS Lambda with Terraform Quick Tutorial and Basic Concepts
- SageMaker Examples
- Amazon SageMaker Model Building Pipelines
- Documentation - Amazon Pipelines
- Evolving Your Infrastructure with Terraform
- Terraform tutorial for beginners | deep dive of terraform | Infrastructure as Code