+55 11 3446-8380 [email protected]

5 minutos de leitura

A arquitetura lambda leva os seguintes princípios em sua concepção: genérica, escalável, tolerante a falhas humanas, hardware e robusta em sistemas de processamento de dados em baixa latência. Assim conseguimos atender os 3 “V” do BIG DATA que é Velocidade, Variedade e Volume. Ao decorrer desse artigo vamos abordar um pouco sobre as camadas da arquitetura Lambda e como é a interação sobre elas no processamento de dados, e como isso seria implementado na nuvem da Microsoft Azure de uma forma básica e inicialmente, mas que poderá ser escalonada conforme a Volumetria dos dados e Variedade que forem acrescentadas sem perder a Velocidade em uma arquitetura baseada em Saas – Software as a Service (Software como Serviço).

Nathan Marz foi o primeiro a utilizar o termo Lambda Architecture no Twitter para resolver esse problema de garantir dados em near real-time em uma infraestrutura de BI e BIG DATA, para isso temos o seguinte cenário base da arquitetura Lambda:

Figura 1- Fonte : http://lambda-architecture.net/img/la-overview_small.png

  1. Todos os dados são enviados para duas camadas de processamento, Batch e processamento Speed.
  2. A camada de batch tem a função de gerenciar o master dataset e pré-processar para a visão de batch
  3. O Serving layer indexa as batch views para realizarmos query sobre essas views.
  4. A camada de speed traz dados em baixa latência para serem mesclados com as batches views e criar as real time views, trazendo sempre uma visão atual dos dados.
  5. A camada de query pode trazer os resultados realizando o merging das camadas de serving e speed trazendo visões de baixa latência.

Em um ambiente azure a arquitetura lambda segue os mesmos princípios de escalabilidade, genérica e tolerante a falhas como podemos observar:

Figura 2 – Fonte: Imagem DataEx

  1. Na camada de Batch utilizamos o serviço Data Factory para realização dos ETLs proventos de diversas fontes de dados armazenando em um Data Lake semi estruturado que posteriormente pode ser analisado e processado pelo Azure Databricks que é um serviço SaaS para Spark onde podemos criar clusters para executar pipelines e salvar de forma estruturada na camada de Serving.
  2. No Serving layer temos o SQL Data Warehouse que é MPP onde podemos criar clusters para servir tanto a camada de merge quanto o próprio databricks fazendo comparação de dados já processados anteriormente e gerando novos insigths.
  3. A camada de speed utilizamos crawlers publicados em Conteiners e em Azure Functions onde ficamos lendo das fontes de dados e os logs de movimentações em real-time e empurramos esses dados em filas no Azure Event Hub que são processadas constantemente pelo Stream Analytics e armazenadas tanto diretamente na camada de query em um dataset do Power BI quanto na camada de serving no SQL Data Warehouse e no Data Lake para tratativa pelo Databricks.
  4. A camada de Merge serve para trazer segurança e velocidade no acesso a dados em batch, tudo controlado pelo Active Directory do Azure e utilizando features do Analysis Services Tabular para aumentar essa velocidade e segurança como o Row Level Security e roles de acesso a modelos de dados.
  5. Na camada de query utilizamos o Power BI para consumir e visualizar esses dados, e disponibilizar um self-service adequado para a área de negócios.

Assim temos uma arquitetura baseada em Saas escalável e robusta que conseguira atender a todas as demandas de dados das demais áreas da empresa sem depender da área de BI realmente desenvolver os relatórios e sim provisionar os dados de forma confiável.

A arquitetura Lambda hoje é uma das mais usadas no mercado pela fácil interação e baixa latência de processamento que todos os negócios exigem para tomar decisões baseadas em dados.

Fico por aqui pessoal, se tiverem dúvidas ou quiserem se aprofundar mais podem entrar em contato no meu email [email protected]

Abraço!

Bruno

REFERÊNCIAS:

HAUSENBLAS, Michel. Lambda Architecture. lambda-architecture, Los Angeles .2017. Disponível em: http://lambda-architecture.net/. Acesso em: 06, Abril de 2019.