desplegando django - pycon2016.es.pycon.org/media/keynotes/roberto_majadas... · storage en cloud...
TRANSCRIPT
![Page 1: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/1.jpg)
Desplegando DJANGO roberto.majadas
PyconES 2016Almería
![Page 2: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/2.jpg)
Pensando un poco antes de DEsPlegar
![Page 3: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/3.jpg)
¿Qué es lo que vas a dEsplegar?
Nunca es sólo django
● Python/Django● Base de datos SQL
○ Postgresql○ Mysql
● Servidor web○ Apache○ Nginx
● Redis● Storage en Cloud● Celery● Big Data● EdgeTech <current year>
![Page 4: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/4.jpg)
¿A quien se lo vas a DESPLEGAR?
Cliente diferente, necesidad diferente
![Page 5: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/5.jpg)
¿Donde lo vas a desplegar?
Muchas decisiones dependen del “donde”
● ¿CPD propio?● ¿En algún Cloud?● ¿En algún PASS?● ¿Múltiples entornos?● ¿Acceso remoto?● ¿Integración continua?
![Page 6: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/6.jpg)
Conclusiones Previas
![Page 7: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/7.jpg)
¿Cual es la mejor manera de Desplegar?
![Page 8: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/8.jpg)
Ni P***IDEA
![Page 9: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/9.jpg)
¡Así que empecemos Por el
Principio!
![Page 10: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/10.jpg)
DJANGOEl minimun minimorum
● Python○ Versión 3, mejor que 2○ Virtualenv
● Base de datos○ Postgresql○ Mysql
● Servidor web○ Apache○ Nginx
● WSGI○ apache-wsgi○ uwsgi○ gunicorn
![Page 11: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/11.jpg)
DJANGOCosas a tener en cuenta
● Los settings○ Varios entornos○ Variables de entorno
■ django-environ
● Virtualenv○ requirements.txt
● Piensa dónde pones los datos (static/media)
● Entorno aislado mejor
![Page 12: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/12.jpg)
Bases de datosCosas a tener en cuenta
● Datos de conexión vía DATABASE_URL
● ¿Quien gestiona la base de datos?
![Page 13: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/13.jpg)
WebServerCosas a tener en cuenta
● ¿Quien controla el webserver?
● ¿Que WSGI uso?
![Page 14: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/14.jpg)
Modos de despliegue de Menos a MÁS
(mÁs o menos)
![Page 15: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/15.jpg)
Capítulo I:Las guerras ScRIPT
![Page 16: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/16.jpg)
Great BallS of Fire!¿Desplegar yo?
![Page 17: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/17.jpg)
Yo, yo y también yo
presentado por yo mismo
● Yo hago un tarball del código
● Yo lo subo al servidor● Yo despliego a mano● Yo reinicio lo que se
tenga que reiniciar
![Page 18: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/18.jpg)
El SCRIPTEn su momento pareció una
buena idea
● Script en bash● Normalmente se ejecuta
en el servidor● Se empieza a complicar
cuando:○ Tienes varios entornos○ Tienes que ejecutar en
remoto○ Tienes que hacer cosas
más complicadas que el lenguaje script no puede con ello.
![Page 19: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/19.jpg)
SCRIPT + SSHPython Fabric
from fabric.api import run
def host_type(): run('uname -s')
$ fab -H linuxbox host_type[localhost] run: uname -s
![Page 20: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/20.jpg)
CAPÍTULO II:OLD SCHOOL BAD ASS
![Page 21: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/21.jpg)
RPM/DEBUsando los paquetes de las
distros
![Page 22: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/22.jpg)
FPMEffing package management
● Comando en ruby● Permite crear un
paquete en una línea de comandos
● Soporta○ DEB○ RPM
● Scripts pre/post install
![Page 23: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/23.jpg)
OMNIBUSGotta Catch 'Em All
● Puedes crear un paquete con TODO lo necesario
● Wocu y Gitlab usa omnibus
![Page 24: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/24.jpg)
CAPÍTULO III:DOING BETTER
![Page 25: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/25.jpg)
CapISTRANOSi, está hecho en ruby
![Page 26: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/26.jpg)
CapISTRANOLayout de capistrano
![Page 27: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/27.jpg)
ANSISTRANOAnsible + Capistrano
![Page 28: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/28.jpg)
ANSISTRANOAnsible + Capistrano
![Page 29: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/29.jpg)
Capítulo IV:Los caballeros de la
Gestión de la Configuración
![Page 30: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/30.jpg)
ansiblePequeño pero matón
- name: Clone/pull project repo git: repo={{ project_repo }} dest={{ install_root }}/{{ project_name }} accept_hostkey=yes notify: - restart gunicorn
- name: install python packages pip: requirements={{ install_root }}/{{ project_name }}/requirements.txt notify: - restart gunicorn
![Page 31: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/31.jpg)
SALT/CHEF/PuppetUn gran Mjolnir, para una
gran batalla
● Sistemas de gestión de configuraciones
● Mayormente centralizados● Capaces de orquestar y
desplegar muchas cosas a la vez.
![Page 32: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/32.jpg)
Capítulo V:LA revolución de los contenedores
![Page 33: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/33.jpg)
DOCKERContainers, containers
everywhere
● Usar y tirar● Microservicios● Composición● Escalado dinámico
![Page 34: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/34.jpg)
DOCKERContainers, containers
everywhere
● Usar y tirar● Microservicios● Composición● Escalado dinámico
![Page 35: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/35.jpg)
CAPÍTULO VI:CLOUD ALTAS
![Page 36: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/36.jpg)
AWS y digievoluciones
Será por nubes!
● Tienen sus cosas buenas y sus cosas malas
● Se puede ajustar a muchos fines de despliegue diferentes
● Fácil de scriptear/automatizar
![Page 37: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/37.jpg)
PASSPlatform as a Service
● ¿Que es un PASS?● ¿En la nube pública o
privada?○ Heroku vs OpenShift
● Muy bonito! dónde están las pegas…
![Page 38: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/38.jpg)
CAPÍTULO VII:MATRIX Y
EL arquitecto de Cuenca
![Page 39: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/39.jpg)
Caso Normaldjango+bbdd+nginx
● Es un rollo, lo sé, pero haz mínimo dos entornos.
● fabric● (capis|ansis)trano● ansible● Integración continua
![Page 40: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/40.jpg)
CASO MEDIOMás de un server haciendo
cosas
● Usar gestión de configuración puede ser muy útil
● ¿Alta disponibilidad?
![Page 41: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/41.jpg)
CASO “Oh My Gosh”Cuando django es lo de menos
● Django es API en el backend de algo más grande (BIGDATA)
● Producto de empresa: Gitlab
● Servicios de escalado horizontal
![Page 42: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/42.jpg)
¿Vemos algo en Particular?
¿Preguntas?
![Page 43: Desplegando DJANGO - PyCon2016.es.pycon.org/media/keynotes/roberto_majadas... · Storage en Cloud Celery Big Data EdgeTech ¿A quien se lo vas a ... AWS y digievoluciones](https://reader034.vdocuments.site/reader034/viewer/2022042223/5ec9c5230f2d6d7bf63ad875/html5/thumbnails/43.jpg)
GRACIAS!!