Upload
cleber-dantas
View
356
Download
2
Embed Size (px)
Citation preview
Globalcode – Open4education
Técnicas e recursos para desenvolvimento Web em cenários
de grande escala
Globalcode – Open4education
Cleber Dantas
Atua há 8 anos no mercado de TI
Especialista em desenvolvimento Web
MCAD e MCTS
Entusiasta Agile
Instrutor– Treinando.Net (http://www.treinando.net)
@cleberdantas
http://www.cleberdantas.com
Globalcode – Open4education
Minha Vida
Globalcode – Open4education
Dieta e Saúde
Globalcode – Open4education
Agenda da Saúde
Globalcode – Open4education
90 funcionários – 120 Até o fim do ano
Globalcode – Open4education
25 da área de tecnologia
Globalcode – Open4education
8 milhões de usuários/mês
Globalcode – Open4education
50 milhões pageviews/mês
Globalcode – Open4education
15 TB distribuídos/mês(js, css, html, images, vídeos)
Globalcode – Open4education
Introdução
Cenário de aplicações Web (Internet) comparados com sistemas internos exigem técnicas ou práticas que normalmente são ignorados ou desnecessárias
O ambiente de distribuição é praticamente infinito (navegadores, tipos de conexão, dispositivos, localização, etc)
Globalcode – Open4education
Agenda
Front-end
Delivery
Real time
Globalcode – Open4education
Front-End
Steve Sounders – “80% dos problemas de performance de aplicações Web estão no Front-end”
YSlow – Extensão do Firefox para análise de performance nas páginas – baseado nas 14 regras do livro High Performance Web Sites (existem outros templates)
Globalcode – Open4education
Front-end - Demo
sprite, paralelismo de downloads e minify js
Globalcode – Open4education
Ajax
Otimização do trafego de dados entre servidor e cliente (navegador)
Trafegar a menor quantidade possível de dados nas requisições
jQuery e JSON (JavaScript Object Notation) torna isso muito fácil
jQuery Templates (templates de HTML pré carregados nas páginas)
Globalcode – Open4education
Ajax - Demo
jQuery, JSON e jQuery Templates
Globalcode – Open4education
Cache
A melhor solução de performance é fazer com que o seu código não seja executado o tempo todo!
Tipos de CacheCliente – Headers de expiração (Expires e Cache-Control)
Servidor – OutputCache (ASP.NET) e Cache de Objetos (ASP.NET ou memCached)
Globalcode – Open4education
Cache – Demo
IIS, helper de atualização de arquivos estáticos
Globalcode – Open4education
Delivery - CDN
Content Delivery NetworkRede de distribuição de conteúdo
Infraestrutura para ENTREGA do conteúdoPrópria
Terceirizada (Akamai, Ananke, UOL, etc)
Pública (Microsoft, Google, etc)Distribuição de bibliotecas públicas (exemplo jQuery)
http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js
Globalcode – Open4education
Delivery - CDN
Globalcode – Open4education
Delivery - NGINX
Proxy Reverso
Utilizamos para entrega de imagens (muito performático)
http://nginx.org/
Globalcode – Open4education
Real Time - Web Sockets
Recurso do HTML 5 para aplicações Web Real Time
Conexão direta e bidirecional com o servidor web
Atualização instantânea no cliente (navegadores)
Globalcode – Open4education
Exemplos: Timeline Twitter
Globalcode – Open4education
Exemplos: Tempo Real Globo.com
Globalcode – Open4education
Real Time – Long Pooling - Demo
Aplicações real time – chat
Globalcode – Open4education
Links
http://tecnologia.minhavida.com.br
http://br.linkedin.com/company/minha-vida
http://www.cleberdantas.com
http://www.treinando.net
@cleberdantas vi sua palestra no #tdc2012 e quero um desconto em cursos da @treinandodotnet
Globalcode – Open4education
Obrigado. Perguntas?