NOVABASE

NOVABASE

CABEÇALHO

MENU PRINCIPAL

CAMINHO PERCORRIDO

CONTEÚDOS

  • 2011-11-01 | Fibra

    Quando o Twitter cresce


    As falhas na idealização do sistema custaram caro à marca pois à medida que o número de utilizadores e de tweets foi crescendo começaram os problemas de lentidão e indisponibilidade gerando de tal forma má publicidade que poderia ter acabado com o serviço.

    Por: Marco Jorge, Arquitecto de Software da Novabase

    Em Setembro, o Twitter anunciou que tinha 200 milhões de utilizadores registados, 100 milhões activos que utilizam a plataforma uma vez por mês e 50 milhões que o fazem diariamente. Mas será que a arquitectura do sistema que suporta o Twitter previu o crescimento de dezenas de utilizadores para os 200 milhões? A resposta é simples: não! O Twitter teve problemas e teve de ser repensado.

    O Twitter original foi montado em 2006 de forma rápida para obter a funcionalidade pretendida, sem considerações especiais de escalabilidade ou desempenho. Na altura não existia forma de monitorização, logo não se conseguia saber se existia algum tipo de problema na aplicação. Estas falhas na idealização do sistema custaram caro à marca, pois, ainda em 2006, e à medida que o número de utilizadores e de tweets foi crescendo, começaram os 

    problemas de lentidão e indisponibilidade, gerando de tal forma má publicidade que poderia ter acabado com o serviço.

    É certo que não era fácil prever que esta rede social iria crescer desta maneira, mas a capacidade para suportar estes desafios é frequentemente o ponto diferenciador entre um sucesso e um fracasso. Foram vários os representantes do Twitter que afirmaram publicamente que o problema era arquitectural. Afinal, o sistema não tinha sido concebido para crescer tanto e tão rapidamente! A marca resolveu então recorrer a especialistas externos para resolver o problema e para lhe dar novos "músculos".

    Estes especialistas decidiram refazer a solução, substituindo módulos que já estavam no limite de utilização

  • por produtos mais robustos. Tiveram ainda de fazer um extenso trabalho de desenvolvimento à medida: os requisitos de escalabilidade e desempenho do Twitter eram simplesmente demasiado exigentes para serem garantidos por produtos tradicionais de mercado.

    Durante todo o período de implementação desta solução, e mesmo posteriormente até afinarem todas as agulhas, o Twitter continuou com falhas. Só em 2007 conseguiram estabilizar o sistema e garantir a usabilidade da aplicação. As mudanças arquitecturais não terminaram nessa data mas, desde então, têm sido motivadas por oportunidades de negócio emergentes e evoluções do próprio sistema.

    Estas questões arquitecturais não acontecem só ao Twitter. Projectos milionários como o iPhone 4 sofreram

    também da mesma doença. O iPhone e o Twitter conseguiram recuperar e vingar no mercado, mas houve outros que morreram à nascença e nunca chegaram ao grande público. E tudo devido às famosas falhas arquitecturais. Mas como podemos evitar erros do passado? Como podemos garantir que as nossas soluções são adequadas para sobreviver ao mundo real?

    A verdade é que não existe uma silver bullet para este problema complexo. No entanto, existe um conjunto de boas práticas que podem ajudar. A mais importante é definir correctamente as necessidades do sistema. Citando Fred Brooks: "The hardest single part of building a software system is deciding precisely what to build".

    Os visionários do Twitter falharam - talvez por não serem 

    astrólogos - na definição correcta do seu sistema. Novos projectos poderão evitar esses problemas garantindo que identificam correctamente, e na altura certa, os requisitos do sistema. Atributos como desempenho, escalabilidade e segurança não podem ser acrescentados a um produto que não foi desenhado para tal. Têm de ser pensados e incorporados na arquitectura de origem. Mas agora a pergunta é outra: será que a nova versão do Twitter foi pensada para suportar 500 milhões?

RODAPÉ