Configurando la instancia de desarrollo para llevar Django a producción

 

@djangocali

www.djangocali.com

www.meetup.com/django-cali

En que Sistema operativo Estamos trabajando?

Cómo estamos instalando las dependencias de nuestros proyectos?

Agenda

  • Manejo de Dependencias.
  • Ambientes Virtuales
  • Para qué sirve Vagrant?
  • Para qué sirve Docker?
  • Cómo configuro mi proyecto en el servidor?
  • Arquitectura de Servicios.

Manejo de Dependencias

Dependencias

  • Sistema Operativo.
  • Librerías del Sistema Operativo.
  • Python (Versión).
  • Librerías de Python.
  • Django.
  • Librerías de Django.

Ambientes Virtuales

Dependencias

  • Librerías del Sistema -->
  • Python y Librerías -->
  • Django y Librerías -->

Herramienta

  • Provisionamiento
  • Python Virtualenv
  • Requirements Files.

Vagrant

Vagrant

 

Create and configure lightweight, reproducible, and portable development environments.

Por qué Vagrant?

 

  • Para desarrollar en instancias idénticas a las de producción.
  • Crear instancias de desarrollo en minutos.
  • Portabilidad de instancias de desarrollo.

Desventajas

  • Mayor consumo de Recursos.
  • Necesito crear una máquina virtual por cada instancia de Vagrant.
  • No es modular.

Docker

Máquina Virtual

Docker

https://www.docker.com/tryit

Configuración en el servidor

Tecnologías recomendadas

  • NGINX
  • UWSGI
  • PostgreSQL
  • Varnish(cache)

Demostración

.

Preguntas?

 

@djangocali

www.meetup.com/django-cali

Made with Slides.com