nginx + fast-cgi: Nueva arquitectura para Voota

Tras tener varios problemas de servidores en Voota, nos tocó investigar como mejorar los sistemas. Como siempre, lo primero es preguntar a los expertos. Nuestros amigos de amplicate.com y masquemedicos.com lo tenían claro. Junto con muchas otras recomendaciones, nos convencieron para cambiar el servidor web a una arquitectura más moderna.

Adiós Apache y gracias por todo

Apache ha sido durante mucho tiempo (y sigue siendo) el servidor web más utilizado y popular para servir tanto páginas estáticas (html) como aplicaciones desarrolladas en php, perl o python. Pero como pasa con todo, poco a poco ha ido quedándose atrás en favor de otras arquitecturas más modernas.

Nginx

Arquitectura nginx con fast-cgi

Nginx es un servidor mucho más ligero que apache y que, por lo tanto, realiza menos funciones. La idea de es utilizar Nginx en la primera línea de fuego para servir todo el contenido estático del sitio web: Pagínas html, imágenes, javascript, hojas de estilo, etc. El resto de las tareas se delegarán a un servidor específico.

fast-cgi

Es la evolución de CGI (Common Gateway Interface), aquél protocolo concebido allá por 1993 para responder a la demanda de páginas dinámicas. Hoy fast-cgi permite conectar (por tcp) un servidor web estilo Nginx con otro servidor independiente que ejecuta las aplicaciones. En el caso de Voota, estás aplicaciones están desarrolladas en php y el servidor de aplicación es php-fpm.

En resumen, nada radicalmente nuevo. Mismos programas, mismo lenguaje, pero con una arquitectura mucho más moderna, flexible, rápida y escalable.

Anuncios

Etiquetas: , , ,

8 comentarios to “nginx + fast-cgi: Nueva arquitectura para Voota”

  1. jcamunas Says:

    http://www.megaburst.com/wordpress-benchmarks-running-on-nginx-php-apache-and-fastcgi/

    algunos datos sobre nginx + php-fpm

  2. Juan Says:

    Enhorabuena Sergio!

    Creo que hay una tendencia en crear arquitecturas mas flexibles y mas simples. Algunos casos:
    – Memcached
    – Nginx o Lighttpd
    – Sistemas de paso de mensajes mucho mas simples (Adiós ActiveMQ y similares)
    – Algunas de las bases de datos No-SQL que gritan simplicidad 🙂
    etc

  3. Dani Says:

    Hola Sergio.

    Me alegro de que os pasárais al nuevo lado oscuro 🙂

    Por aclarar algo por si queda algún despistado y se confunde con lo de “servidor de aplicaciones”, php-fpm (http://php-fpm.org) es “simplemente” un gestor de procesos php-cgi.

    Es un parche al código C original de php (aunque se puede compilar como proceso standalone a parte), que permite entre otras cosas, graceful restart de los procesos php-cgi, tener contextos diferentes para cada vhost, con uid diferentes, un log de scripts lentos muy útil y en general una gestión de los procesos mucho más estable que utilizar php-cgi a pelo.

    Las ventajas frente a otras arquitecturas alternativas fastcgi, se explican en la página.

    Saludos.

  4. Daniel Brandi Says:

    Hola Sergio,

    gracias por compartir esta información. Comentas que a raiz de algunos problemas con los servidores os planteasteis el cambio. Podrías comentar qué tipo de problemas desencadenaron el cambio?

    Gracias. Un saludo

  5. Sergio Viteri Says:

    Con los problemas me refería a que hemos tenido varias caídas. Casi con seguridad podemos descartar que era problema de Apache, pero a raíz de estas caídas es cuando decidimos dedicar más esfuerzo a sistemas. Fruto de ese esfuerzo hemos cambiado casi todo. La versión de Ubuntu server (de Hardy a Karmic), el servidor web (Apache a Nginx), hemos reforzado las instancias de ec2 de Amazon (de small a medium), etc. etc. En cualquier caso, parece que no sólo hemos dejado de tener caídas, si no que nos hemos modernizado un poco 🙂

  6. Juan Says:

    A propósito:

    nginx: +82% rocks =>
    http://amplicate.com/rocks/nginx

    🙂

  7. Blog Voota » Blog Archive » Ya tienes página personal en Voota Says:

    […] de Defcon-5 (tranquilidad) a Defcon-2 (máxima alerta) y luego otra vez a Defcon-5. Después de los problemas varios que hemos tenido, cada vez que hay un cambio nos preparamos para cualquier […]

  8. Ya tienes página personal en Voota | Voota Says:

    […] de Defcon-5 (tranquilidad) a Defcon-2 (máxima alerta) y luego otra vez a Defcon-5. Después de los problemas varios que hemos tenido, cada vez que hay un cambio nos preparamos para cualquier […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: