¿Qué tipos de servidores existen?

Categories Hosting, Servidores

¿Qué es un servidor?, ¿qué tipos de servidores existen? Son dudas muy frecuentes, en muchos de los usuarios actuales de internet.

Para evitar confusiones, lo primero que debes saber, es que un servidor es un programa informático que se ejecuta en un ordenador. El problema, es que hay un tipo de ordenador especializado para este software que, popularmente ha acabado llamándose servidor, pero en realidad no lo es!

En cualquier caso, sea erróneo o correcto, aquí te explicaré todos los tipos de servidores que existen. Antes de seguir, te recomiendo que te repases uno de nuestros artículos que explica qué es un servidor, lo vas a necesitar.

Todos los tipos de servidores de software

Hay tantos tipos de servidores, como servicios puede ofrecer una computadora, es decir, casi infinitos. Muchos de ellos, no son conocidos, porque forman parte de una solución muy concreta para una empresa, un centro de investigación, etc.

Con esto, lo que quiero decirte, es que te voy a mostrar los que te resultarán más útiles, pero ojo, que no son pocos.

Tipos de servidores web

Ahora mismo lo estás utilizando, el servidor web es aquel que sirve una página web, nada más. Ahora mismo tu eres un cliente de un servidor web mientras estás leyendo este blog.

Y, ¿en qué consiste? Este servidor recibe una petición en formato de URL, la procesa, y te devuelve un contenido HTML. A continuación tienes un esquema de ese funcionamiento:

Diagrama del funcionamiento de un servidor web

Y ¿qué es HTML? Se trata de un texto con un formato concreto, que le describe a tu ordenador cómo mostrar la página. Y tu ves la página tan bonita, gracias al navegador web que estés usando (Chrome, Firefox, Safari, etc). Éste interpreta ese código HTML y te pinta el blog de forma bonita ;). Si quieres saber qué pinta tiene, haz click al botón derecho de tu ratón sobre esta página, y selecciona la opción ver código fuente.

Y ahora te estarás preguntando, y ¿cuáles son los programas que hacen de servidor web? Los más comunes son:

Todos ellos son gratuitos, aunque el único que no es open source es el IIS. Lo más interesante de esto, es que la mayoría de software del tipo servidor es opensource, es decir, ha sido desarrollado por un conjunto de programadores voluntarios, que han decidido ceder su tiempo y sus capacidades para ampliar, mejorar y desarrollar este tipo de software.

Además, otra curiosidad muy interesante sobre este software, es que su calidad es tan buena, que las empresas no pueden competir con estos softwares y acaban usándolos.

Tipos de servidores de base de datos

Este es otro de los tipos de servidores fundamentales y más comunes, y lo sueles utilizar diariamente. ¿Cómo? De forma indirecta, cuando guardas tus datos en alguna aplicación web, cuando envías un Whatsapp o cualquier otra actividad que quede registrada en alguna aplicación, esa información generada se guarda en una base de datos.

Sin embargo, casi nunca interactuarás con ella directamente, siempre lo harás a través de un servidor web, de cache, email o cualquier otro más enfocado a soportar peticiones de clientes externos. ¿Por qué?, por motivos de seguridad y para controlar el registro de datos problemáticos: ilegales, erróneos, incompletos, etc.

El mecanismo es similar al anterior, a través de un programa cliente, se le envían peticiones al servidor de base de datos, generalmente utilizando un lenguaje llamado SQL, y el servidor de base de datos procesa esa información y contesta con los datos requeridos.

Tipo de servidor de Base de datos

Y, ¿qué es SQL? Se trata de un lenguaje sencillo, que sirve para indicarle al servidor de base de datos qué información quieres consultar. Para saber más, te dejo este enlace.

Además, generalmente las bases de datos están organizadas en tablas y columnas (como un excel pero más complejo), sin embargo, existen otro tipo llamado NoSQL, que se organizan en documentos, grafos, llave valor, etc. La principal diferencia, es que no siguen una estructura tan estricta. No voy a entrar al caso, pero si te voy a poner los dos tipos:

Tipos de servidores de base de datos relacionales

Tipos de servidores de base de datos no relacionales

A diferencia de los servidores web, muchas empresas han desarrollado sus propios servidores de base de datos. ¿Desde cero? No, la gran mayoría se basan en versiones opensource, mejorando o aplicando los cambios necesarios para ajustarlas a sus necesidades. Lo interesante del caso, es que o bien acaban liberando el proyecto como opensource, sería el caso de Cassandra, o bien los ofrecen como un servicio propio, sería el caso del RDS de Amazon.

Tipos de servidores de e-mail

¿Sabías que el email se inventó por los años 80? Y, ¿a día de hoy sigue siendo una de las principales vías de comunicación a día de hoy? Ahí es donde puedes apreciar la importancia.

El funcionamiento es sencillo, a través de un cliente de correo electrónico, como puede ser el Outlook o el Gmail, puedes comunicarte con el servidor de email. El modo de comunicarte es sencillo, tanto la información que recibes, como la que envías, es transmitida mediante el protocolo de comunicación SMTP.

Diagrama de los tipos de servidores email

La lista de servidores es enorme, por ello me voy a centrar en los más relevantes:

Tipos de servidores de DNS

Los servidores DNS son un tanto especiales, pues son los encargados de entender un nombre de dominio: www.example.com a una IP y puerto públicas. Sus siglas significan Domain Name System, y son fundamentales en el internet actual. Su principal misión es comunicar tu ordenador con la computadora que hospeda otros servidores, cuando escribes mundoservidor.com, lo que realmente pasa es lo siguiente:

Esquema de una petición web con nombre de dominio

 

En realidad hay tantos servidores DNS globales como dominios del tipo .com, .org, .net, etc existen. Estos conocen todos los nombres de dominio que usan esa extensión, por ejemplo, mundoservidor.com es conocido por el DNS global que contiene todos los .com, incluyendo google.com o facebook.com. Por eso, registrar un nombre de dominio cuesta un dinero.

Para resolver un nombre, internet utiliza un proceso en jerarquía para resolverlo. Imagina que escribes www.mundoservidor.com, lo que sucede es, primero se busca el servidor DNS global .com, luego este te buscará el .mundoservidor, y una vez estés en mi servidor, te resolveré el www

Esquema del algoritmo que resuelve un nombre de dominio

Se trata de una simplificación del proceso real, la parte extendida está especificado en varios RFC, uno interesante es el RFC-1101, aunque son bastante densos de leer y están en inglés.

Los diferentes tipos de servidores DNS son poco conocidos, porque generalmente se suele usar BIND que es gratis y suele venir preinstalado, pero te dejo una lista con los más comunes:

Tipos de servidores de Cache

Los servidores de caché son fundamentales para asegurar un buen rendimiento de cualquier aplicación web. Existe la particularidad que la gran mayoría de peticiones que se hacen en internet, esperan el mismo resultado.

Por ejemplo, cuando has abierto este artículo, has pedido a mi servidor que te muestre el artículo. Pero claro, eso implica que mi servidor debe procesar tu petición, buscar la información en la base de datos, buscar las imágenes, juntarlo todo y mostrártelo… suena pesado, ¿no?

Esquema de una petición normal de la carga de un artículo

Definitivamente lo es! Para una petición apenas se nota la diferencia, pero tanto el proceso de wordpress, el trabajo que tiene que realizar la base de datos o el sistema de ficheros para encontrar las imágenes, consume tiempo y procesado de CPU. Sin contar, que como debes imaginar, la comunicación entre dos ordenadores tiene un límite, y un retraso. Imagina que en vez de una petición, tienes miles de peticiones al día, cientos a la hora… todos esos inconvenientes se incrementan de forma exponencial, y al final toda la web irá lentísima… es pura física.

¿Cómo se suele solucionar? Uno de los métodos más sencillos, baratos e inteligentes, es no realizar todo ese proceso si no es necesario.

Esquema de una petición web guardando el resultado en un servidor cache

¿Parece más complicado ahora verdad? Para nada, imagino que pedimos un artículo llamado X, todo sigue como antes, la única diferencia, es que ahora guardaremos la respuesta HTML para el artículo X en el servidor Cache. ¿Para qué? porque en la siguiente petición al artículo X, evitaremos todos esos procesos:

Esquema de un servidor cache

Bastante más sencillo, ¿verdad? Lo que hace es muy sencillo, mira si tiene el contenido del artículo X, y si lo tiene devuelve el HTML generado. Muy poco procesamiento, mucho más rápido y sin consumir demasiada CPU. Esto hace que cualquier aplicación web mejore muchísimo su rendimiento. Y, ¿cuáles son los más aconsejables?

Servidores de cache proxy

Servidores de cache de datos

Tipos de servidores de intercambio de archivos

Los servidores de intercambio de archivos son utilizados generalmente para entornos, en los que se necesitan mover de un ordenador a otro grandes volúmenes de información. Utilizan diferentes protocolos, desde el FTP (file transfer protocol), pasando por el SFTP (la version segura del FTP), incluyendo otros protocolos menos conocidos como SCP o TCP

La peculiaridades de cada uno son muy variadas, mientras que el FTP está en desuso debido a sus pocas garantías de seguridad. Por otra parte el TCP es muy utilizado para intercambios de fichero web, como JS, CSS, etc. Y por último, los dos protocolos más comunes en entornos de desarrollo son el FTPS/SFTP y el SCP

Esquema de un servidor FTP

En la actualidad, la mayoría de software de transferencia de datos incluyen soporte para todos los tipos de protocolo FTP, SFTP/FTPS, TCP, SCP, etc:


 

Los tipos de servidores de ordenadores

Como te comentaba antes, aunque este conjunto se refiere a computadoras físicas, es incorrecto referirse a ellas como servidores. Sin embargo, debido a que existe esa confusión, voy a tratarlos como tipos de servidores en este artículo. Pero recordad, un servidor es un programa informático, no un ordenador.

Generalmente son proveídos por grandes empresas de internet que poseen una grandiosa cantidad de computadores dedicadas a este fin, estas son algunos ejemplos:

Logo de Digital oceans
Desde 5€ al mes
Logo de Linode
Desde 10€ al mes
Logo de HostGator
Desde 3.5€ al mes

Y generalmente, los tres tipos más comunes que puedes encontrar son:

Servidores dedicados

Cuando contratas un servidor dedicado, en realidad lo que estás contratando es un ordenador físico para tus necesidades. En él le puedes instalar tantos servidores como puertos te permitan abrir (servidor web, de correo, de cache, etc).

Servidores virtuales

Cuando disponemos de un servidor virtual, en realidad lo que está pasando, es que estamos compartiendo un ordenador físico con otros usuarios con sus propios servidores.

Eso significa que, vais a compartir ancho de banda, y si los dos tenéis un servidor web que escucha al puerto 80, el tiempo de uso de ese puerto lo vais a tener que compartir… en pocas palabras, no vas a tener tan buen rendimiento.

Clúster de servidores

Un clúster de servidores, es cuando utilizas un conjunto de ordenadores físicos trabajando en paralelo. Muy utilizado en entornos de Big Data, simulaciones y webs con alto volumen de datos.

Lo más probable, es que para un proyecto inicial, o amateur no lo vayas a necesitar. Sin embargo, es interesante conocer el concepto, por si algún día lo necesitas ;).


¿Te ha sido útil esta página? Espero que haya podido resolver tus dudas, si te ha quedado por saber o por decir, ¡no dudes en comentarnos! Y si te ha gustado, te animo a que nos compartas. Gracias! 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *