En este momento estás viendo El Motor Invisble: Descifrando el Significado de un Servidor en la Web

El Motor Invisble: Descifrando el Significado de un Servidor en la Web

Un servidor es un conjunto de computadoras los cuales son capaces de atender las peticiones de un cliente y devolverle una respuesta en concordancia. Los servidores se pueden ejecutar en cualquier tipo de computadora, incluso en computadoras dedicadas a las cuales se les conoce individualmente como «el servidor». En la mayoría de los casos una misma computadora puede proveer múltiples servicios y tener varios servidores en funcionamiento. La ventaja de montar un servidor en computadoras dedicadas es la seguridad. Por esta razón la mayoría de los servidores son procesos diseñados de forma que puedan funcionar en computadoras de propósito específico.

Los servidores operan a través de una arquitectura llamada cliente-servidor. Los servidores son programas de computadora en ejecución que atienden las peticiones de otros programas: los clientes. Por tanto, el servidor realiza otras tareas para beneficio de los clientes; les ofrece la posibilidad de compartir datos, información y recursos de hardware y software. Los clientes usualmente se conectan al servidor a través de la red, pero también pueden acceder a él a través de la computadora donde está funcionando. En el contexto de redes Internet Protocol (IP), un servidor es un programa que opera como oyente de un socket.1​

Comúnmente, los servidores proveen servicios esenciales dentro de una red, ya sea para usuarios privados dentro de una organización o compañía, o para usuarios públicos a través de Internet. Los tipos de servidores más comunes son servidor de base de datos, servidor de archivos, servidor de correo, servidor de impresión, servidor web, servidor de juego, y servidor de aplicaciones.2​

Un gran número de sistemas usa el modelo de red cliente-servidor, entre ellos los sitios web y los servicios de correo. Un modelo alternativo, el modelo red peer-to-peer, permite a todas las computadoras conectadas actuar como clientes o servidores acorde a las necesidades.

Uso de servidor

El término servidor es ampliamente utilizado en el campo de las tecnologías de la información. A pesar de la amplia disponibilidad de productos etiquetados como productos de servidores (tales como versiones de hardware, software y OS diseñadas para servidores), en teoría, cualquier proceso computacional que comparta un recurso con uno o más procesos clientes es un servidor. Tomemos como ejemplo la acción de compartir archivos. Mientras que la existencia de archivos dentro de una computadora no la clasifica como un servidor, el mecanismo del sistema operativo que comparte estos archivos a los clientes sí es un servidor.

De manera similar, consideremos una aplicación web servidor (como por ejemplo el servidor multiplataforma «Apache»). Este servidor web puede ejecutarse en cualquier tipo de computadora que cumpla con los requerimientos mínimos. Por ejemplo, mientras un ordenador portátil (en inglés: laptop) o computadora personal usualmente no son consideradas como servidores, en ciertos casos (como el anterior) pueden cumplir el rol de uno y por lo tanto ser denominadas servidores. En este caso, es el rol de la computadora el que la coloca en la categoría de servidor.

En el sentido del hardware, la palabra servidor normalmente etiqueta modelos de computadora diseñados para hospedar un conjunto de aplicaciones que tiene gran demanda dentro de una red. En esta configuración cliente-servidor, uno o más equipos (lo mismo una computadora que un programa informático), comparten información entre ellos de forma que uno actúa como anfitrión (en inglés: host) de los otros.

Casi todas las computadoras personales pueden actuar como un servidor, pero un servidor dedicado tendrá cualidades más adecuadas para un ambiente de producción. Entre estas cualidades se pueden mencionar una unidad central de procesamiento (CPU) más rápida, memoria de acceso aleatorio (RAM) mejorada para alto desempeño, y mayores capacidades de almacenamiento en forma de múltiples discos duros. Los servidores también cuentan con otras cualidades como fiabilidad, disponibilidad y capacidad de servicio (RAS por su siglas en idioma inglés) y tolerancia a fallos, esta última en forma de redundancia en cuanto al número de fuentes, en almacenamiento de datos como un grupo redundante de discos independientes (RAID) y varias conexiones de red.

Los servidores se volvieron comunes a principios de 1990 en la medida en que los negocios comenzaron a utilizar computadoras personales para brindar servicios que anteriormente se alojaban en mainframes o en microcomputadoras. Los primeros servidores de archivos contaban con múltiples torres de CD, utilizados para alojar grandes aplicaciones de bases de datos.[cita requerida]

Entre 1990 y el 2000 el aumento en el uso de hardware específico marcó el advenimiento aplicaciones de servidor autosuficientes. Uno de estas aplicaciones bien conocidas es el Google Search Appliance, que combina hardware y software en un paquete out-of-the-box packaging. Productos similares fueron el Cobalt Qube y el RaQ. Ejemplos más sencillos de dichos equipos incluyen switches, routers, gateways, y servidores de impresión, los cuales son fácilmente utilizables a través de una configuración plug-and-play.

Los sistemas operativos modernos como Microsoft Windows o las distribuciones de Linux parecen haber sido diseñados siguiendo una arquitectura cliente-servidor. Estos sistemas operativos se abstraen del hardware, permitiendo a una gran variedad de software trabajar con componentes de la computadora. De alguna forma, el sistema operativo puede ser visto como un servidor de hardware al software pues, excepto en los lenguajes de programación de bajo nivel, el software debe interactuar con el hardware a través de un API.

Estos sistemas operativos son capaces de ejecutar programas en un segundo plano los cuales son llamados servicios o daemons. Estos programas, entre los que se encuentra el Servidor HTTP Apache previamente mencionado, pueden permanecer en un estado dormido hasta que sea necesario su uso. Como cualquier software que brinde servicios puede ser llamado servidor, las computadoras personales modernas se pueden ver como bosques de aplicaciones clientes y servidores operando en paralelo.

El propio Internet es un bosque de servidores y clientes. Solo con el hecho de solicitar una página web de un servidor a pocos kilómetros de distancia conlleva a satisfacer una pila de protocolos de red que incluyen varios ejemplos del uso de hardware y software para servidores. Los más sencillos de estos son los routers, módems, servidores DNS, además de otros sin cuya interacción no podríamos acceder a la web.

La aparición de la computación en la nube permite servidores de almacenamiento, así como compartir recursos con un fondo común; igualmente permite a los servidores mantener un mayor grado de tolerancia a los fallos.

Requerimientos de hardware

Sistemas operativos

Los sistemas operativos orientados a servidores cuentan con ciertas cualidades que los hacen más adecuados para el entorno de un servidor, como

En muchos casos, los sistemas operativos orientados a servidores pueden interactuar con sensores de hardware para detectar estados como sobrecalentamiento, fallos de discos o del procesador, y en consecuencia alertar a su operador o tomar medidas de rectificación por sí mismo.4

Como los servidores deben proveer un conjunto limitado de servicios a múltiples usuarios mientras que una computadora personal debe soportar una amplia variedad de funcionalidades requeridas por su usuario, los requerimientos de un sistema operativo para un servidor son diferentes de aquellos en una computadora de escritorio. Aunque es posible que un sistema operativo haga que una computadora provea servicios y responda rápidamente a los requerimientos de un usuario, es común el uso de diferentes sistemas operativos en servidores y computadoras de personal. Algunos sistemas operativos vienen en sus versiones personales (desktop) y servidores (server) con interfaces de usuario similares.5

Tipos de servidor

En la siguiente lista hay algunos tipos comunes de servidores:7

Sin embargo, de acuerdo al rol que asumen dentro de una red se dividen en: