Todo o nosso tubo de dados em um MacBook Pro

Por Andrew Backes, Engenheiro de Software (Data pipeline)


Achamos que seria muito legal se pudéssemos executar uma cópia exata de todo o nosso tubo de dados localmente. Isto abriria uma série de possibilidades. A que mais nos entusiasmava: testar a integração do sistema, mas nos nossos computadores portáteis. Durante as últimas semanas de Junho, foi nisto que nós (a equipa de dados do ShareThis) trabalhámos.

Então, o que significa isto, exactamente? Neste momento, o nosso pipeline de dados corre num cluster de cerca de 30 nós. Ele interage com um cluster Cassandra, um cluster Aerospike, dois clusters Kafka e um nó Graphite/Seyren. O objectivo era fazer com que tudo isto funcionasse de alguma forma num único portátil. Além disso, nós queríamos que o pipeline ingerisse dados e que a coisa correta saísse pela outra ponta.

O primeiro passo foi a contenção das nossas aplicações. A parte complicada foi que as nossas aplicações não foram escritas com esta capacidade em mente. Mas, por sorte, usamos modelos de injeção de dependência e adaptador durante o desenvolvimento. Isto acabou por ajudar bastante a conseguir que as coisas se ligassem correctamente. O Docker Compose também ajudou nesse sentido. Cerca de uma semana depois de termos tudo isso funcionando, as funcionalidades avançadas de rede do Docker 1.7 foram anunciadas. Essas novas funcionalidades teriam tornado o nosso trabalho muito mais fácil.

No final, usamos 8 contentores portuários (cada um representando um grupo VPC da Amazônia) para nossas aplicações internas e um único contentor portuário para cada Cassandra, Aerospike, Kafka 7, Kafka 8, e Graphite. Como estávamos rodando isso no Mac, também tivemos que bombear a quantidade de memória e espaço em disco disponível para o boot2docker no VM. Foi um momento de alegria quando colocamos alguns dados em frente ao pipeline, pudemos rastreá-los no grafite e ver a versão totalmente processada sair pela outra ponta.

Sobre ShareThis

ShareThis has unlocked the power of global digital behavior by synthesizing social share, interest, and intent data since 2007. Impulsionado pelo comportamento do consumidor em mais de três milhões de domínios globais, ShareThis observa acções em tempo real de pessoas reais em destinos digitais reais.

Subscreva a nossa Newsletter

Receba as últimas notícias, dicas e actualizações

Assine

Conteúdo relacionado