Una de las cosas más asombrosas de los servidores Web es que, en algunos casos, una máquina muy pequeña puede manejar un gran número de visitantes. Por ejemplo, imagina que tienes un pequeño sitio Web que contiene un número de páginas Web estáticas (en este caso, “estáticas” significa que todo el mundo ve la misma versión de cualquier página). Si coges un ordenador con un procesador Celeron de 500 MHz con Windows 2000 o un sistema operativo Linux, lo cargas con un servidor Web apache, y conectas la máquina a Internet por medio de una buena conexión, como por ejemplo, un E1 (2 MB por segundo) o un E3 (34 MB por segundo), podrías maneja cientos de miles de visitas diarias.
Muchas ISPs pueden proveer de este tipo de servicio con una máquina dedicada y por un precio razonable. Funcionará estupendamente a no ser que se produzcan las siguientes situaciones:
- Necesitas manejar millones de visitas diariamente.
- La máquina en cuestión falla. En este caso tu sitio Web estará caído hasta que una nueva máquina sea instalada y configurada.
- Las páginas de la Web sean muy largas y complicadas.
- Las páginas tienen que cambiar dinámicamente de forma diaria por una interacción de los usuarios y visitantes que tienes.
- Un proceso en segundo plano debe ser realizado para crear contenido en las páginas o procesar peticiones en las páginas.
Al cumplir estas condiciones muchas la mayoría de los sitios Web de tamaño grande, se necesitan infraestructuras más grandes y complejas.
Hay tres estrategias principales para hacer frente a una carga grande en nuestros servidores Web:
- Se puede invertir en una única máquina con una gran cantidad de procesamiento, memoria, espacio en disco duro y redundancia.
- El sitio puede distribuir la carga por medio de numerosas máquinas.
- El sitio puede utilizar una combinación de las primeras dos opciones.
Cuando visitas un sitio que tiene una URL diferente cada vez que la visitas, como por ejemplo www1.ejemplo.com, www2.ejemplo.com, www3ejemplo.com, etc. entonces sabes que el sitio Web está usando segundas alternativas de acceso a la Web. Esto significa que el sitio Web tiene una serie de máquinas separadas, donde cada una de ellas está funcionando con un software de publicación Web con tus páginas en ellas. Las peticiones a una página de tu dominio Web se esparcen a todas estas máquinas de dos maneras:
- El DNS del sitio puede distribuir la carga. Un DNS es un servicio de Internet que traduce nombre de dominio a direcciones IP. Cada vez que se hace una petición a los servidores Web, le DNS rota entre las direcciones IP disponibles en una manera circular para repartir y compartir la carga. Cada uno de los servidores tiene un acceso común a las páginas de un mismo sitio Web.
- Unos switches o conmutadores pueden también distribuir la carga. Todas las peticiones para el sitio Web llegan a una máquina que entonces pasa la petición a uno de los servidores disponibles. Este conmutador, puede descubrir qué servidor está menos cargado, y así pasarles la carga para que todos estén haciendo un trabajo más o menos igualado. Dicho de otra manera, el conmutador o switch reparte la carga entre los tres servidores separados, y si uno de ellos falla, el sitio Web no se ve afectado.
Como se ha dicho y has podido ver, la ventaja principal de este método es que existe redundancia y si algunas de las máquinas se estropean o se caen, las otras seguirán haciendo el trabajo de mantener accesible la Web. Otra ventaja es que es que se puede añadir capacidad de una manera incremental. La mejor manera de ver lo que más te conviene, es controlar el tráfico que va viniendo a tu sitio Web, y dependiendo de la carga que vayas necesitando, hablar con tu ISP o tu sitio de alojamiento Web para pedir un servicio de mayor capacidad.