escalabilidade em aplicações - fisl13

Download Escalabilidade em Aplicações - Fisl13

If you can't read please download the document

Upload: flavio-torres

Post on 30-Jun-2015

563 views

Category:

Documents


2 download

DESCRIPTION

Aplicações funcionam muito bem em um único ambiente, o de DEV. Entretanto, quando resolvemos fazer o deploy em um ambiente de produção, nada é tão rápido quanto o esperado. Quanto o Negócio vale quando uma aplicação é altamente escalável e de alta performance são questões que as respostas variam desde inúmeras instâncias de um Container web até a quantidade de servidores, storage e dispositivos de rede utilizados para alcançar níveis aceitáveis de resposta para os usuários.

TRANSCRIPT

  • 1. Escalabilidade em aplicaes DevOps Flavio Torres, @flavio_torres Espec. em infra e sistemas iG, e agora Oi Internet

2. AgendaArquiteturasWebServers: apache, nginxAplicaes: PHP, Java, Rails, Python, NodejsSQLNoSQLHeaders HTTPCache Varnish ou NginxMonitoramento 3. Arquitetura desejada! 4. Arquitetura entregue 5. Tempo investimento! Faa em casa OU, participe de todo o processo, avaliepropostas Bom entendimento, boa arquitetura ... veja! 6. Arquitetura do Ger. Projeto #1 7. Arquitetura do Ger. Projeto #2 8. Fatos 9. Ok, minha vez... 10. O que temos: Crawler Python Queue 0MQ (zero mq) NoSQL Cassandra SQL MySQL Map/Reduce Hadoop Indices ElasticSearch Web NodeJS REST: Java, PHP. CACHE: memcache, membase, redis WebServer Nginx Jetty Cache Varnish 11. Backend[root@localhost ~]# 12. SQL Dados Transacionais; ex: dinheiro das vendasda filial 1 + update do financeiro da filial 2. E a busca ? Podemos fazer um misto ? 13. SQL: where data like "%performance%"or "%fisl13%"Motorzinho SQL: full table scan.DICA: ^expr$ 14. Buscas 15. FrontEnd 16. Tenha em mente que CacheVITAL! 17. Cache HTTPHeader unset ETagExpiresActive OnExpiresByType text/css "now plus 10 years"ExpiresByType text/html "now plus 60 seconds"ExpiresByType image/gif "now plus 10 years"ExpiresByType image/png "now plus 10 years"ExpiresByType image/jpeg "now plus 10 years"ExpiresByType application/javascript "now plus 10 minutes"ExpiresByType application/x-shockwave-flash "now plus 10 years"Header append Cache-Control public env=static-contentlocation ~* .(?:ico|css|js|gif|jpe?g|png)$ { expires 30d; add_header Pragma public; add_header Cache-Control "public";} 18. Cache HTTP$ curl -I www.ig.com.brHTTP/1.1 200 OKLast-Modified: Wed, 25 Jul 2012 21:12:46 GMTCache-Control: max-age=60Expires: Wed, 25 Jul 2012 21:17:48 GMTVary: Accept-EncodingContent-Type: text/htmlContent-Length: 198883Date: Wed, 25 Jul 2012 21:17:17 GMTConnection: keep-aliveX-Cache: HITX-Age: 29 X-Varnish :) 19. Mas...minha aplicao no pode fazer cache! E separar contedo esttico de dinmico ? Utilizar cache em busca ao banco com:AH, e o cache (HTTP) do framework ? 20. memcached 21. MONITORAMENTO !? Zabbix, Cacti JMX, Perf4J zabbix_get -s server -p 10050 -k "check.jmx[server:16101,br.com.corp:type=Perf4J,name=A pplicationPerf,getOfferMax]" GrayLog2 nagios, zenoss HealthChecks (/healthcheck?monitors=db,memcached) Xml output + scripts Balanceador + Healthcheck 22. DVIDAS ? 23. Flavio Torres, @flavio_torresEspec. Infra e sistemasiG, e agora Oi [email protected]/flatorres