O documento discute o uso da biblioteca Thumbor para gerar versões reduzidas de imagens de forma rápida e escalável. Apresenta casos de uso da Globo.com que processa 50 milhões de imagens por dia com apenas 4 servidores e discute arquiteturas em camadas para lidar com volumes ainda maiores. Também aborda funcionalidades como reconhecimento facial, formatos responsivos e WebP.
2. Eu
• Bernardo Heynemann
• @heynemann - bernardo@corp.globo.com
• Gerente da Home da globo.com
• Dev
• Pai
3. Porquê o thumbor?
• ImageMagick, GraphicsMagick, PIL,
OpenCV, SORLThumbnails, …
• Biblioteca vs Image-as-a-service
• Reconhecimento Facial
• Comunidade Software Livre
• Eco-sistema extremamente adaptável
4. Comunidade
• 143 Forks
• 35 Contribuidores
Diretos
• Bibliotecas mantidas
pela comunidade
• Diversas issues
criadas e resolvidas
pela comunidade
• Segurança!!!
11. Storage de Originais
• Thumbor obtém
novos originais
através de
loaders
• Loader mais
comum é o
HTTPLoader
12. Storage de Formatos
• Processar novas imagens custa tempo
• Thumbor armazena o resultado do
processamento
• Caso seja necessário Reconhecimento
Facial, uma imagem temporária é gerada
• Diversos storages já existem e podem
facilmente ser criados (disco, Mongo,
Redis, AWS…)
17. Responsive Images
• Com thumbor é MOLE!
• srcset já disponível no Chrome Stable (34)
• É um draft na W3C, então mais browsers virão!
<img
src="u8rjDobxgyAX-uXFeeg-JvFdWr4=/400x0/foo.jpg"
srcset=“
/YbrTAi51EXok2o25X5Smn50BCl0=/480x0/foo.jpg 480w,
/20swCCedkSK4t7vwdDskoxxYhfA=/960x0/foo.jpg 480w 2x
">
18. WebP
• Novo formato de imagens impulsionado pelo
Google
• Consideravelmente menor que ambos PNG e JPG
• Suporte no thumbor é transparente para
usuários
• Browsers que suportam WebP recebem WebP e
os demais recebem a imagem no formato
original