Arquitetura

1. Cloud - AWS

1.1. Amazon Redshift


Inicialmente temos ilustrado no diagrama acima o ambiente corporativo envia os dados das suas origens para o serviço S3, que consiste no repositório físicos dos arquivos que são armazenados em formato de objetos dentro de um Bucket, para realizar essa importação o 4insights disponibiliza uma seria de plug-ins para diversas ferramentas de ETL (Pentaho, Talend e outras) que vão extrair os dados das origens e envia-los ao S3 no formato Parquet e ira utilizar o catalogo criado no 4insights para definir quais colunas serão serão mapeadas para os arquivos, ao final do carregamento dos dados pro S3 o 4insights é acionado para criar as tabelas no Glue Data Catalog, que neste momento será utilizado para mapear as tabelas apontando para os arquivos, dessa forma já possível realizar as consultas o Athena, que consiste num serviço de consultas usando SQL padrão sem a necessidade um servidor.

Após identificarmos a primeira parte da arquitetura seguimos para a construção do Data Warehouse que utiliza o Redshift com Banco de dados de Data Warehouse, que realiza consultas diretamente do seu Data Lake usando o Spectrum, que permite que seja executado consultas em fontes de dados externas, possibilitando a integração entre todo o ambiente e os dados envolvidos.

Implementação 

Para a implementação dessa arquitetura é utilizado um script de implantação usando o serviço CloudFormation que é responsável por criar e configurar os recursos descritos no desenho de arquitetura, tais como:

  • EC2: Será criado uma maquina virtual que irá conter o console do 4insights que poderá ser acessado posteriormente via navegador.
  • RDS: Será criada uma instancia MySQL que irá conter as informações cadastradas no console do 4insights.
  • Bucket (DataLake): Será criado um bucket que irá conter os arquivos destinados ao Data Lake.
  • Glue Catalog: Será criado um database destinado ao Data Lake.
  • Bucket (Data Warehouse): Será criado um bucket que irá conter os backups das execuções realizadas no Redshift.
  • Redshift: Será criado um cluster do Redshift que é responsável por realizar o carregamento do Data Warehouse.
  • IAM Role: Será criada uma IAM Role que é utilizado pelo Redshift para acessos os dados externos carregados no ambiente do Data Lake.

Faça download do script do CloudFormation clicando aqui.

Para iniciar o processo de implementação é necessário primeiramente configurar a VPC (Virtual Private Cloud) para realizar o isolamento da rede e deve respeitar os seguintes requisitos:

  • Configurar 3 subnets's. Sendo 2 subnet's privadas, ambas em zonas de disponibilidades (AZ) diferentes.
  • 1 Subnet pública contendo um NAT para habilitar o acesso a internet das Subnet's privadas (O NAT só é necessário caso os recursos que estarão nas subnet's privadas necessitem acessar o console do 4Insights pela internet, caso contrário não a necessidade deste componente), caso tenha uma VPN configurada  para acessar VPC o console fica acessível diretamente da rede interna.

Após a configuração da VPC, é necessário a criação de um Key Pair para ser associado na criação da criação da EC2 (Elastic Compute Cloud) onde será implantado o console do 4insights.

Para finalizar a implementação basta navegar até o painel do serviço CloudFormation e selecionar o arquivo e preencher os parâmetros de acordo com seu ambiente, conforma as imagens abaixo:

Na primeira parte é necessário preencher as informações relacionadas ao console do 4insights, tais como VPC, Subnet, Tipo da Instancia e etc.


Continuação dos parâmetros desta seção.


Na próxima seção é necessário preencher as informações relacionadas ao ambiente de Data Lake, deverá ser informado o nome do bucket e o nome da base de dados onde ficaram as tabelas do Data Lake.


Na próxima seção é necessário preencher as informações relacionadas ao ambiente de Data Warehouse.


Na seção final é necessário preencher as informações de acesso do console do 4insights.


Ao preencher todas as informações clique no botão "Next" e ao final do processo não esqueça de habilitar a opção "I acknowledge that AWS CloudFormation might create IAM resources.".


Ao clicar no botão "Create", basta somente esperar o ambiente ser criado.


Depois que o ambiente for construído, selecione o Stack e clique na aba "Outputs" e localize a linha "4InsightsConsoleURL".



Clique no link e será aberto o 4Insights Console

Obs.: Após a criação do ambiente é possível que demore pelo menos de 5 a 10 minutos para a instalação do console na maquina virtual.