Posts do mês novembro, 2009

boo-box na neve

Seguindo nossa tradição de incentivar a prática de esportes a nossos ninjas (de preferência os que produzam adrenalina), anunciamos o patrocínio do XXIV Campeonato Brasileiro Ikwa boo-box de Esqui Alpino.

Além do Esqui, temos ninjas que praticam: Parkour, Travessia Marítima, Skate, Pólo Aquático, Kung Fu, Systema (arte marcial russa) e Boxe.

A competição aconteceu em agosto no Chile. Saiba mais sobre o campeonato.

cbdn2

cbdn1

Deixe um comentário

Nova infraestrutura de servidores Web do Sistema boo-box

Quando se trabalha numa empresa como a boo-box, é preciso ter uma equipe capaz de desenvolver soluções tecnológicas extraordinárias, em um espaço de tempo extraordinário.

Nos últimos meses, a boo-box experimentou um crescimento sensacional:

impressions

Como podem ver, o aumento de exibição de publicidade deu um salto de 85% no último mês!
Para aguentarmos o ritmo, os sistemas tiveram que ser revistos e reestruturados.

Antes de uma explicação mais detalhada, vou resumir nossa abordagem: monitore ao máximo, use cache em tudo o que puder, e cuide bem do seu banco de dados :)

Explicando em detalhes

Para se destacar como um player de publicidade online[bb], é preciso seguir alguns princípios:

  1. Velocidade: ninguém vai ficar esperando para ver um anúncio carregar.
  2. Escalabilidade: viralizações, crescimentos acelerados etc. Se sua aplicação não for altamente escalável, melhor mudar de atividade, ou abrir mão de dormir todos os dias :)
  3. Monitoramentos: monitore tudo! E automatize os monitoramentos sempre que possível.
  4. Processos: crie, e siga, processos para os diversos tipos de situações.

Com isso em mente, nossos Ninjas fizeram um refactoring no coração do sistema: na
Camada de Aplicação.

O objetivo era esgotar ao máximo a capacidade das linguagens e plataformas nginx + Ruby + Merb + MySQL, com algoritmos e topologias mais poderosos.

Portanto, mudamos a lógica, sincronicidade e cacheamento de partes-chave. Em comparação com o post anterior “A infraestrutura de servidores Web do Sistema boo-box“, alguns pontos da topologia foram alterados:

infra

Além disso, implementamos metodologias de monitoramento que nos fizeram ter maior controle sobre a aplicação.

Nomes das máquinas e versões de releases

Conforme explicamos no post anterior sobre nossa infraestrutura, nossas máquinas são batizadas em homenagem a personagens do anime Dragon Ball Z[bb], como Korin, Kami, Cell, Raditz, Trunks, Goku, Gohan entre outros.

Ultimamente, começamos também a identificar nossos releases, que levam nomes de filmes clássicos. Os dois primeiros releases foram:

  1. Metropolis, do clássico de ficção científica de 1927 de Fritz Lang;
  2. Hannibal, filme de 2001 bastante conhecido.

Cluster Application

Essa camada é composta pelo conjunto de servidores que processam nossas regras de negócio. São eles que decidem quais anúncios serão exibidos nas vitrines, o que acontece quando há um clique e o que fazer com os dados de um novo publisher cadastrado no sistema.

Essa foi a camada com maiores modificações. O refactoring priorizou quatro pontos essenciais:

  1. Lógica: otimizamos o algoritmo de processamento, tornando-o muito mais eficiente para esta nova fase do sistema.
  2. Memcached: aumentamos em 80% a utilização de memcached. Sempre respeitando as regras de negócio, foi possível cachear grande quantidade de informações de forma a otimizar o tempo de resposta. Essa alteração afetou diretamente a camada de banco de dados de aplicação, pois fez com que a aplicação consultasse consideravalmente menos esse banco de dados.
  3. Gravação de logs: tornamos a gravação de logs assíncrona. Isso quer dizer que a camada de aplicação não fala mais diretamente com nosso MySQL[bb] de logs. Ele coloca numa fila (Beanstalkd) que, posteriormente, será consumida por um programa Ruby que, por sua vez, será responsável por armazenar no banco de dados.
  4. Número de Workers: fizemos alguns benchmarks que nos indicaram o número ideal de workers. Antes, usávamos uma lógica complexa que media a capacidade total de processamento de cada máquina para chegar no número ideal que era, à época, muito alto. Porém, nossos benchmarks indicaram que esse número não deve ser muito grande. Quanto mais workers, mais os núcleos (cores) das máquinas ficarão ocupados e, portanto, mais lento será o processamento individual deles. Porém, se esse número for pequeno demais, o loadbalancer poderá não achar workers disponíveis, mesmo que eles processem rapidamente. No nosso caso, o número ideal está entre 20 e 30 workers.

Testamos também a utilização do método run_later do MERB. Porém, chegamos à conclusão que teríamos maior poder de gerenciamento usando o Beanstalkd. Além disso, o Beanstalkd possui uma funcionalidade de persistência.

Cluster Log e BI

Todas as requisições feitas a boo-box são gravadas em nosso Cluster de Log. Vitrines visualizadas, cliques em anúncios, ações efetuadas em sites de parceiros, tudo é registrado.

Como disse no começo do post: tome cuidado com seu banco de dados[bb]! Ele poderá tirar suas noites de sono :)

Nessa camada, foi importante unir tunning com processamento assíncrono:

  1. Tunning: fique atento às configurações de key_buffer, max_connections, table_cache, thread_concurrency, innodb_buffer_pool_size e, claro, à sua estrutura de índices nas tabelas.
    Além disso, implementamos um sistema de particionamento nativo do MySQL que otimiza a estrutura de armazenamento no HD (MySQL Reference Manual – Chapter 18. Partitioning).
  2. Processamento assíncrono: como explicado no Cluster Application, a aplicação não fala mais diretamente com os banco de dados de logs, mas sim com uma fila. Dessa forma, um não dependerá mais do outro, melhorando, e muito, o tempo de resposta de nossas vitrines.

Essas otimizações também afetaram nosso BI, responsável por processar todos os dados recebidos para serem utilizados posteriormente (relatórios, métricas, projeções etc).

Cluster data source

Essa camada é responsável por armazenar informações específicas do sistema.

Com todas as otimizações feitas nas outras camadas (principalmente o aumento de utilização de Memcached), não foi necessário realizar grandes modificações aqui. Pelo contrário: reduzimos a quantidade de máquinas dessa camada, diminuindo o número de servidores.

Cluster products cache

Grande parte dos anúncios exibidos nas vitrines boo-box são produtos ofertados por e-commmerces parceiros. Como as informações dos produtos não precisam ser mantidas ao longo do tempo, fazemos um cache temporário dos dados.

Com as alterações no Cluster Application, foi possível diminuir consideravelmente a quantidade de máquinas dessa camada.

Lembre-se: sempre que utilizar CouchDB ou MySQL, é importante ter máquinas de armazenamento rápido, para uma melhor performance de I/O. Portanto, Cloud Computing pode não ser uma boa opção para essa camada.

Load balancer e Static Files

São as máquinas que recebem as requisições dos usuários e direcionam a carga para um dos servidores de aplicação.

No webserver nginx, usávamos o algoritmo round-robin. Com o aumento de escala, essa lógica se mostrou não ser a melhor pra nós, pois quando algum de nossos servidores (workers) demorava a responder, comprometia todas as requisições que ali entravam. Dessa forma, aplicamos o módulo Fair, que permite ao nginx enviar requisições para as máquinas de aplicação que estiverem com menor processamento no momento.

Monitor

Para garantir a saúde dos sistemas, é importante monitorar ao máximo as diversas camadas e aplicativos envolvidos. Porém, isso não requer apenas ferramentas. É importante implantar processos manuais e automáticos.

Atualmente, utilizamos ferramentas como Munin, Monit, Webalizer, Pingdom além de ferramentas próprias que fazem esse papel.

Realizamos checks horários, diários, semanais e mensais, que nos geram dados para tomadas de decisão de mudanças ou manutenção da nossa estrutura.

É importante observar que a automatização de processos é a meta ideal, porém não deve ser impeditivo. Muitos técnicos e gestores de infraestrutura negligenciam as práticas de monitoramento por “não terem automatizado o processo”, gerando muito mais problemas do que soluções. Se necessário, implemente processos manuais constantes. A disciplina é sua maior aliada.

Conclusão

Construir um sistema de alta disponibilidade não requer apenas soluções tecnológicas.

Práticas de gestão serão um diferencial necessário na solução final. Sem se perder no excesso de burocracia, a criação de processos e práticas de trabalho bem definidas farão com que a equipe possa unir soluções de longo prazo (implementação lenta), com soluções de curto prazo (implementação veloz), sabendo, portanto, lidar com todos os tipos de problemas que um sistema dessa complexidade irá criar.

Quem faz isso acontecer

Comments (35)

HTC Magic – Resultado surpreendente

A campanha do novo celular HTC Magic produzida pela agência Aktuell já é considerada um case especial para boo-box, uma vez que estamos acompanhando esse produto desde o seu lançamento oficial.

A campanha está obtendo uma excelente exposição para este aparelho inovador e gerando interesse em mais de 7.700 usuários que já clicaram para participar da promoção. Se você ainda não participou, clique aqui para concorrer a um HTC Magic novinho!

E para complementar esse sucesso, alguns publishers estão divulgando de diversas formas a campanha. Veja a atenção especial dada pelos nossos amigos do LINK NINJA, que fizeram um post sobre a campanha.

link_ninja

Esse tipo de ação é legal porque além de divulgar melhor o produto, incentiva os leitores a conhecer melhor o que está sendo anunciado e consequentemente aumenta a sua taxa de cliques! Por exemplo enquanto o CTR da campanha, muito bom por sinal, está em 0,12%, o CTR do LINK NINJA está girando em torno de 0,30%, mais que o dobro.

Você publisher dos segmentos de Tecnologia, Entretenimento e Negócios pode seguir o exemplo do Márcio Lima do LINK NINJA e fazer o seu post, quem sabe não vira nosso destaque na próxima newsletter?!

Comments (5)

Prêmio Caboré 2009

O Prêmio Caboré instituído pelo jornal Meio & Mensagem em 1980, tem como objetivo homenagear profissionais e empresas que se destacam em seus respectivos setores de atuação e contribuem para o avanço da indústria da propaganda e o desenvolvimento do marketing e da comunicação no mercado brasileiro. O Prêmio Caboré transformou-se, no decorrer dos últimos anos, no mais importante e cobiçado prêmio do mercado publicitário brasileiro. Esse destaque deve-se não apenas a credibilidade e respeito do veículo que o concede, o jornal Meio & Mensagem, líder absoluto entre as publicações especializadas em marketing e comunicação, como também ao processo de disputa, que neste ano acontecerá de 1º de novembro a 2 de dezembro.

Anualmente o Meio & Mensagem indica três concorrentes para a disputa em cada uma das 13 categorias, somando no total 39 concorrentes que participam de uma votação aberta entre seus assinantes. Apenas a indicação já é um grande reconhecimento nacional. Dois de nossos clientes foram indicados em categorias diferentes e contam com a ajuda da boo-box para fazer a campanha eleitoral. Conheça-os:

BorghiErh/Lowe

borghi

Nunca na história deste País, uma agência formada pela fusão de duas agências tinha sido indicada ao Caboré em menos de três anos de existência. Nunca na história deste País, uma agência que nunca tinha ganho o Caboré disputou o prêmio com agências como DM9 e Talent, que já ganharam várias vezes o prêmio. Nunca na história deste País, uma agência tinha saltado de 15ª a 4ª maior agência do País em um ano. Nunca na história deste País, uma agência viu a crise passar como marolinhas, pulou sem molhar os pés e ganhou as contas de BIC, FEI, Ericsson, 2001 Vídeo, Cotochés (Perdigão) e K-Y (J&J). Nunca na história deste País, a mesma agência tinha ganhado no ano anterior as contas de CAIXA, UOL, Confea, Knorr, Kibon, Skechers, Capricho e Metlife. Nunca na história deste País, uma agência tinha levado o único ouro em filme brasileiro no Fiap e sido finalista em Cannes com um filme que só perdeu em views na Internet para o vídeo da Susan Boyle. E nunca na história desta agência neste País, esta agência tinha vencido o prêmio Profissionais do Ano. Agora, cabe a você dizer se vamos continuar dizendo que nunca na história desta agência neste País, tínhamos ganhado o Caboré.

Fátima Rendeiro

fatima

Falar sobre a Fátima é fácil. Falar sobre a Fátima usando só 1.200 caracteres complica um pouquinho. Ela sempre olhou lá na frente e surpreendeu a gente um bocado de vezes com a sua vontade de somar forças. E tinha razão. Trabalhando de forma integrada com outras áreas, a Fátima fez mais do que ganhar prêmios: criou cases que o mercado reconheceu com o Destaque Profissional pela ABP, com o Maximídia e o Prêmio About. A Fátima vive no Rio, é diretora de mídia da Quê, mas está sempre deixando as fronteiras para trás. Ela criou a área de inovação e integração, no Grupo de Mídia do Rio de Janeiro, e levou para lá um pouco da cultura que costuma disseminar por aí: a de que o papel da mídia mudou tanto quanto a própria mídia. Fã das plataformas digitais, a Fátima quer acabar com a distância que ainda separa o off do online. Acho que a gente nem usou todos os 1.200 caracteres para pedir o seu voto. Tudo bem, tem algo mais que ela nos ensinou: a sermos objetivos e diretos ao falar com o público-alvo.

Comments (1)

Campanha Bota Pra Fazer

Entre os dias 16 e 22 de novembro o Brasil vai celebrar o empreendedorismo. De Norte a Sul, empresas, organizações e governos irão promover atividades dentro da Semana Global do Empreendedorismo, movimento mundial que acontece anualmente em 90 países durante sete dias.

logo_semana

“No ano passado, a Semana mobilizou mais de 1.400.000 pessoas e a meta para este ano é mais que dobrar este número”, afirma Rodrigo Teles, diretor-geral da Endeavor, entidade que lidera no Brasil o movimento. Outras entidades e empresas como SEBRAE, Junior Achievement, Natura, Grupo Santander, CONAJE, FGV e USP já aderiram e, cada uma delas, realizará gincanas, exposições, debates e outras ações para despertar o espírito empreendedor dos jovens brasileiros. A programação completa está disponível no site www.semanaglobal.org.br.

Campanha Bota Pra Fazer

A Semana conta também com a campanha Bota Pra Fazer, cujo objetivo é traduzir o conceito de empreendedorismo no Brasil e estimular a atitude empreendedora nos brasileiros. A ideia é incentivar o público a tirar suas ideias do papel, inspirado por empreendedores de sucesso.

O Bota Pra Fazer é uma campanha criada pela agência AFRICA e tem como slogan “Empreendedorismo é ser criativo, é ser proativo, é Botar Pra Fazer” que destaca empreendedores que transmitem a mensagem contando como ‘botaram pra fazer’. Na primeira versão, a campanha publicitária, contou com a participação de José Junior (Idealizador do AfroReggae), Luiz Seabra (Fundador da Natura), Luiza Helena Trajano (Superintendente do Magazine Luiza), Nega Gizza (Idealizadora da CUFA), Rodrigo Baggio (Idealizador do CDI), Oscar Metsavaht (Fundador da Osklen) e Michael Dell (Fundador da DELL Computadores).

42x28anuncioDell

Um ponto importante é que todos que participaram da produção da campanha Bota Pra Fazer – entre eles o Grupo ABC, Agência Africa, Pixel Labs, Polvora!, Produtora Panela e a boo-box – também o fizeram pro bono.

Deixe um comentário

Ganhar mais com seu site otimizando o uso de imagens

O tamanho, disposição e formas de utilização de imagens em um site varia bastante. Mas, basicamente, há duas maneiras de se utilizá-las em sites:

1. Um thumbnail que dá um preview e acesso a mais conteúdo. Seja o conteúdo uma versão maior da mesma imagem, ou link para artigos, vídeos e outros sites.
2. Ilustração pura e simples inserida paralelamente ao conteúdo, como no caso de artigos e notícias.

Imagens como thumbnails para artigos

Imagens como thumbnails para artigos

Entretanto, existe uma maneira de combinar essas formas de utilização em uma terceira, criando a possiblidade de rentabilização. Um estudo  demonstra que as pessoas são atraídas naturalmente por imagens, e quanto maior a imagem, melhor(fonte). Não apenas isso, mas também existe a tendência de se clicar em imagens, mesmo quando não há qualquer indicação de que isso resultará em algo (como por exemplo uma alteração de estado no mouse over, ou a presença do ícone “mãozinha”, indicando link).

Em muitos sites, especialmente de notícias, há pequenas e médias imagens inseridas no conteúdo com uma opção “clique para versão maior”. Mas, isso é na verdade um desperdício de recursos. Está sendo criada uma etapa a mais para o usuário acessar o mesmo conteúdo, apenas maior.

Imagem chamando a própria imagem

Imagem chamando a própria imagem

Salvo excessões de imagens muito detalhadas, por que não inserir a imagem em tamanho maior diretamente no conteúdo de texto? Ao fazer isso, é possível utilizar essa tendência natural de clicar em imagens para acessar outro conteúdo.

No caso, o conteúdo pode muito bem ser um link boo-box. Assim, o usuário terá acesso a outras informações, sejam produtos ou campanhas, que podem ser interessantes para ele e financeiramente benéficos para o publisher, aumentando a possibilidade de rendimento.

Muitos sites se utilizam de barras ao lado do conteúdo principal para inserir anúncios publicitários. E, embora eles recebam alguma atenção, os usuários estão ficando cada vez mais acostumados com essa prática e passam cada vez mais a ignorar aquele espaço. Enquanto isso, imagens inseridas no conteúdo possuem um “fator surpresa” que capturam a atenção de quem está visitando o site, e já estão contextualizadas pois foram selecionadas pelo publisher especialmente para aquele conteúdo.

É preferível usar imagens grandes para essa prática não só pelos motivos acima, mas também porque uma imagem pequena passa a idéia de “clique para ampliar”, o que pode gerar frustração ao usuário caso ele clique e veja um conteúdo diferente do que ele espera. Se a imagem já é grande, ele já acessou aquele conteúdo, e clica nela por curiosidade.

rio

Um detalhe curioso, mas que pode ser útil não só para a inserção de imagens em conteúdo, mas também para a criação de layouts em sites e campanhas, é a atração por rostos e olhos. Além de sermos atraídos por imagens em geral, rostos e olhos costumam prender ainda mais nossa atenção. E não apenas isso, mas também a direção para a qual os olhos numa imagem estão apontando, influenciam como vamos ler determinado conteúdo (fonte) .

olhos1olhos2olhos3olhjos4

Uma boa prática parece ser, então, usar thumbnails e outras imagens menores em uma página principal, utilizando-as para dar acesso aos artigos e notícias. Nas[bb] páginas individuais, use as imagens em tamanho grande (no mínimo 210×230 pixels) com links boo-box.

E, ao usar imagens com rostos humanos, procurar notar para onde eles estão olhando e tirar proveito disso nos layouts e distribuição de conteúdo.

Comments (1)