entregando ideias

61
Entregando ideias ROd

Upload: rodrigo-zaccara

Post on 08-Jul-2015

262 views

Category:

Technology


4 download

DESCRIPTION

Palestra realizada na Campus Party 2013 (http://uolparty.uol.com.br/palestras/entregando-ideias.htm) e no DevDay (http://www.devday.com.br/) falando sobre a plataforma de publicação, busca e entrega de conteúdo.

TRANSCRIPT

Page 1: Entregando ideias

Entregando ideias

ROd

Page 2: Entregando ideias

ROd [email protected]

@rzdrigo

Desenvolvedor especialista

em arquiteturas de alta

performance relacionadas a

publicação, busca e

entrega de conteúdo para o

portal UOL.

Mestre pelo IME-USP em

07/2012 =)

Page 3: Entregando ideias

Academia UOL 30/01/2013

Ideias

webmasters

analistas de qualidade

administradores de sistemas

editores

product owners

desenvolvedores

diretores gerentes

redatores

arquitetos de informação

Page 4: Entregando ideias

Academia UOL 30/01/2013

Ideias

webmasters

analistas de qualidade

administradores de sistemas

editores

product owners

desenvolvedores

diretores gerentes

redatores

arquitetos de informação

Enfim, todos!

Page 5: Entregando ideias

Modernizar a plataforma de publicação de conteúdo

Page 6: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento de nova

plataforma, o Publicador UOL!

Page 7: Entregando ideias

Academia UOL 30/01/2013

Premissas

• Suporte a diversos tipos de conteúdo:

homepages, notícias, placares, imagens…

• Versionamento:

• Templates

• Recursos estáticos

• Cada alteração editorial

• Importação de todo o acervo

Page 8: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Mudança de cultura

• Processo de importação acabou virando

uma migração para adequar parte do

conteúdo

• Transação distribuída entre: banco de

dados, storages de uso interno e externo,

além da busca interna

Page 9: Entregando ideias

O Publicador UOL não pode parar!

Page 10: Entregando ideias

Academia UOL 30/01/2013

Solução

Aumentar a disponibilidade!

Page 11: Entregando ideias

Academia UOL 30/01/2013

Solução

Adaptar o Publicador UOL para

funcionar com diversos servidores

ativos em diferentes datacenters!

Page 12: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Sessão do usuário distribuída

• Mecanismo de notificação de presença

entre os editores

• Filas de uso interno

• Motor de agendamento de conteúdo e

rotinas administrativas

Page 13: Entregando ideias

Automatizar a coleta de conteúdo de parceiros e

agências

Page 14: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento do

Coletor UOL!

Page 15: Entregando ideias

Academia UOL 30/01/2013

Premissas

• Migração dos scripts pré existentes de

coleta

• Interface administrativa

• Ferramenta de diagnóstico

• Relatórios

Page 16: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Engenharia reversa:

• Scripts em perl

• Aplicativos Java 1.2

• Ausência de informações sobre o fluxo dos

parceiros

Page 17: Entregando ideias

Aumentar a quantidade de páginas do portal em

buscadores

Page 18: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento de ferramenta

compatível com o formato

SiteMaps

Page 19: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Importação de 13 anos de conteúdo

• Integração ativa e passiva com outros

softwares da plataforma

Page 20: Entregando ideias

Criar páginas centralizadores de

conteúdo por entidade

Page 21: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento de um serviço

de gestão para tags

Page 22: Entregando ideias

Academia UOL 30/01/2013

Premissas

• API REST para integração com outros

sistemas

• Mecanismo para controle de ambiguidade

• São Paulo time x cidade x estado x santo

• Roberto Carlos cantor x jogador

Page 23: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Definição do conceito de tag

• Integração com diversos produtos da

plataforma

Page 24: Entregando ideias

Academia UOL 30/01/2013

Page 25: Entregando ideias

Diminuir a latência de indexação para as páginas

baseadas em tags

Page 26: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento da nova

plataforma de busca de conteúdo!

Page 27: Entregando ideias

Academia UOL 30/01/2013

Premissas

• Arquitetura distribuída e tolerante a falhas

• Conteúdo mais recente deve ser acessado

mais rapidamente

• Suporte a múltiplos repositórios de

conteúdo

• Importação de 14 anos de conteúdo

Page 28: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Baixa latência de indexação

• Suporte a múltiplos formatos de saída

• Alto volume de consultas

Page 29: Entregando ideias

Diversificar e aumentar o uso de enquetes pelo portal

Page 30: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento do novo

sistema de enquetes!

Page 31: Entregando ideias

Academia UOL 30/01/2013

Premissas

• Arquitetura distribuída e tolerante a falhas

• Integração nativa com o Publicador UOL

• Integração com sistema de captcha

• Testes de stress para descobrir o limite do

sistema

Page 32: Entregando ideias

Academia UOL 30/01/2013

Page 33: Entregando ideias

Realizar cobertura mais densa dos jogos olímpicos

Page 34: Entregando ideias

Academia UOL 30/01/2013

Solução

Busca por pacotes de dados sobre

os jogos olímpicos

Page 35: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento de sistema

para integração com

plataforma do COI!

Page 36: Entregando ideias

Academia UOL 30/01/2013

Premissas

• Arquitetura a tolerante a falhas

• Grande volume de dados:

• 40 mensagens por segundo

• 4 GB de XML por dia

• Transformar dados em informação

Page 37: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Devido ao alto volume de dados e

ausência de padrão, foi utilizada uma base

de dados orientada a grafos:

• 80 milhões de nós

• 240 milhões de relacionamentos

Page 38: Entregando ideias

Academia UOL 30/01/2013

Page 39: Entregando ideias

Academia UOL 30/01/2013

Page 40: Entregando ideias

Academia UOL 30/01/2013

Page 41: Entregando ideias

Aumentar a disponibilidade da plataforma de

entrega de conteúdo

Page 42: Entregando ideias

Suporte a múltiplos layouts na mesma url

Page 43: Entregando ideias

Academia UOL 30/01/2013

noticias.uol.com.br

Page 44: Entregando ideias

Academia UOL 30/01/2013

noticias.uol.com.br

Page 45: Entregando ideias

Academia UOL 30/01/2013

noticias.uol.com.br

Page 46: Entregando ideias

Diminuir a quantidade de chamadas aos

serviços de backend

Page 47: Entregando ideias

Otimizar de forma automática a entrega de

javascript, css e html

Page 48: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento da nova

plataforma de entrega de

conteúdo, Marrakesh!

Page 49: Entregando ideias

Academia UOL 30/01/2013

Premissas

• Arquitetura distruída e tolerante a falhas

• Detecção de User Agent

• Cache

• Melhores práticas do HTTP

Page 50: Entregando ideias

Academia UOL 30/01/2013

Maiores desafios

• Montar um ambiente de simulação fiel

• Ajustes de Garbage Collector

• Armazenar GBs no cache

• Separação das classes de navegadores

Page 51: Entregando ideias

Melhorar o tempo de carregamento do portal!

Page 52: Entregando ideias

Academia UOL 30/01/2013

Solução

Melhorar o tempo de

entrega das imagens!

Page 53: Entregando ideias

Academia UOL 30/01/2013

Solução

Desenvolvimento do Imagine!

Page 54: Entregando ideias

Academia UOL 30/01/2013

Premissas

• Realizar otimizações em tempo de entrega

da imagem

• Algoritmos de compressão lossless

• Remoção de meta informações (EXIF)

• Transformar JPEGs em progressive

Page 55: Entregando ideias

Melhorar sensação de carregamento em imagens grandes

Page 56: Entregando ideias

Academia UOL 30/01/2013

Solução

Carregar imagens em baixa

qualidade, passando a impressão

de iniciar o carregamento antes!

Page 57: Entregando ideias

Academia UOL 30/01/2013

Page 58: Entregando ideias

Utilizar formatos de imagens mais modernos se o navegador tiver suporte

Page 59: Entregando ideias

Academia UOL 30/01/2013

Solução

Suporte a WebP para navegadores

compativeis!

Page 60: Entregando ideias

Apresentação disponível em

http://www.uolhost.com.br/ciclodepalestras/

Page 61: Entregando ideias

Entregando ideias

ROd