Pular para o conteúdo principal

Postagens

Mostrando postagens de dezembro, 2014

Arquitetura evolutiva no Qual Canal

Ontem eu falei de Arquitetura Evolutiva , então nada melhor que dar um exemplo de como isso já ocorreu comigo na prática. Já que nos últimos anos estive trabalhando no Qual Canal , vou usá-lo como exemplo, mas isso já aconteceu comigo em diversos outros sitemas e serviços. Para quem não conhece, o QC é uma ferramenta que fornece inteligência em cima dos comentários presentes nas redes socias sobre programas de televisão. Quando comecei no projeto ele já possuía um código existente. Consistia em um protótipo feito pelo Farinha e Anderson para experimentar como tratar os dados do twitter . Este protótipo já realizava a coleta de dados, inseria em uma base MySQL e gerava um ranking , usando Django . Para quem conhece um pouco de processamento de Big Data sabe que essa não é uma arquitetura ideal esse tipo de serviço. Talvez para alguém mais versado no meio, a primeira decisão seria de jogar esse protótipo fora e começar algo mais robusto. Porém, esse protótipo atendia perfeitame

Arquitetura Evolutiva tem que respirar

Uncle Bob é um grande defensor da filosofia em que o desenvolvedor deve adiar ao máximo as decisões que criam amarras ao seu código. Esta é considerada prática já estabelecida quando estamos tratando de componentes externos como Bancos de Dados (por mais que alguns não consigam seguir essa filosofia), mas o que Robert quer é ir além, onde nosso código tenha o mínimo de dependência tanto de ferramentas, frameworks até mesmo a  nossa arquitetura de deploy . "A good architect defers the decision about how the system will be deployed until the last responsible moment." http://t.co/JWaKBYh14o — Fabricio Buzeto (@nukdf) December 8, 2014 De início pode não pareceruma tarefa fácil. Como desenvolvedores vivemos uma batalha diária a cada tomada decisão. Estas devem encontrar o equilíbrio entre a sustentabilidade de longo prazo do nosso sistema e a velocidade com que conseguimos colocá-lo no ar . Afinal, o valor presente em um software  cuja a manutenção seja impraticável é t