deploy completo de uma aplicacao django 130513151808 phpapp01
DESCRIPTION
Aprendendo deploy em uma aplicação com python e DjangoTRANSCRIPT
-
DEPLOY COMPLETO DE UMA APLICAO DJANGO
Allisson Azevedo
Monday, May 13, 13
-
ALLISSON AZEVEDO
Graduado em Licenciatura em Computao
Desenvolvedor Web
http://speakerdeck.com/allisson
http://slideshare.net/allisson
http://github.com/allisson
http://youtube.com/user/allissonazevedo
Monday, May 13, 13
-
Monday, May 13, 13
-
Monday, May 13, 13
-
DEPLOY
Colocar sua aplicao em produo
Botar o bicho para funcionar
Monday, May 13, 13
-
MAS EU SOU APENAS UM DESENVOLVEDOR...
Desenvolvedores devem saber como funciona o processo de deploy de sua aplicao
Provavelmente ser sua responsabilidade
Simular o ambiente de produo localmente
Apenas em empresas grandes voc vai ter um time especializado em infra
Monday, May 13, 13
-
NO QUERO ESQUENTAR A CABEA COM DEPLOY
Use um PAAS (Platform as a Service - Plataforma como Servio)
Heroku
AWS Elastic Beanstalk
EngineYard (sem suporte a python)
Google Appengine
Monday, May 13, 13
-
ONDE HOSPEDAR?
No use servidores compartilhados (shared hosting)
Linode
1 Gb de ram, 24 Gb storage, 2 Tb transferncia
$20
AWS EC2
Rackspace
Monday, May 13, 13
-
QUAL SISTEMA OPERACIONAL?
Linux (GNU/Linux para no ofender ningum)
Prefira distribuies com longo tempo de suporte
Ubuntu Server LTS (5 anos)
RHEL e CentOS (7 anos)
Monday, May 13, 13
-
PORQUE NGINX E NO APACHE?
Apache
process-based (forking or threaded)
Nginx
asynchronous (event-driven)
http://daverecycles.com/post/3104767110/explain-event-driven-web-servers-to-your-grandma
Monday, May 13, 13
-
POSTGRESQL OU MYSQL?
Dois timos servidores
Se for usar o MySQL, use a engine innodb nas tabelas
Monday, May 13, 13
-
CONECTANDO SUA APLICAO
FastCGI
Geralmente a opo disponvel em servidores compartilhados
WSGI
Padro do python (PEP 333)
http://allissonazevedo.com/2011/08/25/introducao-ao-wsgi/
Monday, May 13, 13
-
GUNICORN (GREEN UNICORN)
Port do Unicorn (ruby) para python
Servidor HTTP que suporta WSGI nativamente
Python WSGI HTTP Server for UNIX. It's a pre-fork worker model ported from Ruby's Unicorn project.
Monday, May 13, 13
-
SUPERVISOR
um sistema cliente/servidor que permite que os usurios monitorem e controlem processos em sistemas Unix like.
No executado para substituir o init padro do sistema operacional
Monday, May 13, 13
-
SENTRY
Plataforma para monitorar erros em uma aplicao web
Escrito em Django
O cliente raven enviam as informaes para o servidor
Substituir o comportamento padro de enviar um e-mail no caso de exceo no tratada no Django
Monday, May 13, 13
-
OBJETIVO
Fazer o deploy da aplicao shortener
http://github.com/allisson/django-shortener-example
Monday, May 13, 13
-
O QUE VAMOS USAR?
Nginx para servir contedo esttico e redirecionar as requisies para o gunicorn
Gunicorn como servidor de aplicao
Supervisor para gerenciar os processos do gunicorn
Postgresql como banco de dados
Sentry para gerenciar possveis erros em produo
Monday, May 13, 13
-
MO NA MASSA!
Monday, May 13, 13
-
PERGUNTAS?
Monday, May 13, 13