Servidores y Linux: ¿no podemos simplemente instalar Windows?

¿Cómo es realmente una computadora de servidor?

Cuando empecé a aprender desarrollo, tenía una fantasía bastante vaga sobre el ‘servidor’. Imaginaba un superordenador gigantesco como en Matrix, con letras verdes cayendo como lluvia, incontables cables enredados por todas partes y enormes máquinas lanzando destellos azules con un ruido mecánico imponente.

Pero la primera sala de servidores que vi en el trabajo, un IDC, no se parecía en nada a esa imagen. Aquellas máquinas planas montadas en racks, al final, si las abrías, seguían siendo ‘solo computadoras’: tenían CPU, RAM y SSD, y no eran tan distintas de mi portátil.

Entonces, ¿qué es exactamente lo que hace que mi portátil sea un ‘PC personal’ y que esa máquina tosca sea llamada ‘servidor’?

Un servidor no es una máquina especial, sino una computadora con un papel especial.

El que da (Server) vs. el que pide (Client)

La definición de un servidor es muy simple. Es el que ‘serve’, el que ofrece algo. Al otro lado, el cliente es el que hace la petición.

En otras palabras, incluso mi viejo portátil se convierte en un ‘servidor’ si lo dejo encendido las 24 horas y permito conexiones externas. Entonces, ¿por qué no usamos mi portátil como servidor? ¿Por qué pagamos por alquilar servidores en la nube como AWS EC2 e instalamos en ellos el aparentemente más incómodo ‘Linux’?

¿Por qué precisamente Linux? (¿Windows no vale?)

Windows es realmente cómodo. Basta con hacer clic con el ratón y todo parece intuitivo. Entonces, ¿por qué los desarrolladores de servidores insisten en Linux, que parece no ser más que una pantalla negra?

1. La GUI es un lujo (coste y eficiencia)

Cuando Windows arranca, aparece el escritorio, se ven iconos y el cursor del ratón se mueve. Para mantener toda esa interfaz gráfica funcionando, la computadora consume CPU y memoria de forma constante. Pero un servidor no necesita monitor. Puede estar enterrado en algún rincón del otro lado del planeta y dedicarse únicamente a procesar datos. Un servidor Linux, funcionando como CLI, elimina por completo los gráficos y deja solo texto. Si Windows usa 30 de cada 100 unidades de energía en dibujar la pantalla, Linux puede dedicar esas 100 por completo al servicio.

2. Libertad frente a actualizaciones forzadas (estabilidad)

Si usas Windows el tiempo suficiente, tarde o temprano aparece el temido “Reiniciando para instalar actualizaciones”. En un PC personal es solo una molestia: vas al baño y vuelves. Pero, ¿y si un servidor que debe funcionar 24/7 decide apagarse por su cuenta? Eso ya es un desastre. Linux puede funcionar durante años sin reiniciarse, salvo que ocurra algo importante como una actualización del kernel.

3. Coste de licencias (dinero)

Windows Server es caro. A veces incluso cobra en función del número de núcleos de CPU. En cambio, Linux, como Ubuntu o CentOS, suele ser gratuito y de código abierto. Para una empresa que tiene que operar miles de servidores, la respuesta está bastante clara.

Para un servidor, los gráficos llamativos no son más que equipaje innecesario.

¿Y si instalamos Linux dentro de Windows? (El prólogo de la virtualización)

Aquí es donde un desarrollador principiante, es decir, mi yo del pasado, tiene una idea brillante. “Si Windows es más cómodo, ¿por qué no instalamos Windows Server y ejecutamos Linux dentro como una ‘máquina virtual’?”

Claro que se puede. Pero eso es como plantar una tienda de campaña dentro de una casa y vivir allí.

El dueño de la casa, Windows, también tiene que comer, y el inquilino, Linux, también. El desperdicio de recursos es enorme. Por eso los desarrolladores empezaron a hacerse una pregunta mejor: “En lugar de instalar un sistema operativo pesado completo, ¿no podríamos aislar y ejecutar solo el ‘entorno’ que realmente necesitamos?”

De esa línea de pensamiento nació precisamente Docker, es decir, la tecnología de contenedores.

Próxima historia: un mundo sin ratón

Ahora ya entendemos por qué los servidores abandonaron Windows y eligieron Linux. Pero entender algo con la cabeza y tocarlo con las manos son cosas distintas. La primera vez que te conectas a un servidor Linux, lo que te recibe no es el amable botón de inicio de Windows, sino un cursor parpadeante sobre una pantalla negra.

La próxima vez veremos habilidades básicas de supervivencia para manejar permisos de archivos y controlar un servidor en este desconocido entorno de terminal Linux, es decir, CLI, sin usar el ratón.

Deja un comentario