SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
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

1

Arquitetura de Banco de Dados
SUMÁRIO

1. Introdução
1. Sistema
2. Problemas

Objetivos
1. Arquitetura
•

Tecnologias utilizadas

2. Aspectos Positivos e Negativos
3. Conclusão

MBA em Arquitetura de Soluções

2

Arquitetura de Banco de Dados
1. Introdução - Sistema
O sistema de anúncios FIAP, é alimentado com diversos
tipos de imagens associadas a dados (imagens de veículos,
anúncios, notícias e etc.).
As imagens desempenham um papel central na experiência
do 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 que
multiplica sua quantidade (mais de 1 milhão de imagens a
partir de 350 mil originais).
MBA em Arquitetura de Soluções

3

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ção
do sistema por estar sendo executado no mesmo
servidor que o sistema principal.
Para diferentes tamanhos de imagens, era necessário
espaço em disco, fazendo o storage crescer
aproximadamente quatro vezes ao número de anúncios
no site.

MBA em Arquitetura de Soluções

4

Arquitetura de Banco de Dados
2. Objetivos
Superar a limitação de storage local de imagens.
Disponibilizar imagens em qualquer tamanho de
forma mais eficiente.
Administrar o cache sem impactar diretamente o
sistema.

MBA em Arquitetura de Soluções

5

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

6

Arquitetura de Banco de Dados
3. Arquitetura – Fluxo de Informação

Cliente

Buscar imagens

Banco de dados

FIAP Carros APP
FIAP App

Gerenciador de imagens
Amazon S3

MBA em Arquitetura de Soluções

7

Arquitetura de Banco de Dados
3. Arquitetura – Requisição de Imagem
Servidor de imagens no EC2

Requisição

Se existe, busca no S3
Cliente

Varnish

Nginx

PHP App

Amazon S3

Se não, busca na aplicação

FIAP carros APP
FIAP App

MBA em Arquitetura de Soluções

8

Banco de dados

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

9

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

10

Arquitetura de Banco de Dados
Obrigado !

MBA em Arquitetura de Soluções

11

Arquitetura de Banco de Dados

Mais conteúdo relacionado

Semelhante a Imagens com Escalabilidade - Arquitetura de Dados

Serverless + Azure Functions | Minicurso Gratuito - Azure na Prática
Serverless + Azure Functions | Minicurso Gratuito - Azure na PráticaServerless + Azure Functions | Minicurso Gratuito - Azure na Prática
Serverless + Azure Functions | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharepccdias
 
Arquitetura de Informação
Arquitetura de InformaçãoArquitetura de Informação
Arquitetura de InformaçãoMelqui Jr
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSAmazon Web Services LATAM
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
 
Mbox Gerenciador de Impressos e Tablóides
Mbox Gerenciador de Impressos e TablóidesMbox Gerenciador de Impressos e Tablóides
Mbox Gerenciador de Impressos e TablóidesW21Mercurion
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do frameworkAlexandre Cardoso
 
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Renato Groff
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo SummitAmazon Web Services
 
Seus logs nas costas largas da AWS
Seus logs nas costas largas da AWSSeus logs nas costas largas da AWS
Seus logs nas costas largas da AWSMarcelo Palladino
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazerProjetos e TI
 
Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...
Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...
Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...Daniel Viveiros
 
App Web Escalaveis Fisl
App Web Escalaveis FislApp Web Escalaveis Fisl
App Web Escalaveis FislElton Minetto
 
Infoschema - Company Overview
Infoschema - Company OverviewInfoschema - Company Overview
Infoschema - Company OverviewRenilton Oliveira
 
Bdii aula01 apresentacao
Bdii aula01 apresentacaoBdii aula01 apresentacao
Bdii aula01 apresentacaosamuel1562314
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeiMasters
 

Semelhante a Imagens com Escalabilidade - Arquitetura de Dados (20)

Serverless + Azure Functions | Minicurso Gratuito - Azure na Prática
Serverless + Azure Functions | Minicurso Gratuito - Azure na PráticaServerless + Azure Functions | Minicurso Gratuito - Azure na Prática
Serverless + Azure Functions | Minicurso Gratuito - Azure na Prática
 
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslidesharePalestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
Palestra big data_e_mineracao_dedados_5agosto13-versaoslideshare
 
Arquitetura de Informação
Arquitetura de InformaçãoArquitetura de Informação
Arquitetura de Informação
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
Mbox Gerenciador de Impressos e Tablóides
Mbox Gerenciador de Impressos e TablóidesMbox Gerenciador de Impressos e Tablóides
Mbox Gerenciador de Impressos e Tablóides
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do framework
 
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
Dicas para uma maior performance em APIs REST - Tech Meetup - Itaú Unibanco -...
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
 
Seus logs nas costas largas da AWS
Seus logs nas costas largas da AWSSeus logs nas costas largas da AWS
Seus logs nas costas largas da AWS
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazer
 
Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...
Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...
Criando uma plataforma mundial para engajamento de usuários para a Copa do Mu...
 
App Web Escalaveis Fisl
App Web Escalaveis FislApp Web Escalaveis Fisl
App Web Escalaveis Fisl
 
Infoschema - Company Overview
Infoschema - Company OverviewInfoschema - Company Overview
Infoschema - Company Overview
 
Bdii aula01 apresentacao
Bdii aula01 apresentacaoBdii aula01 apresentacao
Bdii aula01 apresentacao
 
Sql Server
Sql ServerSql Server
Sql Server
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato Groffe
 
MVC
MVCMVC
MVC
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 

Mais de Felipe Caparelli

Arquitetura db (app + web)
Arquitetura db (app + web)Arquitetura db (app + web)
Arquitetura db (app + web)Felipe Caparelli
 
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...Felipe Caparelli
 
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Felipe Caparelli
 
Dicas sobre API (case Stormpath, Edmunds e Twitter)
Dicas sobre API (case Stormpath, Edmunds e Twitter)Dicas sobre API (case Stormpath, Edmunds e Twitter)
Dicas sobre API (case Stormpath, Edmunds e Twitter)Felipe Caparelli
 

Mais de Felipe Caparelli (8)

Arquitetura db (app + web)
Arquitetura db (app + web)Arquitetura db (app + web)
Arquitetura db (app + web)
 
Porteiro digital
Porteiro digitalPorteiro digital
Porteiro digital
 
Mercado digital
Mercado digitalMercado digital
Mercado digital
 
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
Aplicabilidade do BI na Gestão Pública - Case: Centro de Operações RIO (Smart...
 
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
Resenha de artigo - Query Processing over Data Warehouse using Relational Dat...
 
API - Como fazer?
API - Como fazer?API - Como fazer?
API - Como fazer?
 
Dicas sobre API (case Stormpath, Edmunds e Twitter)
Dicas sobre API (case Stormpath, Edmunds e Twitter)Dicas sobre API (case Stormpath, Edmunds e Twitter)
Dicas sobre API (case Stormpath, Edmunds e Twitter)
 
Ambientes do futuro
Ambientes do futuroAmbientes do futuro
Ambientes do futuro
 

Imagens com Escalabilidade - Arquitetura de Dados

  • 1. 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 1 Arquitetura de Banco de Dados
  • 2. SUMÁRIO 1. Introdução 1. Sistema 2. Problemas Objetivos 1. Arquitetura • Tecnologias utilizadas 2. Aspectos Positivos e Negativos 3. Conclusão MBA em Arquitetura de Soluções 2 Arquitetura de Banco de Dados
  • 3. 1. Introdução - Sistema O sistema de anúncios FIAP, é alimentado com diversos tipos de imagens associadas a dados (imagens de veículos, anúncios, notícias e etc.). As imagens desempenham um papel central na experiência do 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 que multiplica sua quantidade (mais de 1 milhão de imagens a partir de 350 mil originais). MBA em Arquitetura de Soluções 3 Arquitetura de Banco de Dados
  • 4. 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ção do sistema por estar sendo executado no mesmo servidor que o sistema principal. Para diferentes tamanhos de imagens, era necessário espaço em disco, fazendo o storage crescer aproximadamente quatro vezes ao número de anúncios no site. MBA em Arquitetura de Soluções 4 Arquitetura de Banco de Dados
  • 5. 2. Objetivos Superar a limitação de storage local de imagens. Disponibilizar imagens em qualquer tamanho de forma mais eficiente. Administrar o cache sem impactar diretamente o sistema. MBA em Arquitetura de Soluções 5 Arquitetura de Banco de Dados
  • 6. 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 6 Arquitetura de Banco de Dados
  • 7. 3. Arquitetura – Fluxo de Informação Cliente Buscar imagens Banco de dados FIAP Carros APP FIAP App Gerenciador de imagens Amazon S3 MBA em Arquitetura de Soluções 7 Arquitetura de Banco de Dados
  • 8. 3. Arquitetura – Requisição de Imagem Servidor de imagens no EC2 Requisição Se existe, busca no S3 Cliente Varnish Nginx PHP App Amazon S3 Se não, busca na aplicação FIAP carros APP FIAP App MBA em Arquitetura de Soluções 8 Banco de dados Arquitetura de Banco de Dados
  • 9. 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 9 Arquitetura de Banco de Dados
  • 10. 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 10 Arquitetura de Banco de Dados
  • 11. Obrigado ! MBA em Arquitetura de Soluções 11 Arquitetura de Banco de Dados