¿Que es un web stack?

Un web stack es como una pila de libros. El elemento superior es la aplicación con la que el usuario puede interactuar, mientras que el inferior es la base: el sistema operativo. Los demás elementos que hay en medio son la tecnología necesaria para que tanto la aplicación como el sistema operativo se comuniquen entre sí. Todos forman un equipo con un objetivo común: proporcionar todo lo que la aplicación pueda necesitar para funcionar.

El primer web stack más conocido fue el stack PHP: LAMP. Cada letra se refiere a un elemento del stack:

  • L de Linux, el sistema operativo.
  • A de Apache, el servidor web.
  • M de MySQL, el servidor de bases de datos.
  • P de PHP, el lenguaje de programación.

Es un stack muy básico y elemental, pero hay proyectos complejos con un stack más grande. Por ejemplo, cuando se necesita una búsqueda eficiente, se debe añadir un servidor de búsqueda de texto completo («full-text»). El servidor indexará la información «buscable» para que cuando se lance la búsqueda pueda ser procesada lo más rápido posible.

LAMP ha sido tan popular porque es fácil de configurar, incluso en Windows, donde un simple instalador puede configurar un entorno de desarrollo en cuestión de segundos.

Hoy en día cualquier stack es sencillo de configurar. Tenemos instaladores o gestores de paquetes para cada sistema operativo, para que sea pan comido tener un buen entorno de desarrollo. Incluso tenemos herramientas como Vagrant que usa virtualización para instalar un servidor que puede ser casi igual que el que hay en producción.

Para la web stack de Ruby se suele tener lo siguiente:

  • Linux como sistema operativo.
  • PostgreSQL como servidor de bases de datos
  • nginx como servidor web
  • Passenger como servidor de aplicaciones
  • Ruby como lenguaje de programación

Linux es el sistema operativo preferido para servir aplicaciones Ruby. Es gratuito, así como fácil de configurar y mantener.

PostgreSQL es un servidor de bases de datos gratuito y avanzado. También tiene un motor de búsqueda de texto completo y un sistema de colas integrado, siendo muy práctico para webs sencillas. Dicho esto, para aplicaciones más complejas deberíamos usar herramientas más potentes para estas características. Pero oye, ¡es un buen punto de partida!

nginx es el competidor principal de Apache. Es muy rápido y consume menos memoria que Apache. Fácil de configurar e integrado con Passenger, que es el servidor de aplicaciones para Ruby. Es una gran elección.

Podríamos añadir más por arriba: Ruby on Rails como el framework de desarrollo, que permite construir una web más rápido.

Click to rate this post!
[Total: 0 Average: 0]

Deja un comentario