imagens com escalabilidade - arquitetura de dados
DESCRIPTION
Nosso estudo de caso apresenta uma solução de arquitetura para o problema de geração e armazenamento de imagens para um site. Utilizando o poder da nuvem (cloud), combinado a tecnologias de cache e tratamento de imagens, foi possível alcançar escalabilidade e robustez na geração das imagens, o que permite ao negócio continuar estável e eficiente.TRANSCRIPT
MBA em Arquitetura de Soluções 1 Arquitetura de Banco de Dados
PÓS-GRADUAÇÃO
MBA em Arquitetura de Soluções
Arquitetura de Bancos de Dados
Solução para Publicação de Imagens em ambiente web
de alta disponibilidade
Constantino Junior - RM 45165
Felipe Caparelli - RM 45346
Felipe Lima - RM 45169
Robson Moreira - RM 44979
Profa Dra Regina Cantele
Out/2013
MBA em Arquitetura de Soluções 2 Arquitetura de Banco de Dados
1. Introdução
1. Sistema
2. Problemas
Objetivos
1. Arquitetura
• Tecnologias utilizadas
2. Aspectos Positivos e Negativos
3. Conclusão
SUMÁRIO
MBA em Arquitetura de Soluções 3 Arquitetura de Banco de Dados
1. Introdução - Sistema
O sistema de anúncios FIAP, é alimentado com diversostipos de imagens associadas a dados (imagens de veículos,anúncios, notícias e etc.).
As imagens desempenham um papel central na experiênciado usuário ao navegar no site.
O volume de imagens servidas mensalmente é bastante alto(em torno de 9 TeraBytes).
Uma mesma imagem pode ter tamanhos diferentes, o quemultiplica sua quantidade (mais de 1 milhão de imagens apartir de 350 mil originais).
MBA em Arquitetura de Soluções 4 Arquitetura de Banco de Dados
1. Introdução - Problemas
Armazenamento das imagens em servidores locais,alcançando o limite máximo de storage.
Gerenciador de cache instável, causando reinicializaçãodo sistema por estar sendo executado no mesmoservidor que o sistema principal.
Para diferentes tamanhos de imagens, era necessárioespaço em disco, fazendo o storage cresceraproximadamente quatro vezes ao número de anúnciosno site.
MBA em Arquitetura de Soluções 5 Arquitetura de Banco de Dados
2. Objetivos
Superar a limitação de storage local de imagens.
Disponibilizar imagens em qualquer tamanho deforma mais eficiente.
Administrar o cache sem impactar diretamente osistema.
MBA em Arquitetura de Soluções 6 Arquitetura de Banco de Dados
3. Arquitetura – Tecnologias utilizadas
Armazenamento na nuvem: Amazon S3 (Simple Storage Service)
Virtualização na nuvem: Amazon EC2
Processamento de imagens:
PHP + ImageMagick
Gerenciamento de Cache:
Nginx (cache em disco)
+ Varnish (cache em memória)
MBA em Arquitetura de Soluções 7 Arquitetura de Banco de Dados
Banco de dados
Amazon S3
FIAP Carros APPCliente
Gerenciador de imagens
3. Arquitetura – Fluxo de Informação
Bus
car
imag
ens
FIAP App
MBA em Arquitetura de Soluções 8 Arquitetura de Banco de Dados
3. Arquitetura – Requisição de Imagem
Amazon S3Cliente
FIAP carros APPBanco de dados
PHP App
Requisição
Varnish NginxSe existe, busca no S3
Se não, busca na aplicação
Servidor de imagens no EC2
FIAP App
MBA em Arquitetura de Soluções 9 Arquitetura de Banco de Dados
4. Aspectos Positivos e Negativos
Positivos
Escalabilidade
Eliminação dos limites de armazenamento
Gerencia de cache mais eficiente
Negativos
Latência
Complexidade da tecnologia
Exigência de profissionais capacitados
MBA em Arquitetura de Soluções 10 Arquitetura de Banco de Dados
5. Conclusões
O modelo tem se mostrado bem estável em relação ao desempenho e disponibilidade do serviço.
O controle do cache, por ter uma complexidade maior que o seu antecessor, exige uma atenção maior na implementação de novas funcionalidades.
MBA em Arquitetura de Soluções 11 Arquitetura de Banco de Dados
Obrigado !