Saltar para: Posts [1], Pesquisa [2]

SAPO developers blog

SAPO developers blog

SAPO Fotos em 2009

Janeiro 25, 2010

jac

O SAPO está organizado internamente em pequenas equipas, que vão desde 1 a uns 7 elementos técnicos, dependendo do projecto.

 

Apesar da grande sinergia entre as várias equipas, cada qual cuida do seu projecto como se fosse a coisa mais importante do seu trabalho.

 

A equipa do SAPO Fotos, com 3 elementos técnicos, teve um ano em cheio (como de resto todas as equipas tiveram).

 

O Pedro Fonseca, um dos membros da equipa, escreve-nos um pouco sobre este ano:


"2009 foi um ano atarefado para a equipa do SAPO Fotos. Apesar de poucas mudanças verdadeiramente visíveis para o utilizador final, nos bastidores estivemos ocupados a melhorar muito e a preparar a plataforma para o futuro. Os nossos dois maiores milestones foram o lançamento de um novo Core para o serviço com, entre outros, uma camada de abstracção de dados e um sistema de cache completamente renovado. Os componentes principais transversais ao serviço foram portados para utilizar este novo Core. Com isto preparámos todo o serviço para escalar melhor em número de conteúdos por utilizador, na prática fazendo com que navegar em álbuns com milhares de imagens seja tão rápido como navegar em álbuns de poucas dezenas. Conseguimos igualmente com isto aumentar bastante a disponibilidade do serviço, que deixou de estar sobrecarregado em alturas de pico do dia; e por outro lado demos ao serviço mecanismos para lidar com situações de carga extrema, não o deixando degradar ao ponto da indisponibilidade. Falando ainda de navegação, melhorámos muito a experiência de navegação nas listagens de imagens e álbuns. As pesquisas efectuadas no serviço são neste momento praticamente instantâneas, quer por tags, quer por termos.

O segundo milestone chave para o ano de 2009 foi uma nova arquitectura de entrega de imagens, desenvolvida internamente e chamada quickCachr. Esta arquitectura nova tomou em conta as especificidades do serviço SAPO Fotos para a) servir imagens da forma mais eficiente possível introduzindo um novo esquema de URLs; b) terminar a necessidade de envolver dois requests para servir cada imagem; c) suprimir uma falha de segurança na anterior arquitectura; d) tornar independente do serviço SAPO Fotos, e de uma eventual indisponibilidade sua, o servir de imagens para destinos externos (blogs, sites notícias, etc); e) melhorar drasticamente os tempos de carregamento de imagens, principalmente em páginas com bastantes imagens em simultâneo; f) continuar a suportar transparentemente os - até então - 2.5M de imagens disponíveis com links espalhados pela web. Esta nova arquitectura introduziu uma melhoria drástica em termos de alta disponibilidade e alta escalabilidade no serviço, até aqui aí não existente de todo.

Entre estes dois milestones grandes, a equipa teve ainda tempo de lançar o arquivo de imagens completo da Agência Lusa - um acervo histórico importantíssimo sob a perspectiva da identidade do nosso país, juntamente com uma funcionalidade de pesquisa avançada, não existente no serviço SAPO Fotos original. Lançámos um novíssimo upload múltiplo via web - esta talvez a novidade mais visível para o utilizador final, replicando o comportamento da nossa velhinha aplicação desktop de upload de imagens para Windows e acabando de vez com o anterior upload web que só permitia o envio de 8 imagens de cada vez. Neste momento é possível importar de uma só vez um conjunto grande de imagens. Estivemos envolvidos no desenvolvimento e lançamento do SAPO Campus, uma plataforma baseada em vários dos serviços SAPO, desenhada para integrá-los e fornecê-los no contexto do ensino superior. Estivemos envolvidos no desenvolvimento e lançamento do SAPO Fotos no MEO, introduzindo uma funcionalidade que permite a um cliente MEO ver imagens do SAPO Fotos na sua televisão. Aproveitámos e melhorámos os nossos processos de deployment e rollout para produção, automatizando grandemente estas tarefas e tornando-as menos propícias a erros. Melhorámos a eficiência da nossa API em cerca de 500%. Introduzimos bugfixes (e possivelmente com isso novos bugs :-) em centenas de situações identificadas internamente e por utilizadores nossos.

Foi um ano verdadeiramente em cheio. Perspectivamos para este novo surpresas 'mais' visíveis. :-) Vão estando atentos para mais novidades."

quickCachr

Outubro 29, 2009

jac

A equipa do SAPO Fotos realizou-nos uma apresentação interna sobre a sua nova plataforma de entrega de imagens.

O SAPO Fotos conta já com mais de 5 milhões de fotos, submetidas por mais de 120,000 utilizadores, servindo uma média de 400 pedidos por segundo.

O quickCachr caracteriza-se principalmente pela utilização do Stormap (um server orientado a conteúdos estáticos desenvolvido no SAPO) numa farm com hosts redundantes e por vários módulos que tratam de aspectos como Load Balancing, tratamento de URLs legacy e atributos como a privacidade das imagens ou o tamanho solicitado nos pedidos.

Outro pormenor interessante da plataforma é a Legacy Box, um conjunto de máquinas para servir os URLs legacy. Estas máquinas fazem uso de Nginx, nginx_eval_module, memcached, Apache e PHP para servir estes URLs.

A equipa realizou testes de benchmarking com apenas um frontend e, tendo em conta vários níveis de concorrência, no pior cenário destes benchmarkings o quickCachr conseguiu um melhoramento (perante a plataforma actual) de 495 para 1,179 transacções por segundo; no melhor cenário, de 627 para 2,933.

Mais sobre mim

Subscrever por e-mail

A subscrição é anónima e gera, no máximo, um e-mail por dia.

Arquivo

  1. 2012
  2. J
  3. F
  4. M
  5. A
  6. M
  7. J
  8. J
  9. A
  10. S
  11. O
  12. N
  13. D
  1. 2011
  2. J
  3. F
  4. M
  5. A
  6. M
  7. J
  8. J
  9. A
  10. S
  11. O
  12. N
  13. D
  1. 2010
  2. J
  3. F
  4. M
  5. A
  6. M
  7. J
  8. J
  9. A
  10. S
  11. O
  12. N
  13. D
  1. 2009
  2. J
  3. F
  4. M
  5. A
  6. M
  7. J
  8. J
  9. A
  10. S
  11. O
  12. N
  13. D