Slide 1

Slide 1 text

Vamos fazer Deploy? Pronto é quando está online!

Slide 2

Slide 2 text

Rafael Henrique da Silva Correia @rafaelhenrique http://blog.abraseucodigo.com.br - Desenvolvedor Python na CargoBR - Membro do GruPy-SP - Viciado em World of Warcraft (for the horde!) - Palestrante nas horas que sobram - Aspirante a mestre Yoda Eu

Slide 3

Slide 3 text

O que é Deploy? Eu deploio, tu deploias, eles e elas deploiam!

Slide 4

Slide 4 text

Deploy nada mais é que por a coisa pra funcionar! É o momento em que você para de ficar brincando de desenvolver software na sua máquina e entrega valor ao seu cliente/usuário colocando o sistema online para todo mundo usar e ver realmente se ele ajuda ou atrapalha! O que é Deploy? Eu deploio, tu deploias, eles e elas deploiam!

Slide 5

Slide 5 text

Premissa que todo desenvolvedor deve seguir: Você não está desenvolvendo código pra você (pelo menos na maior parte do tempo) Quanto mais ágil o deploy melhor pra todo mundo, desta forma você sempre diminui o feedback por parte do seu usuário (cliente). O que é Deploy? Eu deploio, tu deploias, eles e elas deploiam!

Slide 6

Slide 6 text

Coisas que NÃO devem acontecer no deploy… (pt1)

Slide 7

Slide 7 text

Coisas que NÃO devem acontecer no deploy… (pt2)

Slide 8

Slide 8 text

Seu deploy bem sucedido deve ser comemorado com cerveja ao final do dia. Pois isso significa o fim de uma entrega para o seu cliente/usuário e até um possível pagamento ;) Uma vez que você faz deploy SEMPRE, significa que ao final de TODOS os dias você poderá comemorar o término do seu dia com cerveja. Teoria que eu gosto de usar baseada em uma frase do Henrique Bastos

Slide 9

Slide 9 text

Sopa de letrinhas! AAAAAAAAAAA SOCORRO! uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 10

Slide 10 text

Organizando as coisas WSGI HTTP Server uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 11

Slide 11 text

Organizando as coisas WSGI HTTP Server uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 12

Slide 12 text

Organizando as coisas Servidor WEB uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 13

Slide 13 text

Organizando as coisas Servidor WEB uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 14

Slide 14 text

Organizando as coisas Serviços/empresas de cloud computing uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 15

Slide 15 text

Organizando as coisas Serviços/empresas de cloud computing uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 16

Slide 16 text

Organizando as coisas Protocolos mais usados na WEB uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 17

Slide 17 text

Organizando as coisas Protocolos mais usados na WEB uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 18

Slide 18 text

Organizando as coisas Sistema de controle de mudanças ou “automatizador de tarefas” uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 19

Slide 19 text

Organizando as coisas Sistema de controle de mudanças ou “automatizador de tarefas” uWSGI Apache Nginx Gunicorn lighttpd HTTP HTTPS Ansible Puppet Chef Amazon AWS Digital Ocean Azure Heroku OpenShift

Slide 20

Slide 20 text

E ai ficou mais fácil? Sim/Não!? Hoje teremos o prazer de conhecer nossos novos amigos: ● Gunicorn ● Supervisor ● Nginx ● Ansible

Slide 21

Slide 21 text

Explicando como as coisas funcionam Fluxogramazinho Aplicação amigo_secreto Python WSGI HTTP Server HTTP server Browser https://github.com/rafaelhenrique/amigo_secreto HTTP Socket *Código fonte * melhor analogia que eu pude encontrar

Slide 22

Slide 22 text

Repositório https://github.com/rafaelhenrique/amigo_secreto

Slide 23

Slide 23 text

Chega de papo! Hands-on

Slide 24

Slide 24 text

Algumas referências ● How to Deploy Python WSGI Apps Using Gunicorn HTTP Server Behind Nginx ● How To Serve Flask Applications with Gunicorn and Nginx on Ubuntu 14.04 ● Deploy completo de uma aplicação Django ● Grupo de Estudos Python Sorocaba - Aula 24 - Deploy parte 1! ● Grupo de Estudos Python Sorocaba - Aula 25 - Deploy parte 2! ● Grupo de Estudos Python Sorocaba - Aula 26 - Automatizando deploys com Ansible! ● Grupo de Estudos Python Sorocaba - Aula 27 - Automatizando deploys com Ansible! (parte 2)

Slide 25

Slide 25 text

● Grupo do Google (mailing-list) ○ https://groups.google.com/forum/#!forum/python-sorocaba ● Canal no youtube ○ http://bit.ly/youtube-python-sorocaba ● Nosso slack ○ https://grupopythonsorocaba.herokuapp.com/ ● Eventos presenciais ○ https://www.meetup.com/pt-BR/Grupy-SP/ ○ https://www.meetup.com/pt-BR/Developer-Sorocaba/ ● Nosso github ○ https://github.com/python-sorocaba Python Sorocaba Links gerais

Slide 26

Slide 26 text

Tem interesse em aprender Python com um instrutor tipo eu (pois na verdade sou eu mesmo)? Seus problemas acabaram!!!! http://bit.ly/curso-python-sorocaba Developer School Curso de PYTHON!!! \o/

Slide 27

Slide 27 text

OBRIGADO!!! Perguntas?? Contato: http://blog.abraseucodigo.com.br [email protected] Google Groups: python-sorocaba