All posts by Leandro Carioca

Puppet e infraestrutura distribuída de MTAs

Pois bem. Mesmo já tendo ouvido falar do Puppet, nunca tive a necessidade (ou o prazer inenarrável) de usá-lo nos clientes que atendo. Até que a oportunidade veio. E achei simplesmente Incrível.
Gerência de configuração (configuration management ) e automação da TI (IT Automation) são assuntos sempre muito discutidos pelo pessoal de desenvolvimento e operações. Com a moda DevOps, todo mundo ama o Puppet! Cumpre o papel e manda muito bem nessas áreas fazendo valer o esforço de aprendizado.

Meu cliente querido queria ter a possibilidade de ativar múltiplas VPSes em vários lugares. Assim poderia trabalhar estratégias de segmentação, custo e disponibilidade. Bom desafio! Ótimo para tentar algo com o Puppet. Foi o que fiz: adquiri um ebook que virou minha leitura diária por uma semana e comecei os laboratórios na prática.

O único pré-requisito da estrutura é trabalhar com arquitetura x64 mas não por causa do Puppet e sim por causa dos pacotes que o cliente tem para instalação, CentOS 6.x, capacidade de processamento de 3.0Ghz e 1GB de RAM. Necessidades pequenas para um projeto de porte. Pelo uso e estudo, vi que Debian tem todos os pacotes necessários também. É uma opção mas para mim, redhat-like-lover, vamos de CentOS. Uma VPS ficou dedicada ao papel de repositório GIT e essa mesma se tornou o MX da estrutura, bem como processador de bounces e feedbackloop. Após definir alguns módulos e variáveis e templates e linhas e linhas de conf no Puppet (falar é bem mais fácil) temos o resultado: Configuração de rede, hostname, dns server , ftp server, alguns scripts de apoio ao mta, o mta propriamente dito (com pools de ip, logs etc), tudo o que o cliente precisa é configurado em 5 min de trabalho em qualquer VPS de qualquer lugar do mundo. Fiquei apaixonado pela ferramenta e daqui pra frente a ideia é aprender mais. Além do mais, evita a fadiga da repetição e tracking de alterações e a mente agradece ;-)

Porque falei de repositório git lá em cima? O ebook que usei como referência não usa o puppet master que seria o servidor da estrutura e cita bons motivos para isso como maior demanda de configuração e manutenção. Aceitei a proposta e fui pelo git, porém, em um lab caseiro, próximo passo será brincar SIM com a estrutura completa.

Onde eu me encaixo? (o famigerado graymail)

No início de 2010 eu vi pela primeira vez a definição do que a maioria dos sites que se relacionam com os clientes/usuários por email costumam fazer. Foi em um post no blog do time da Microsoft, onde eles publicaram um estudo sobre os e-mails que eram spam para alguns e não-spam para outros. Afirmavam que os resultados das filtragens usadas no Hotmail (hoje outlook.com), esse conjunto de técnicas de detecção e contenção que formam o excelente(???) Smartscreen, chegaram a um ponto em que “spam de fato não entra mais”. Mas “spam de fato” era spam para quase todo mundo. Esses outros e-mails não. Algo havia de ser feito para resolver o problema dos e-mails de ofertas, news, updates de redes sociais etc, que naquele momento, representavam uma grande porcentagem do total de emails que transitavam pelo ecossistema do Hotmail e nem sempre eram bem-vindos ou, em dado momento, deixavam de ser.

E-mails que, pela clássica definição de spam, não podiam ser chamados assim (pois em algum momento houve no mínimo um desejo “primitivo” de recebê-los) receberam um nome: GRAYMAIL – basicamente e-mails que em um momento são queridos mas em outro não são mais.

Desse momento em diante conclui que a maioria dos meus clientes se encaixam nessa definição. Em 2011, um novo post mostrando mais avanços. E eis que então, nos dias atuais, todo o esforço da indústria de ferramentas e serviços antispam são voltadas para esses caras! E “esses caras” pode ser VOCÊ! Por isso o engagement, a relação do usuário, dono da mailbox, com o SEU CONTEÚDO,  torna-se tão importante. Pois bem. O que já era difícil tem se tornado cada vez mais complicado. Fazer com que o seu conteúdo chegue na caixa de entrada ou em qualquer outra “tab” como “promotions”, “social”, “updates” nos tira horas de sono revisando estrutura, fazendo warm ups, pesquisando BLs, compactuando com best practices. Tudo muito mais difícil hoje em dia. Minhas mailboxes agradecem ;)

Agora me diz, onde eu me encaixo?

A pergunta para essa resposta é muito simples. Veja:

  • Você comprou um CD com alguns gazilhões de e-mails na feirinha da esquina para enviar as promoções de cremes e perfumes da sua tia: spammer! louco! péssimo sobrinho!
  • Você tem um site onde algumas pessoas se cadastram. Você não confirma esses cadastros de nenhuma forma e manda e-mails da padaria da esquina: spammer! spammer! Queimem o spammer!
  • Você tem um site de informações, sobre as descobertas das plantas mais exóticas do mundo em risco de extinção. Algumas pessoas se cadastram e você dispara, nesse momento, um e-mail para esse cadastro confirmando a inscrição (e a intenção) para receber as novidades: Show! Está fazendo muito bem!!!
  • Uma parte dos botânicos de plantão não abrem mais seus e-mails. Pior! Alguns (loucos) até reportam que o seu e-mail é spam, clicando no famigerado botãozinho “isso é spam” ou coisa do tipo: bem… seu e-mail se tornou um graymail. (…e provavelmente você esqueceu do link visivel de descadastro)
  • Com um novo site (depois de um mega trabalho porque o outro começou a ficar mal visto na internet), você fez todo o processo de inscrição e confirmação e ainda manda periodicamente mas não tão frequente um e-mail pedindo para o cadastrado confirmar que ainda tem interesse em receber seus updates: você é meu cliente preferido! :) 

Nesse último caso, eu gosto de pensar que temos aí a origem da análise (e geração de “score”) do engajamento do cliente com o seu conteúdo…. O que acham?