SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Técnicas e recursos para
desenvolvimento Web em
cenários de grande escala
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
Minha Vida
Dieta eSaúde
Agenda da Saúde
90 funcionários – 120 Até ofim doano
25 da área de tecnologia
8milhões de usuários/mês
50 milhões pageviews/mês
15 TB distribuídos/mês (js, css, html, images, vídeos)
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)
Agenda
• Front-end
• Delivery
• Real time
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)
Front-end - Demo
sprite, paralelismo de downloads
e minify js
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)
Ajax -Demo
jQuery, JSON e jQuery
Templates
Cache
• A melhor solução de performance é fazer com
que o seu código não seja executado o tempo
todo!
• Tipos de Cache
– Cliente – Headers de expiração (Expires e Cache-
Control)
– Servidor – OutputCache (ASP.NET) e Cache de
Objetos (ASP.NET ou memCached)
Cache – Demo
IIS, helper de atualização de
arquivos estáticos
Delivery - CDN
• Content Delivery Network
– Rede de distribuição de conteúdo
– Infraestrutura para ENTREGA do conteúdo
• Pró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
Delivery - CDN
http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.min.js
Delivery - NGINX
• Proxy Reverso
• Utilizamos para entrega de imagens (muito
performático)
• http://nginx.org/
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)
Exemplos: Timeline Twitter
Exemplos: Tempo Real Globo.com
Real Time – Long Pooling - Demo
Aplicações real time – chat
Links
• http://tecnologia.minhavida.com.br
• http://br.linkedin.com/company/minha-vida
• http://www.cleberdantas.com
• http://www.treinando.net
Obrigado. Perguntas?

Weitere ähnliche Inhalte

Was ist angesagt?

Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
5 dicas simples de performance
5 dicas simples de performance5 dicas simples de performance
5 dicas simples de performanceCleber Dantas
 
Migrando Aplicações Legadas para Nuvem
Migrando Aplicações Legadas para NuvemMigrando Aplicações Legadas para Nuvem
Migrando Aplicações Legadas para NuvemRafael Dos Santos
 
Backup Database - On Premisses no Azure
Backup Database - On Premisses no AzureBackup Database - On Premisses no Azure
Backup Database - On Premisses no AzureSulamita Dantas
 
Monitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BIMonitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BISulamita Dantas
 
Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce
Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerceFórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce
Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerceE-Commerce Brasil
 
LABjs e JQuery Templates
LABjs e JQuery TemplatesLABjs e JQuery Templates
LABjs e JQuery TemplatesCleber Dantas
 
[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e SaúdeCleber Dantas
 
Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.Samuel Dos Santos Tolentino
 
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...Dirceu Resende
 

Was ist angesagt? (13)

Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
5 dicas simples de performance
5 dicas simples de performance5 dicas simples de performance
5 dicas simples de performance
 
Web Standards
Web StandardsWeb Standards
Web Standards
 
Migrando Aplicações Legadas para Nuvem
Migrando Aplicações Legadas para NuvemMigrando Aplicações Legadas para Nuvem
Migrando Aplicações Legadas para Nuvem
 
Aula 1 apresentação
Aula 1   apresentaçãoAula 1   apresentação
Aula 1 apresentação
 
Backup Database - On Premisses no Azure
Backup Database - On Premisses no AzureBackup Database - On Premisses no Azure
Backup Database - On Premisses no Azure
 
4 passos para a Transformação Digital
4 passos para a Transformação Digital4 passos para a Transformação Digital
4 passos para a Transformação Digital
 
Monitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BIMonitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BI
 
Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce
Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerceFórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce
Fórum 2016 - Plataforma própria e o uso de micro serviços no e-commerce
 
LABjs e JQuery Templates
LABjs e JQuery TemplatesLABjs e JQuery Templates
LABjs e JQuery Templates
 
[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde[Minha Vida TechDay] Novo Dieta e Saúde
[Minha Vida TechDay] Novo Dieta e Saúde
 
Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.
 
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
 

Andere mochten auch

TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQLCleber Dantas
 
Dicas de otimização e performance de aplicações Web com ASP.NET
Dicas de otimização e performance de aplicações Web com ASP.NET Dicas de otimização e performance de aplicações Web com ASP.NET
Dicas de otimização e performance de aplicações Web com ASP.NET Cleber Dantas
 
[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4JCleber Dantas
 
Performance em aplicações Web
Performance em aplicações WebPerformance em aplicações Web
Performance em aplicações WebCleber Dantas
 
Novidades asp.net mvc 4
Novidades asp.net mvc 4Novidades asp.net mvc 4
Novidades asp.net mvc 4Cleber Dantas
 

Andere mochten auch (6)

TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL
 
Dicas de otimização e performance de aplicações Web com ASP.NET
Dicas de otimização e performance de aplicações Web com ASP.NET Dicas de otimização e performance de aplicações Web com ASP.NET
Dicas de otimização e performance de aplicações Web com ASP.NET
 
[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J[MinhaVida TechDay] NEO4J
[MinhaVida TechDay] NEO4J
 
Performance em aplicações Web
Performance em aplicações WebPerformance em aplicações Web
Performance em aplicações Web
 
Novidades asp.net mvc 4
Novidades asp.net mvc 4Novidades asp.net mvc 4
Novidades asp.net mvc 4
 

Ähnlich wie Técnicas para desenvolvimento Web em grandes escalas

Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsJorge Walendowsky
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsAlan Carlos
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPelliando dias
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoÉberli Cabistani Riella
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
 

Ähnlich wie Técnicas para desenvolvimento Web em grandes escalas (20)

Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.js
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Rest Teoria E Pratica
Rest Teoria E PraticaRest Teoria E Pratica
Rest Teoria E Pratica
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOps
 
Desenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHPDesenvolvimento Web Avançado usando PHP
Desenvolvimento Web Avançado usando PHP
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 

Técnicas para desenvolvimento Web em grandes escalas