Django em Sites de Alto Tráfego - O Case UCSvirtual
-
Upload
guest7e20b9 -
Category
Technology
-
view
2.339 -
download
2
description
Transcript of Django em Sites de Alto Tráfego - O Case UCSvirtual
Pycon Brasil 2008
Django em Sites de Alto Tráfego
O Case UCSvirtual
Jeronimo Zucco [email protected] Zanuz [email protected]
Pycon Brasil 2008
Jeronimo Zucco: Analista de Suporte da Universidade de Caxias do Sul, bacharel em Ciência da Computação e especialista em Gerência e Segurança de Redes de Computadores, certificado Linux Professional Institute. Atua com Linux e servidores web desde 1998.
Leandro Zanuz: Desenvolvedor de aplicações Web com Django, Plone, Zope, Python na Universidade de Caxias do Sul, tecnólogo em Processamento de Dados, cursando MBA em Gestão de TI. Programador web desde 1998.
Quem somos
Pycon Brasil 2008
● 14 unidades de ensino (Interior do RS Região Nordeste e Vale do Caí)
● 37.021 alunos [ Graduação, pósgraduação, ensino técnico e profissionalizante, ensino médio e extensão. ]
● 1.371 professores● 1.845 funcionários ● 5.000 computadores
Números da UCS
Pycon Brasil 2008
● Utiliza Python/Zope desde 2001● Vários portais desenvolvidos em Plone● Adoção do Django em Janeiro/2007● Python é adotado na maior parte dos projetos● Equipe de desenvolvimento Python: 8 pessoas● Apoio instituicional no uso de software livre
UCS & Python
Pycon Brasil 2008
O Portal UCSvirtual
● Portal de todos os serviços online da UCS;● Serviços da Graduação, PósGraduação,
Pesquisa, Recursos Humanos, Gestão Administrativa e Gestão do Portal;
● Alguns serviços:– Matrícula online;– Histórico escolar;– Biblioteca;– Ambiente Virtual de Aprendizagem.
Pycon Brasil 2008
Tecnologias Empregadas
● Django● Apache + SSL
– Mod_Expires– Mod_Deflate– Mod_Python– ModSecurity
● Squid● Single Signon (SSO)
● LVS– Heartbeat– Ldirectord
● Oracle● OpenLDAP● Nagios● Bacula
Pycon Brasil 2008
Fail Over: IP Virtual passa ao Proxy 2
Fail Back: IP Virtual volta ao Proxy 1
Normal: IP Virtual no Proxy 1 e balanceamento
de carga via LVS RR
Proxy Reverso
Pycon Brasil 2008
Squid com cache_peer
● LB e HA usando cache_peer:
cache_peer 10.10.10.1 parent 80 0 noquery originserver nodigest roundrobin name=django1
cache_peer 10.10.10.2 parent 80 0 noquery originserver nodigest roundrobin name=django2
acl site1 dstdomain site1.dominio.com
cache_peer_access django1 allow site1
cache_peer_access django2 allow site1
cache_peer_access django1 deny all
cache_peer_access django2 deny all
Pycon Brasil 2008
Apache
● mod_deflateSetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar|pdf|swf|gif|jpe?g|png)$ nogzip dontvary
● mod_expires
ExpiresActive On
ExpiresByType image/png "now plus 3 day"
ExpiresByType text/css "now plus 2 day
● mod_security
Pycon Brasil 2008
Customizações Django
● Sessão compartilhada;● Backend de autenticação;
– (AUTHENTICATION_BACKENDS)
● SSO Single signon.– (SECRET_KEY e SESSION_COOKIE_DOMAIN)
Pycon Brasil 2008
Próximos Passos
● Squid Pound + Varnish→
● Apache Nginx→
– Nginx (Engine X);– http://nginx.net– 04/2008: 1,018,503 09/2008: 2,562,554 (netcraft)
● mod_python mod_wsgi→
– Escrito completamente em C#– Mais rápido, menor uso de memória, seguro– http://code.google.com/p/modwsgi/
Pycon Brasil 2008
Próximos Passos
● StaticGenerator for Django– Páginas estáticas ou pouco dinâmicas.– (quem somos, produtos, blogs, notícias, etc.)– http://superjared.com/projects/staticgenerator/