Servidores

Servidores

Controladores de dispositivos de servidor

En el uso más común, un servidor es una computadora física (un sistema de hardware informático) dedicada a ejecutar uno o más servicios (como host), para satisfacer las necesidades de los usuarios de otras computadoras en una red. Dependiendo del servicio informático que ofrezca, podría ser un servidor de base de datos, un servidor de archivos, un servidor de correo, un servidor de impresión, un servidor web, un servidor de juegos o algún otro tipo de servidor.

En el contexto de la arquitectura cliente-servidor, un servidor es un programa informático que se ejecuta para atender las solicitudes de otros programas, los "clientes". Por tanto, el "servidor" realiza alguna tarea computacional en nombre de los "clientes". Los clientes se ejecutan en la misma computadora o se conectan a través de la red.

En el contexto de las redes de Protocolo de Internet (IP), un servidor es un programa que opera como un detector de sockets.

Los servidores suelen proporcionar servicios esenciales a través de una red, ya sea a usuarios privados dentro de una gran organización o a usuarios públicos a través de Internet.

El término servidor se utiliza de forma bastante amplia en tecnología de la información. A pesar de los muchos productos de marca de servidor disponibles (como versiones de hardware, software o sistemas operativos para servidor), en teoría cualquier proceso computarizado que comparte un recurso con uno o más procesos de cliente es un servidor. Para ilustrar esto, tomemos el ejemplo común de compartir archivos. Si bien la existencia de archivos en una máquina no la clasifica como servidor, el mecanismo que comparte estos archivos con los clientes a través del sistema operativo es el servidor.

De manera similar, considere una aplicación de servidor web (como el "Servidor HTTP Apache" multiplataforma). Este software de servidor web se puede ejecutar en cualquier computadora compatible. Por ejemplo, si bien una computadora portátil o personal no suele denominarse servidor, en estas situaciones pueden cumplir la función de tal y, por lo tanto, etiquetarse como tal. Es, en este caso, el rol de la máquina lo que la sitúa en la categoría de servidor.

En el sentido de hardware, la palabra servidor normalmente designa modelos de computadora destinados a alojar aplicaciones de software bajo la gran demanda de un entorno de red. En esta configuración cliente-servidor, una o más máquinas, ya sea una computadora o un dispositivo informático, comparten información entre sí y una actúa como host de las otras.

Si bien casi cualquier computadora personal es capaz de actuar como servidor de red, un servidor dedicado contendrá características que lo harán más adecuado para entornos de producción. Estas características pueden incluir una CPU más rápida, mayor RAM de alto rendimiento y mayor capacidad de almacenamiento en forma de discos duros más grandes o múltiples. Los servidores también suelen tener características de confiabilidad, disponibilidad y capacidad de servicio (RAS) y tolerancia a fallas, como redundancia en fuentes de alimentación, almacenamiento (como en RAID) y conexiones de red.

Los servidores se volvieron comunes a principios de la década de 1990, cuando las empresas comenzaron a utilizar cada vez más computadoras personales para brindar servicios que antes estaban alojados en mainframes o minicomputadoras más grandes. Los primeros servidores de archivos albergaban múltiples unidades de CD-ROM, que se utilizaban para alojar grandes aplicaciones de bases de datos.

Entre los años 1990 y 2000, un aumento en el uso de hardware dedicado vio la llegada de dispositivos de servidor autónomos. Un producto muy conocido es Google Search Appliance, una unidad que combina hardware y software en un paquete listo para usar. Ejemplos más simples de tales dispositivos incluyen conmutadores, enrutadores, puertas de enlace y servidores de impresión, todos los cuales están disponibles en una configuración casi plug-and-play.

Los sistemas operativos modernos, como las distribuciones de Microsoft Windows o Linux, parecen, con razón, estar diseñados teniendo en mente una arquitectura cliente-servidor. Estos sistemas operativos intentan abstraer el hardware, permitiendo que una amplia variedad de software funcione con los componentes de la computadora. En cierto sentido, se puede considerar que el sistema operativo sirve de hardware al software, que en todos los lenguajes de programación, excepto en los de bajo nivel, debe interactuar mediante una API.

Estos sistemas operativos pueden ejecutar programas en segundo plano llamados servicios o demonios. Dichos programas, como el software del servidor Apache HTTP antes mencionado, pueden esperar en estado de suspensión hasta que su necesidad se haga evidente. Dado que cualquier software que proporcione servicios puede denominarse servidor, las computadoras personales modernas pueden verse como un bosque de servidores y clientes que operan en paralelo.

Internet en sí es también un bosque de servidores y clientes. Simplemente solicitar una página web desde unos pocos kilómetros de distancia implica satisfacer una pila de protocolos que involucran muchos ejemplos de servidores de hardware y software. Los menores de ellos son los enrutadores, módems, servidores de nombres de dominio y varios otros servidores necesarios para proporcionarnos la red mundial.

La introducción de la computación en la nube permite compartir el almacenamiento del servidor y otros recursos en un grupo y proporciona a los servidores un mayor grado de tolerancia a fallas.

Los requisitos de hardware para servidores varían según la aplicación del servidor. La velocidad absoluta de la CPU no suele ser tan crítica para un servidor como lo es para una máquina de escritorio [ cita requerida ]. La tarea de los servidores de brindar servicio a muchos usuarios a través de una red genera diferentes requisitos, como conexiones de red rápidas y un alto rendimiento de E/S. Dado que normalmente se accede a los servidores a través de una red, es posible que se ejecuten en modo sin cabeza, sin un monitor o dispositivo de entrada. No se utilizan procesos que no son necesarios para el funcionamiento del servidor. Muchos servidores no tienen una interfaz gráfica de usuario (GUI), ya que es innecesaria y consume recursos que podrían asignarse a otra parte. Del mismo modo, se pueden omitir las interfaces de audio y USB.

Los servidores suelen funcionar durante largos períodos sin interrupción y la disponibilidad debe ser a menudo muy alta, lo que hace que la confiabilidad y durabilidad del hardware sean extremadamente importantes. Aunque los servidores pueden construirse a partir de piezas de computadora básicas, lo ideal es que los servidores empresariales de misión crítica sean muy tolerantes a fallas y utilicen hardware especializado con bajas tasas de falla para maximizar el tiempo de actividad, ya que incluso una falla a corto plazo puede costar más que comprar e instalar el sistema. . Por ejemplo, puede que sean necesarios sólo unos minutos de inactividad en una bolsa de valores nacional para justificar el gasto de reemplazar completamente el sistema por algo más confiable. Los servidores pueden incorporar discos duros más rápidos y de mayor capacidad, ventiladores de computadora más grandes o refrigeración por agua para ayudar a eliminar el calor y fuentes de alimentación ininterrumpida que garantizan que los servidores continúen funcionando en caso de un corte de energía. Estos componentes ofrecen mayor rendimiento y confiabilidad a un precio correspondientemente más alto. La redundancia de hardware (instalar más de una instancia de módulos, como fuentes de alimentación y discos duros, dispuestos de manera que si uno falla, otro esté disponible automáticamente) se utiliza ampliamente. Se utilizan dispositivos de memoria ECC que detectan y corrigen errores; Es más probable que la memoria que no sea ECC cause daños en los datos.

Para aumentar la confiabilidad, la mayoría de los servidores utilizan memoria con detección y corrección de errores, discos redundantes, fuentes de alimentación redundantes, etc. Estos componentes también suelen ser intercambiables en caliente, lo que permite a los técnicos reemplazarlos en el servidor en ejecución sin apagarlo. Para evitar el sobrecalentamiento, los servidores suelen tener ventiladores más potentes. Como los servidores suelen ser administrados por administradores de sistemas calificados, sus sistemas operativos también están más optimizados para la estabilidad y el rendimiento que para la facilidad de uso y la facilidad de uso, y Linux ocupa un porcentaje notablemente mayor que el de las computadoras de escritorio .

Como los servidores necesitan una fuente de alimentación estable, buen acceso a Internet, mayor seguridad y además son ruidosos, es habitual almacenarlos en centros de servidores dedicados o salas especiales. Esto requiere reducir el consumo de energía, ya que la energía adicional utilizada genera más calor, lo que hace que la temperatura en la habitación exceda los límites aceptables; por lo tanto, normalmente las salas de servidores están equipadas con dispositivos de aire acondicionado. Las carcasas de los servidores suelen ser planas y anchas (normalmente se miden en "unidades de bastidor"), adaptadas para almacenar muchos dispositivos uno al lado del otro en un bastidor de servidores. A diferencia de las computadoras comunes, los servidores generalmente se pueden configurar, encender y apagar o reiniciar de forma remota, mediante administración fuera de banda, generalmente basada en IPMI.

Muchos servidores tardan mucho en iniciar el hardware y cargar el sistema operativo. Los servidores suelen realizar pruebas exhaustivas de la memoria previa al arranque y verificación y puesta en marcha de servicios de administración remota. Luego, los controladores de disco duro inician bancos de unidades secuencialmente, en lugar de todos a la vez, para no sobrecargar la fuente de alimentación con sobretensiones de arranque, y luego inician comprobaciones previas del sistema RAID para verificar el funcionamiento correcto de la redundancia. Es común que una máquina tarde varios minutos en iniciarse, pero es posible que no sea necesario reiniciarla hasta pasados meses o años.