entregando ideias

Post on 08-Jul-2015

264 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

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

Entregando ideias

ROd

ROd rzaccara@uolinc.com

@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 =)

Academia UOL 30/01/2013

Ideias

webmasters

analistas de qualidade

administradores de sistemas

editores

product owners

desenvolvedores

diretores gerentes

redatores

arquitetos de informação

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!

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

Academia UOL 30/01/2013

Solução

Desenvolvimento de nova

plataforma, o Publicador UOL!

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

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

O Publicador UOL não pode parar!

Academia UOL 30/01/2013

Solução

Aumentar a disponibilidade!

Academia UOL 30/01/2013

Solução

Adaptar o Publicador UOL para

funcionar com diversos servidores

ativos em diferentes datacenters!

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

Automatizar a coleta de conteúdo de parceiros e

agências

Academia UOL 30/01/2013

Solução

Desenvolvimento do

Coletor UOL!

Academia UOL 30/01/2013

Premissas

• Migração dos scripts pré existentes de

coleta

• Interface administrativa

• Ferramenta de diagnóstico

• Relatórios

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

Aumentar a quantidade de páginas do portal em

buscadores

Academia UOL 30/01/2013

Solução

Desenvolvimento de ferramenta

compatível com o formato

SiteMaps

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

Criar páginas centralizadores de

conteúdo por entidade

Academia UOL 30/01/2013

Solução

Desenvolvimento de um serviço

de gestão para tags

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

Academia UOL 30/01/2013

Maiores desafios

• Definição do conceito de tag

• Integração com diversos produtos da

plataforma

Academia UOL 30/01/2013

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

baseadas em tags

Academia UOL 30/01/2013

Solução

Desenvolvimento da nova

plataforma de busca de conteúdo!

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

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

Diversificar e aumentar o uso de enquetes pelo portal

Academia UOL 30/01/2013

Solução

Desenvolvimento do novo

sistema de enquetes!

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

Academia UOL 30/01/2013

Realizar cobertura mais densa dos jogos olímpicos

Academia UOL 30/01/2013

Solução

Busca por pacotes de dados sobre

os jogos olímpicos

Academia UOL 30/01/2013

Solução

Desenvolvimento de sistema

para integração com

plataforma do COI!

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

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

Academia UOL 30/01/2013

Academia UOL 30/01/2013

Academia UOL 30/01/2013

Aumentar a disponibilidade da plataforma de

entrega de conteúdo

Suporte a múltiplos layouts na mesma url

Academia UOL 30/01/2013

noticias.uol.com.br

Academia UOL 30/01/2013

noticias.uol.com.br

Academia UOL 30/01/2013

noticias.uol.com.br

Diminuir a quantidade de chamadas aos

serviços de backend

Otimizar de forma automática a entrega de

javascript, css e html

Academia UOL 30/01/2013

Solução

Desenvolvimento da nova

plataforma de entrega de

conteúdo, Marrakesh!

Academia UOL 30/01/2013

Premissas

• Arquitetura distruída e tolerante a falhas

• Detecção de User Agent

• Cache

• Melhores práticas do HTTP

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

Melhorar o tempo de carregamento do portal!

Academia UOL 30/01/2013

Solução

Melhorar o tempo de

entrega das imagens!

Academia UOL 30/01/2013

Solução

Desenvolvimento do Imagine!

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

Melhorar sensação de carregamento em imagens grandes

Academia UOL 30/01/2013

Solução

Carregar imagens em baixa

qualidade, passando a impressão

de iniciar o carregamento antes!

Academia UOL 30/01/2013

Utilizar formatos de imagens mais modernos se o navegador tiver suporte

Academia UOL 30/01/2013

Solução

Suporte a WebP para navegadores

compativeis!

Apresentação disponível em

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

Entregando ideias

ROd

top related