tdc - técnicas e recursos para desenvolvimento web em cenários de grande escala

27
Globalcode – Open4education Técnicas e recursos para desenvolvimento Web em cenários de grande escala

Upload: cleber-dantas

Post on 11-Jun-2015

356 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Técnicas e recursos para desenvolvimento Web em cenários

de grande escala

Page 2: TDC - 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

Page 3: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Minha Vida

Page 4: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Dieta e Saúde

Page 5: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Agenda da Saúde

Page 6: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

90 funcionários – 120 Até o fim do ano

Page 7: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

25 da área de tecnologia

Page 8: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

8 milhões de usuários/mês

Page 9: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

50 milhões pageviews/mês

Page 10: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

15 TB distribuídos/mês(js, css, html, images, vídeos)

Page 11: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

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)

Page 12: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Agenda

Front-end

Delivery

Real time

Page 13: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

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)

Page 14: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Front-end - Demo

sprite, paralelismo de downloads e minify js

Page 15: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

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)

Page 16: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Ajax - Demo

jQuery, JSON e jQuery Templates

Page 17: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

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)

Page 18: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Cache – Demo

IIS, helper de atualização de arquivos estáticos

Page 19: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

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

Page 20: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Delivery - CDN

Page 21: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Delivery - NGINX

Proxy Reverso

Utilizamos para entrega de imagens (muito performático)

http://nginx.org/

Page 22: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

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)

Page 23: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Exemplos: Timeline Twitter

Page 24: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Exemplos: Tempo Real Globo.com

Page 25: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Real Time – Long Pooling - Demo

Aplicações real time – chat

Page 26: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

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

Page 27: TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala

Globalcode – Open4education

Obrigado. Perguntas?