Qué es un servidor de software y cuáles son las principales diferencias entre un servidor de software y un servidor de hardware?

El término "servidor" se utiliza, por desgracia, para un montón de cosas diferentes en el mundo de la informática.

En un contexto de software, un "servidor" es cualquier aplicación que se ejecuta la mayor parte o todo el tiempo y está listo para responder a las preguntas o realizar operaciones en nombre de alguna otra aplicación o proceso. La aplicación que hace las preguntas o solicita las operaciones es el "cliente". Una instalación moderna de Windows tiene cientos de servidores persistentes (llamados "servicios" en la jerga de ese sistema operativo) y muchas aplicaciones (Office, por ejemplo) también lanzarán servidores temporales como parte de la ejecución para realizar varias funciones dentro de la aplicación.

En un contexto de hardware, un "servidor" es un hardware informático que ha sido diseñado con el propósito de alojar aplicaciones grandes y de larga duración con un alto grado de fiabilidad y durabilidad. Por lo general, el hardware de clase servidor admite más procesadores y más memoria que el hardware de clase escritorio o estación de trabajo, tiene fuentes de alimentación redundantes y sistemas de refrigeración redundantes, y puede tener la capacidad de admitir más discos duros, interfaces de red y otras opciones de E/S que las que suelen encontrarse en el hardware de clase escritorio o estación de trabajo. Los componentes de hardware (fuentes de alimentación, ventiladores, discos duros, memoria y, a veces, incluso procesadores) pueden retirarse y sustituirse sin necesidad de apagar la máquina ni de reiniciar el sistema operativo. Los servidores suelen tener capacidades de vídeo muy limitadas (aunque algunos tienen "GPUs sin cabeza" para soportar la computación basada en GPUs) y normalmente no tienen capacidad de audio en absoluto, sólo un pequeño aparato que puede emitir un pitido. El hardware de clase servidor ha sido diseñado para funcionar de forma continua durante años en entornos con temperatura controlada. Desde el punto de vista de la arquitectura, el hardware de nivel de servidor no es tan diferente del hardware de nivel de estación de trabajo; simplemente está diseñado para un nivel de rendimiento diferente.