Un servidor es un sistema que proporciona recursos, datos, servicios o programas a otros ordenadores, conocidos como clientes, a través de una red. En teoría, se consideran servidores aquellos ordenadores que comparten recursos con máquinas cliente. Existen muchos tipos de servidores, como los servidores web, los servidores de correo y los servidores virtuales.
Un sistema individual puede, al mismo tiempo, proporcionar recursos y usar los de otro sistema. Esto significa que todo dispositivo podría ser a la vez servidor y cliente.
Los primeros servidores eran mainframes o microcomputadoras, que se denominan así por ser mucho más pequeñas que los equipos de mainframe. Sin embargo, conforme progresaba la tecnología, terminaron superando en tamaño a los ordenadores de sobremesa, por lo que el término microcomputadora resultaba un tanto inapropiado.
Inicialmente, dichos servidores estaban conectados a clientes que no realizaban ninguna computación real, y se les conocía como terminales. Estos terminales (también llamados dumb terminals), existían simplemente para aceptar entradas a través de un teclado o lector de tarjetas y devolver los resultados de cualquier cálculo a una pantalla o impresora. La computación real se efectuaba en el servidor.
Más tarde, los servidores pasaron a ser sistemas individuales de gran potencia que se conectaban a un conjunto de ordenadores cliente menos potentes a través de una red. A esta arquitectura de red se la conoce como el modelo cliente-servidor, en el que tanto el ordenador cliente como el servidor poseen potencia computacional pero determinadas tareas se delegan a los servidores. En anteriores modelos informáticos, como el modelo mainframe-terminal, el primero sí actuaba como un servidor con todas las de la ley, a pesar de que no se mencionaba con dicho nombre.
La definición del concepto de servidor ha ido evolucionando con el avance de la tecnología. Hoy en día, un servidor puede no ser más que un software que se ejecuta en uno o más dispositivos informáticos físicos. A tales servidores se les suele adjetivar como virtuales. Originalmente, los servidores virtuales se usaban para incrementar el número de características que un servidor individual de hardware podía efectuar. Actualmente, los servidores virtuales se suelen ejecutar en la nube, es decir, dentro de un hardware que pertenece a un tercero y al que se puede acceder a través de internet.
Un servidor puede estar diseñado para realizar una sola tarea, como un servidor de correo, que acepta y almacena mensajes de correo electrónico y, luego, se los proporciona a un cliente que los solicita. Los servidores también pueden realizar más de una tarea, como un servidor de archivos e impresión que almacena archivos y acepta trabajos de impresión de los clientes, para luego enviarlos a una impresora conectada a la red.
Para que un dispositivo trabaje como un servidor, debe estar configurado para escuchar las solicitudes de los clientes en un entorno de red. Esta funcionalidad puede existir como parte del sistema operativo: en forma de aplicación instalada, un rol o una combinación de ambos.
Por ejemplo, el sistema operativo Windows Server de Microsoft proporciona las características necesarias para escuchar y responder a las solicitudes de los clientes. Además, los roles o servicios instalados incrementan el número de tipos de solicitudes del cliente a los que puede responder el servidor. En otro ejemplo, un servidor web Apache responde a las solicitudes del navegador de internet del cliente a través de una aplicación adicional, Apache, que se instala en la capa superior del sistema operativo.
Cuando un cliente pide datos o una funcionalidad de un servidor, lo hace enviando una solicitud a través de la red. El servidor recibe dicha solicitud y responde con la información correspondiente. Este es el modelo de solicitud y respuesta de la conexión cliente-servidor, lo que también se conoce como el modelo de llamada y respuesta.
A menudo, un servidor realizará numerosas tareas adicionales como parte de una sola solicitud y respuesta, como verificar la identidad del solicitante, asegurarse de que el cliente tenga permiso para acceder a los datos o recursos solicitados y formatear o devolver adecuadamente la respuesta requerida de la forma esperada.
Hay muchos tipos de servidores que realizan diferentes funciones. En la mayoría de las redes podemos encontrar al menos uno de los tipos de servidores más comunes:
Servidores de archivos
Los servidores de archivos almacenan y distribuyen ficheros que varios clientes o usuarios pueden compartir. Además, el almacenamiento centralizado de archivos ofrece soluciones de copia de seguridad o tolerancia a fallos de forma más sencilla que tratar de proporcionar seguridad e integridad a los archivos en todos y cada uno de los dispositivos de la organización. Se puede diseñar el hardware del servidor de archivos de modo que potencie las velocidades de lectura y escritura para mejorar el rendimiento.
Servidores de impresión
Los servidores de impresión permiten la gestión y distribución de la funcionalidad de imprimir documentos. Para no tener que conectar una impresora a cada estación de trabajo, podemos tener un único servidor de impresión para responder a las solicitudes de impresión de numerosos clientes. Hoy en día, algunas impresoras de alta gama y gran tamaño vienen con su propio servidor de impresión incorporado, ahorrando la necesidad de instalar uno en un equipo separado. Este servidor de impresión interno hace que la impresora responda también a las solicitudes de impresión de los clientes conectados.
Servidores de aplicaciones
Este tipo de servidores sirve para ejecutar aplicaciones de forma remota, en lugar de que los equipos cliente lo hagan localmente. Los servidores de aplicaciones a menudo ejecutan software que hace un uso intensivo de los recursos, y lo comparten para una gran cantidad de usuarios. Al hacerlo, por un lado, solo tenemos que instalar y mantener el software en una única máquina, y evitamos la necesidad de que cada cliente disponga de suficientes recursos de forma local.
Servidores DNS
Los servidores del sistema de nombres de dominio (DNS) son servidores de aplicaciones que proporcionan funcionalidades de resolución de nombres a los equipos cliente. La resolución de nombres consiste en convertir nombres fácilmente comprensibles por los humanos en direcciones IP legibles por las máquinas. El sistema DNS es una base de datos ampliamente distribuida de nombres y otros servidores DNS a los que se puede consultar para obtener un nombre de equipo desconocido. Cuando un cliente necesita la dirección de un sistema, envía una solicitud con el nombre del recurso deseado a un servidor de DNS, que le responde con la dirección IP correspondiente de su tabla de nombres.
Servidores de correo
Los servidores de correo son un tipo muy común de servidor de aplicaciones. Los servidores de correo reciben los mensajes de correo electrónico que se remiten a un usuario y los almacenan hasta que un cliente los solicite en nombre de dicho usuario. Disponer de un servidor de correo electrónico nos permite tener una sola máquina configurada y conectada correctamente a la red en todo momento, lista para enviar y recibir mensajes en lugar de esperar que cada cliente tenga su propio subsistema de correo electrónico ejecutándose de forma continua.
Servidores web
Uno de los tipos de servidores más abundantes en el mercado actual son los servidores web. Un servidor web es un tipo especial de servidor de aplicaciones que aloja programas y datos solicitados por los usuarios a través de internet o en una intranet. Los servidores web responden a las solicitudes de páginas web u otros servicios basados en la web que llegan de los navegadores que se ejecutan en los ordenadores cliente. Entre los servidores web que podemos encontrar más frecuentemente tenemos servidores Apache, Microsoft Internet Information Services (IIS) y Nginx.
Servidor de base de datos
La cantidad de datos utilizados por empresas, usuarios y otros servicios es sobrecogedora. Gran parte de ellos se almacena en bases de datos. Estas bases de datos deben poder ser accesibles por parte de múltiples clientes en cualquier momento y, generalmente, exigen cantidades extraordinarias de espacio de almacenamiento. Ambas necesidades son la excusa perfecta para ubicar dichas bases de datos en un servidor. Los servidores de bases de datos ejecutan aplicaciones de bases de datos y responden a numerosas solicitudes de clientes. Los servidores de bases de datos más frecuentes son Oracle, Microsoft SQL Server, DB2 e Informix.
Servidores virtuales
Los servidores virtuales están arrasando en el mundo de los servidores. A diferencia de los servidores tradicionales, que se instalan como una dupla de sistema operativo y máquina de hardware, los servidores virtuales solo existen según los parámetros establecidos en un software especializado denominado hipervisor. Cada hipervisor puede ejecutar cientos o incluso miles de servidores virtuales a la vez. El hipervisor presenta el hardware virtual al servidor como si de una máquina física se tratase. El servidor virtual usa el hardware virtual como de costumbre, y el hipervisor traslada las necesidades reales de computación y almacenamiento al hardware real subyacente que se comparte entre todos los demás servidores virtuales.
Servidores proxy
Un servidor proxy actúa como intermediario entre un cliente y un servidor. A menudo se emplean para aislar a clientes o servidores por motivos de seguridad. Un servidor proxy toma la solicitud del cliente pero, en lugar de responderle directamente, traslada la solicitud a otro servidor o proceso. El servidor proxy recibe la respuesta del segundo servidor y, luego, responde al cliente original como si lo hiciera por sí mismo. De este modo, ni el cliente ni el servidor que se comunican realmente se conectan entre sí.
Servidores de supervisión y administración
Algunos servidores tienen la finalidad de supervisar o gestionar otros sistemas y clientes. Hay muchos tipos de servidores de supervisión. Algunos de ellos escuchan la red, recibiendo cada solicitud del cliente y cada respuesta del servidor, pero otros ni solicitan ni responden a los datos por sí mismos. De este modo, el servidor de supervisión puede realizar un seguimiento de todo el tráfico en la red, así como de las solicitudes y respuestas de otros servidores y clientes sin interferir con tales operaciones. Un servidor de supervisión responderá a las solicitudes de monitorización de los clientes, como aquellas que ejecutan los administradores de red cuando vigilan el estado de la red.
El concepto del servidor es casi tan antiguo como el de la red. Después de todo, el objetivo de una red es permitir que un equipo se comunique con otro de forma que se distribuya el trabajo o los recursos. La informática ha evolucionado mucho desde entonces, dando como resultado diferentes tipos de estructuras de servidor y hardware.
Mainframe o minicomputadora (AS/400)
Se podría decir que los servidores originales, los equipos de mainframe y, más tarde, las minicomputadoras, se encargaban de gestionar casi todas las tareas operativas exceptuando la interacción con el usuario a través de una pantalla y un teclado, que se dejaba a los sistemas cliente.
Servidor de hardware
La siguiente gran ola de servidores comprendía servidores basados en ordenadores. En muchos aspectos, estos no eran más que ordenadores de escritorio, pero más grandes y potentes. Generalmente, también eran más caros y tenían mucha más memoria y espacio en disco que la mayoría de los equipos cliente. Cada servidor seguía siendo una unidad autónoma con su propia placa base, procesador, memoria, unidades de disco y fuente de alimentación. A menudo, este tipo de servidores se almacenaba en estancias con aire acondicionado denominadas salas de servidores y, luego, se atornillaban en bastidores o racks para un mejor almacenamiento y accesibilidad.
Servidores Blade
Los servidores de hardware originales ocupaban mucho espacio y se almacenaban en bastidores que podían pesar toneladas. Sin embargo, con el tiempo, la aparición de medios de transferencia más rápidos en el hardware provocó la extracción de partes de esos servidores autónomos. Gracias a la posibilidad de eliminar los discos duros, quitar el sistema de refrigeración interna y miniaturizar de forma continua los componentes computacionales, los servidores se acabaron reduciendo a un único “servidor delgado” conocido como servidor Blade. Aunque se siguen almacenando en bastidores dentro de las salas de servidores, los Blade son más pequeños y se pueden reemplazar más fácilmente.
Combinar servidores
Ya se buscaba separar los servidores del modelo estándar de máquina de hardware individual con sistema operativo propio antes de que la virtualización entrara en escena. Los avances tecnológicos, como la funcionalidad de almacenamiento conectado a la red, eliminaron la necesidad de que un servidor tuviera su propio sistema de almacenamiento. Otras tecnologías, como el mirroring y los clústeres, permitieron combinar partes de hardware en servidores más grandes y potentes que podían estar compuestos de diferentes blades, varios dispositivos de almacenamiento conectados y una fuente de alimentación externa, y cada uno de estos módulos podía intercambiarse por otro mientras el servidor seguía en funcionamiento.
Servidores virtuales
Los servidores virtuales siguen necesitando de una capa de hardware, pero dicha capa ejecuta ahora un proceso diferente conocido como hipervisor. En algunos casos, como Hyper-V de Microsoft, tenemos un sistema operativo completo que se ejecuta sobre el propio hardware. En otros casos, los llamados “hipervisores bare-metal” se pueden instalar directamente en el hardware del servidor. En ambos casos, el hardware como tal suele extenderse a través de múltiples servidores blade, sistemas de almacenamiento en red y fuentes de alimentación, lo que produce un entorno en el cual es imposible saber dónde termina un servidor individual y dónde comienza otro.
Microsoft Windows Server
Podría decirse que Windows para trabajo en grupo (Windows for Workgroups) fue el primer sistema operativo de servidores de Microsoft. En esa versión, ciertos ordenadores podían configurarse para compartir recursos y responder a las solicitudes de los clientes, lo que los convertía en servidores, por definición. El primer sistema operativo de servidores de verdad de Microsoft fue Windows NT. Sus versiones 3.5 y 3.51 podían encontrarse en muchas redes comerciales hasta que Microsoft lanzó su línea Windows Server, que continúa existiendo a día de hoy. La versión más actual es Windows Server 2016, que admite numerosas aplicaciones y bases de datos, así como un hipervisor que permite servidores virtuales.
Servidores Linux/Unix
El otro actor principal de los sistemas operativos de servidores es Linux/Unix. Podemos encontrarlo en múltiples versiones y de todos los colores, como Red Hat Enterprise Linux, Debian y CentOS como algunos de los más famosos. Al ser un sistema operativo de código abierto, Linux es muy popular como servidor web, generalmente con una instalación del servidor web Apache.
NetWare
Aunque ya ha pasado a mejor vida, NetWare fue un sistema importante en el espacio del software para servidores conforme se extendía la adopción del paradigma cliente-servidor. Finalmente, NetWare trasladó su sistema operativo de servidor a un kernel basado en Linux y lo bautizó como Novell Open Enterprise Server (OES).
Servidores en la nube
Aquellos servidores virtuales alojados en una infraestructura de terceros en una red abierta, como internet, se denominan servidores en la nube. En la actualidad, existen numerosos proveedores de servidores en la nube como Google Cloud Platform, Microsoft Azure e IBM Cloud.
Sin embargo, el principal pionero en el campo de la computación en la nube corporativa fue la plataforma AWS de Amazon. Comenzó usando la capacidad libre de los propios servidores y redes de Amazon, y actualmente AWS ahora permite a sus clientes crear un servidor virtual casi instantáneamente y, luego, ajustar la cantidad de recursos que dicho servidor puede utilizar sobre la marcha.
Hoy en día, un servidor puede no ser más que un conjunto de datos del hardware físico, compuesto por multitud de procesadores, unidades de disco, memoria y conexiones de red. No obstante, en el fondo, un servidor sigue siendo simplemente un sistema que responde a una solicitud de un cliente.
Referencias
- Server definition - Webopedia
- Server - Wikipedia
- What is a server? - Computerhope
- Servers are the heart and lungs of the internet - Lifewire
- In the beginning: The history and evolution of device servers - ElectronicDesign
- Server operating systems: history and today's situation - 1&1 Digital Guide
- A comparison of different servers - 1&1 Digital Guide
- What is a server? - 1&1 Digital Guide