SlideShare uma empresa Scribd logo
1 de 36
Arquitetura para processamento
de dados em stream
Utilizando MongoDB, RabbitMQ e Go
TDC . SP . 2016
Sede em
Floripa
Love Mondays:
3ª Melhor empresa
para se trabalhar
Big Data Times
independentes
Neoway
O que a NEOWAY faz?
Dados qualificados
+ de 19 bilhões
De documentos lidos, analisados e
disponibilizados para nossos clientes
Data Science
O que fazemos?
Scheduling de inputs para os BOTs
O que fazemos?
Serviços de tratamento e enriquecimento de dados
Exemplos:
Apresentação do TDC -> APRESENTACAO DO TDC
DILMA VANA ROUSSEFF -> 133.267.246-91
O que fazemos?
Integração e disponibilização de dados
Exemplo:
Informações das empresas da Receita Federal
+
Informações dos sócios das Juntas Comerciais
O que fazemos?
Geração de histórico das fontes capturadas
Exemplos:
Dia 1: Nome da empresa -> Neoway
Dia 2: Nome da empresa -> Neoway Business
O que fazemos?
Criação de modelos estatísticos para qualificação e
predição
Exemplos:
- Nível de atividade de uma empresa
- Faturamento Presumido
Arquitetura 1.0
➔ Custo elevado e dificuldades para escalar;
➔ Atraso na disponibilização dos dados para as aplicações;
➔ Dificuldades para simular o ambiente existente;
➔ Dificuldade de mapear os impactos de alterações.
Problemas
Nova arquitetura!
Nova Arquitetura
Go, Rabbit e Mongo
Go
- Simples e leve
- Concorrência/paralelismo
- É demais!!!! :)
Rabbit
- Servidor de mensageria
- Filas e tópicos
- Persistência de mensagens
Mongo
- NoSQL
- Orientado à documento
- Não possui schema definido
- JSON como protocolo
Scheduling de Inputs
Tratamento e enriquecimento
Integração e disponibilização
Disponibilização do histórico capturado
O que ganhamos?
Tempo: Disponibilização dos dados de forma
contínua e integrada entre todas as aplicações.
Escalabilidade: Necessidade de escalar
horizontalmente devido ao aumento do número de
fontes capturadas.
Infraestrutura imutável: Scripts automatizados,
evitando máquinas “flocos de neve”.
Qualidade: Arquitetura orientada à testes
automatizados.
Custo: Possibilidade de redução de custos de infra.
Testes
Testes Unitários
Vantagens:
- Executam em poucos segundos
- Segurança para implementar
novas features
- Teste de erros e exceções
Desvantagens:
- Alguns problemas com Mongo
e Rabbit não eram percebidos e
só foram descobertos nos
primeiros deploys
Testes end-to-end
Testes end-to-end
Vantagens:
- Garante que todos os serviços
funcionem de forma integrada
- Ideia futura de integrar os bots
nesses testes também
Desvantagens:
- Mais lento
- Mais díficil de encontrar onde
está o problema
Testes de integração
Vantagens:
- Necessidade de ter uma meio
termo entre os testes unitários e
os testes end-to-end
- Permitiram testes integrados com
o Mongo e o Rabbit, porém com
cases específicos de cada serviço
Desvantagens:
- Setup desses testes são mais
complexos que os testes
unitários
- Mais difícil garantir o
isolamento dos testes
Testes de carga
Características:
- Possível verificar se novas
features não impactaram na
performace do stream de dados
- Verificar qual dos microserviços
pode estar dimuindo a velocidade
do fluxo de dados
Ferramentas:
- rabbit-mq-stress-tester:
https://github.com/backstop/rabbit-
mq-stress-tester
- boom:
https://github.com/rakyll/boom
Tests Dicas
- Table driven tests
- Test Fixtures
- Mock package
Table Driven Tests
Test Fixtures
Mock Package
sources/sources_mock.gocontrol/control_test.go
Golang exemplos
● Neoway
https://github.com/NeowayLabs
● Terraform
https://github.com/hashicorp/terraform
● Docker
https://github.com/docker/docker
● Kubernetes
https://github.com/kubernetes/kubernetes
Bóra trabalhar
em Floripa?
Obrigado!!!
:)

Mais conteúdo relacionado

Destaque

Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
 
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdfAAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdfMicrosoft Brasil
 
Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012Leandro Silva
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureLuciano Condé
 
O que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaSO que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaSLucas A. Romão
 
Cidades Inteligentes e Big Data
Cidades Inteligentes e Big DataCidades Inteligentes e Big Data
Cidades Inteligentes e Big DataDiego Lusa
 
Big Data em 8 perguntas - 09.10.2014 - DATANORTE / GOV RN
Big Data em 8 perguntas -  09.10.2014 - DATANORTE / GOV RNBig Data em 8 perguntas -  09.10.2014 - DATANORTE / GOV RN
Big Data em 8 perguntas - 09.10.2014 - DATANORTE / GOV RNMarcos Luiz Lins Filho
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slidesSuissa
 
TDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3DTDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3Dtdc-globalcode
 
TDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3DTDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3Dtdc-globalcode
 
TDC2016POA | Trilha Web - A essência do CSS
TDC2016POA | Trilha Web - A essência do CSSTDC2016POA | Trilha Web - A essência do CSS
TDC2016POA | Trilha Web - A essência do CSStdc-globalcode
 
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...tdc-globalcode
 
Levando seu app do iOS para o macOS
Levando seu app do iOS para o macOSLevando seu app do iOS para o macOS
Levando seu app do iOS para o macOSGuilherme Rambo
 
Agilizando o desenvolvimento web com SASS
Agilizando o desenvolvimento web com SASSAgilizando o desenvolvimento web com SASS
Agilizando o desenvolvimento web com SASSRenato Galvão
 
TDC 2016 - Garantindo a qualidade da sua infraestrutura
TDC 2016 - Garantindo a qualidade da sua infraestruturaTDC 2016 - Garantindo a qualidade da sua infraestrutura
TDC 2016 - Garantindo a qualidade da sua infraestruturaFernanda Martins
 
TDC 2016 - Sass: CSS com super-poderes.
TDC 2016 - Sass: CSS com super-poderes.TDC 2016 - Sass: CSS com super-poderes.
TDC 2016 - Sass: CSS com super-poderes.Rodrigo Amora
 

Destaque (20)

A plataforma Azure da Microsoft
A plataforma Azure da MicrosoftA plataforma Azure da Microsoft
A plataforma Azure da Microsoft
 
Big Data, JVM e Redes Sociais
Big Data, JVM e Redes SociaisBig Data, JVM e Redes Sociais
Big Data, JVM e Redes Sociais
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdfAAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
 
Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012Sistemas para o Mundo Real - TDC 2012
Sistemas para o Mundo Real - TDC 2012
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL Azure
 
O que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaSO que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaS
 
Cidades Inteligentes e Big Data
Cidades Inteligentes e Big DataCidades Inteligentes e Big Data
Cidades Inteligentes e Big Data
 
Big Data em 8 perguntas - 09.10.2014 - DATANORTE / GOV RN
Big Data em 8 perguntas -  09.10.2014 - DATANORTE / GOV RNBig Data em 8 perguntas -  09.10.2014 - DATANORTE / GOV RN
Big Data em 8 perguntas - 09.10.2014 - DATANORTE / GOV RN
 
Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 
Mongo db no mundo real slides
Mongo db no mundo real   slidesMongo db no mundo real   slides
Mongo db no mundo real slides
 
Hadoop, Big Data e Cloud Computing
Hadoop, Big Data e Cloud ComputingHadoop, Big Data e Cloud Computing
Hadoop, Big Data e Cloud Computing
 
TDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3DTDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3D
 
TDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3DTDC2016SP - Trilha Impressão 3D
TDC2016SP - Trilha Impressão 3D
 
TDC2016POA | Trilha Web - A essência do CSS
TDC2016POA | Trilha Web - A essência do CSSTDC2016POA | Trilha Web - A essência do CSS
TDC2016POA | Trilha Web - A essência do CSS
 
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
 
Levando seu app do iOS para o macOS
Levando seu app do iOS para o macOSLevando seu app do iOS para o macOS
Levando seu app do iOS para o macOS
 
Agilizando o desenvolvimento web com SASS
Agilizando o desenvolvimento web com SASSAgilizando o desenvolvimento web com SASS
Agilizando o desenvolvimento web com SASS
 
TDC 2016 - Garantindo a qualidade da sua infraestrutura
TDC 2016 - Garantindo a qualidade da sua infraestruturaTDC 2016 - Garantindo a qualidade da sua infraestrutura
TDC 2016 - Garantindo a qualidade da sua infraestrutura
 
TDC 2016 - Sass: CSS com super-poderes.
TDC 2016 - Sass: CSS com super-poderes.TDC 2016 - Sass: CSS com super-poderes.
TDC 2016 - Sass: CSS com super-poderes.
 

Semelhante a Arquitetura de dados em stream - TDC SP 2016

ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaTdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaDextra Sistemas / Etec Itu
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescerGuilherme
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaJosé Roberto Araújo
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwarePaulo Lacerda
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5
Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5
Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5Symantec Brasil
 
Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoRicardo Longa
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataformaAlessandro Almeida
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk BrasilSplunk
 
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...Ricardo Ferreira
 
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Renato Groff
 
TDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de Facebook
TDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de FacebookTDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de Facebook
TDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de Facebooktdc-globalcode
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealDenodo
 
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Renato Groff
 
Webinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big DataWebinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big DataAmazon Web Services LATAM
 

Semelhante a Arquitetura de dados em stream - TDC SP 2016 (20)

ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaTdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescer
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de Software
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Webinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros ÁgeisWebinar DevOps - Encontros Ágeis
Webinar DevOps - Encontros Ágeis
 
Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5
Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5
Be Aware Webinar Symantec - O que há de novo? Data Loss Prevention 14.5
 
Big Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenhoBig Data como Serviço: da captura à visualização de dados com alto desempenho
Big Data como Serviço: da captura à visualização de dados com alto desempenho
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk Brasil
 
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
Transformando Grandes Volumes de Dados em Insight em Tempo Real usando Fast D...
 
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
Monitorando APIs REST com o Application Insights - .Azure Weekend 2018 - Camp...
 
Metralhando sua API
 Metralhando sua API Metralhando sua API
Metralhando sua API
 
TDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de Facebook
TDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de FacebookTDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de Facebook
TDC 2013 SP | Trilha ALM: Desenvolvimento em Tempos de Facebook
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo Real
 
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
Monitorando APIs REST com o Application Insights - .NET São Paulo - Junho-2018
 
Webinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big DataWebinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big Data
 
Cadoop
CadoopCadoop
Cadoop
 

Arquitetura de dados em stream - TDC SP 2016