35. Buildout - Parte II: Cómo prepararse para el despliegue

El buildout de starzel

Miremos la configuración buildout que usaremos para nuestros proyectos: https://github.com/starzel/buildout

Tiene algunas características notables:

  • Se extiende a archivos en github por todos los proyectos de la misma versión

    [buildout]
    extends =
        https://raw.github.com/starzel/buildout/4.3.3/linkto/base.cfg
    
  • Trabajo mínimo para instalar un nuevo proyecto.

  • Preestablecidos para desarrollo, pruebas, implantación y producción.

Una instalación de despliegue

  • servidor zeo (zeoserver) y clientes zeo (zeoclients).

  • balanceador de carga con haproxy.

  • monitoreo de red con nagios.

  • cacheo de contenidos con varnish.

  • monitoreo.

  • supervisor de procesos.

  • respaldo del despliegue.

  • logrotate los registros de eventos.

  • precompilador de codigo Python.

  • tareas crontab (cronjobs).

Otras herramientas a usar

  • Fabric (administra sitios).

  • Sentry (monitoreo de errores).

  • Ansible (Administra e instala servidores y herramientas).

  • Nagios (monitoreo de servidores).

  • Jenkins (pruebas continuas de software).

  • Piwik (estadísticas).

  • Gitlab (repositorio y revisión de código).

  • Redmine (sistema de ticket y wiki).