Servidor

Hace ya medio siglo que Internet nació sin embargo fue recién a mediados de los noventas y principios de la primera década de este siglo comenzó a llegar al gran público y explotó con la expansión y abaratamiento de las ADSL, las conexiones móviles y con la fibra óptica.

Antes una PC podría funcionar perfectamente desconectada de internet, ni para jugar o escuchas música se necesitaba estar conectado, ni siquiera para buscar información, las webs eran relativamente pocas y para estudiar solo se necesitaba tener instalado Encarta, la wikipedia de los noventas.

Hoy dia todo esto es impensable porque sin Internet nuestro PC solo es capaz de gastar electricidad o peor aún, nuestro teléfono que se transforma en un objeto totalmente inútil solo capaz de hacer llamadas telefónicas y enviar SMS como en la edad de piedra.

Vivimos conectados ¿Pero conectados a que? A servidores, web servers, servicios, microservicios y aplicaciones remotas.

Muchas veces inadvertidamente hablamos de servidor web para referirnos al servicio http y esto está bien, podemos usar uno u otro como sinónimos aunque depende del contexto, es bueno saber la diferencia entre servidor y servicio ya que no siempre son lo mismo.

¿Qué es un Servidor?

Un servidor es una computadora física o virtual que se encarga de brindar uno o más servicios de diferentes tipo a otras computadoras y/o usuarios ya sea a través de una red local o por medio de internet.

Si bien lo normal es que un servidor profesional está construido con un potente hardware y abundantes recursos que le permita absorber una importante carga de trabajo.

Esto le permite poder atender miles o incluso cientos de miles de peticiones de forma rápida, lo cierto que define que sea un servidor o no es la función que cumple y no sus capacidades de hardware.

Cualquier computadora puede ser un servidor, desde un Mainframe que ocupe una habitación completa hasta un Raspberry Pi que cabe en una mano o incluso aún más pequeño como uno basado en el microcontrolador esp8266 , poco más grande que una moneda, todos son ejemplos de servidores.

Un servidor sirve para publicar servicios que serán usados por otros usuarios remotos u otras aplicaciones, un servidor de web hosting puede alojar muchos servicios al mismo tiempo como puede ser el caso de los hosting que alojan servicios web, de correo, FTP entre otros.

A estos servicios es que muchas veces son referimos como servidores, como por ejemplo el servidor web o el servidor FTP que no más que dos servicios alojados en el mismo servidor físico o virtual (como los servidores VPS).

¿Que es un servicio o daemon?

Un servicio es un sistema al cual usuarios remotos pueden hacer peticiones y obtener una respuesta, estas peticiones pueden ser para obtener información alojada en el servidor o para enviarle información al servidor.

Un servicio no es más que un software que se instala en un servidor para intercambiar datos entre un cliente – servidor, para ello utilizan un estándar o un protocolo en común que les permite comunicarse entre sí y los hace compatibles.

Por ejemplo tenemos los protocolos SMTP que permiten enviar correo electrónico, sin importar si el servicio de correo es Exim, Postfix o Sendmail un mismo cliente puede comunicarse con los tres para enviar correo.

Si bien son tres servidores de correo sin nada en común, programados de forma diferente y que internamente trabajan diferentes, los tres hablan el mismo idioma: SMTP ( Simple Mail Transfer Protocol) y eso es lo que el servicio sea compatible con cualquier cliente.

De la misma manera un  servicio es compatible con cualquier cliente también cualquier cliente es compatible con cualquier servidor SMTP y puede comunicarse sin problemas.

Esto mismo se replica para otros servicios como los servicios HTTP que es el que permite publicar servicios web, no importa si el servicio corre con Nginx, Apache u otro software, con cualquier navegador como Firefox, Google Chrome o Safari podremos ver la misma página sin importar el servidor web.

¿Cómo funciona un servidor?

Ahora que sabemos que es un servicio y que es un servidor podemos explicar un poco mejor cómo funciona cada uno.

Los servidores llevan un sistema operativo que permite controlar el trabajo de la CPU, la gestión de memoria, el almacenamiento de disco, las conexiones de red además de todos los recursos de hardware y dispositivos conectados que podemos encontrar en un servidor.

Una vez que el sistema operativo arrancó se inician los servicios, estos brindan servicios a una red local o a Internet.

Para ello cada servicio abre uno o más puertos en el servidor que es lo que permite que los clientes se comuniquen.

Tipos de servidores

¿Qué tipos de servidores existen? ¿Cuáles son sus diferencias? Vamos a tratar de explicar todo esto.

Servidor Web

Cuando pensamos en servidores el tipo más común es el servidor web porque es el que más usamos y es la base de internet, cuando leemos noticias, vemos videos en youtube o películas en Netflix estamos usando servidores web.

A finales de los años ochenta cuando Timothy Berners-Lee ingeniero e investigador del CERN creó el HTML (HyperText Markup Language) un lenguaje de marcado que permitía estructurar documentos para distribuirlos a través de la red también debió diseñar un servicio que permitiera hacerlo, así fue como nació el primer servidor web.

El primer servidor se llamó  httpd (HyperText Transfer Protocol Daemon) que en un principio sólo permitía distribuir contenido estático de html e imágenes, no permitía interactuar con las páginas

Mas de una década después comenzaron a surgir CGIs y luego lenguajes de programación como PHP y ASP para ofrecer contenido dinámico para agregando interactividad entre los sitios y los usuarios dando lugar a los que se llama la web 2.0

Con los años se desarrollaron muchos servidores web diferentes y hoy disponemos de varias alternativas de servidores web para cubrir diversas necesidades, como podrás ver entre los mas conocidos podemos encontrar Tipos de Servidores Web.

Servidor de FTP

Este tipo de servidor no es tan conocido para el gran público sin embargo juega un papel fundamental en el mundo del hosting y web, FTP (File Transfer Protocol) es un protocolo para transferencia de archivos que permite mover archivos entre computadoras o entre servidores de forma práctica y segura.

Si bien para un usuario normal hoy en día existen maneras más sencillas de mover archivos aún es el principal método de acceso a servidores web que se utiliza por diseñadores y programadores para subir, actualizar y eliminar archivos desde y hacia un servidor web.

Por dicha razón cuando se adquiere un plan de hosting uno de los datos que se recibe es justamente el acceso FTP para poder comenzar a subir el sitio, la siguiente función que tiene actualmente los servidores FTP es la de poder sincronizar respaldos remotos.

Servidor de Base de Datos

Toda aplicación por más pequeña que sea utiliza almacenamiento de datos y lo usual es que lo hagan de forma estructurada en una base de datos que garantiza el orden, la integridad, disponibilidad y la durabilidad de los datos a lo largo del tiempo.

Las base de datos existen desde hace mucho tiempo, en un principio eran simples listados y archivos de texto con separadores y las aplicaciones acceden directamente sobre los archivos lo que no era muy seguro ni práctico sobre todo cuando muchos usuarios intentaban acceder al mismo tiempo.

Así surgieron los manejadores de base de datos, son servicios que controlan el acceso a los datos, la seguridad y la integridad de la misma.

Controlan que los datos sean correctamente escritos, si son base de datos estructuradas controlan que los datos sean estandarizados y cumplan ciertos requisitos a diferencia de las base de datos no estructuradas como por ejemplo las conocidas como NoSQL.

La principal función que tienen las base de datos es poder almacenar información y poder recuperarla rápidamente cuando se necesite.

La velocidad es un punto crucial y lo principal que se pueda recuperar solo lo que se necesite omitiendo el resto, es decir que permita filtrar la información de forma rápida y practica esa es una de las razones por las que se opta por base de datos en lugar de ficheros.

Igual que en los servidores web en el caso de las base de datos tenemos varias opciones.

En el mundo del hosting web el motor de base de datos más usado es MySQL mientras que Microsoft SQL Server y Oracle compiten en el mundo empresarial. Existen diversas clasificaciones y alternativas, para profundizar sobre este concepto te recomendamos leer: Tipos de Servidores de Base de datos SQL

Servidor de Aplicación

Suelen considerarse servidores de aplicación a tecnologías como Jboss o Tomcat de Apache, sin embargo también pueden incluirse en esta lista a los lenguajes de programación que corren en el servidor.

Es normal entonces leer o escuchar hablar del Servidor PHP, servidor ASP o Servidor Java.

Servidor de Correo

Se tiene la percepción que el correo electrónico ha caído en desuso y ha perdido frente a redes sociales y aplicaciones de mensajería, es cierto que cuando nos queremos comunicar con alguien el correo ya no es nuestra primera opción.

Sin embargo no se tiene en cuenta que cada usuario que use algún servicio online tiene que tener un correo electrónico para poder registrarse por esa razón en el mundo hay más cuentas de correo electrónico que nunca.

Hay estimaciones que dicen que se envían 160 Millones de correos por minuto en el mundo, es cierto que mucho de eso es SPAM, se calcula que un 70% o más, sin embargo lo que sobra aun es mucho correo y para manejarlo se necesitan sistemas de correo que permiten enviar y recibir correos.

Para enviar y para recibir correo se utilizan dos tipos servidores diferentes, el primero es el servidor SMTP que se utiliza para enviar correo, esto es utilizado por los clientes solo para enviar y los servidores lo utilizan tanto para enviar y recibir correo entre sí.

Cuando un cliente envía un correo este se comunica con el servidor SMTP de su casilla de correo y este servicio se comunica con el SMTP de la casilla de destino.

Luego para descargar el correo los clientes se conectan a los servicios POP3 o IMAP según su preferencia.

Servidor DNS

El Servicio de Nombre de Dominio es un servicio del que poco se habla pero que todos usamos sin darnos cuenta y sin el Internet no sería lo que es.

En internet los servidores de identifican por una dirección IP, es una dirección numérica similar a lo que sería un numero telefono, para que no tengamos que recordar fríos números existe un sistema que nos permite asignar a una IP un nombre más amigable de recordar.

Cuando en el navegador colocamos hostingdiario.com nuestro sistema operativo primero debe buscar donde se encuentra el servidor y para ello necesita la IP, podemos decir que el Sistema de Nombres de Dominio no es otra cosa guia telefonica que nos permite a través de un nombre encontrar la IP

Servidores de Fecha y Hora

Otro tipo de servidores muy importantes en la red son los de Fecha y Hora que permiten que las computadoras sincronice la hora, es una tarea que puede parecer insignificante pero desde el punto de vista de la computación es vital.

No solo entidades financieras necesitan tener siempre actualizada la hora, incluso dispositivos hogareños dejan de operar con normalidad cuando se tiene una fecha incorrecta. Es tan importante que los dispositivos se actualicen la fecha y hora con regularidad de forma automática.

Si la hora del teléfono es incorrecta y utilizamos Google Authenticator u otra aplicación similar, esta aplicación dará códigos incorrectos para efectuar el login, ya que los códigos serán válidos sólo para la hora del dispositivo no la real, una diferencia de tan sólo 30 segundos nos podría dejar afuera de cualquier servicio.

Algo más básico como ver una web se vería afectado, si una computadora o un teléfono está des-sincronizado tendrá problemas para validar los certificados SSL de los sitios web y las aplicaciones.

Si tiene la hora incorrecta no reconocerá los certificados como válidos por lo tanto no pudiendo abrir el sitio web o iniciar sesión en ciertas aplicaciones.

Servidores de Juegos

Por muchos años los juegos fueron off-line, el jugador podía jugar contra la máquina o contra otro jugador pero siempre en el mismo computador.

Con el surgimiento de las redes locales surgieron las partidas multi-jugador donde se podía unir dos o más jugadores.

Con la popularización de Internet estos servidores de juegos (en muchos casos servidores privados VPS o servidores dedicados) se movieron a la red, cualquier persona puede montar un servidor de su juego favorito y publicar el acceso en internet, lo que antes estaba limitados a un habitación ahora se abrió al mundo.

Para organizar estas partidas multijugador, se necesita al menos un servidor que organice e interconecte a los usuarios, puede ser desde un portátil en la habitación de un adolescente hasta una plataforma en la nube montada por la productora del juego en cuestión.

Servidor de Impresión

Algo tan básico como imprimir un documento de una página depende de un servidor, la mayoría de las veces local en la propia pc, los sistemas operativos implementan un servidor para poder controlar la cola de impresión de los usuarios

Tanto sea de los usuarios en la propia computadora como los que impriman remotamente a través de la red local

Conclusión

Lo sepamos o no estamos rodeados de servidores que nos permiten hacer todo lo que hoy hacemos, dependemos de ellos para trabajar, para estudiar, para leer noticias, para ver streaming y hasta para jugar, estan en todos lados aunque no los veamos o ni siquiera sepamos que existen.

¿Quieres saber cómo es un mundo sin servidores? Desactiva el WiFi de tu teléfono y los datos o Internet de tu computadora, lo que puedas hacer sin Internet único que puedes hacer sin servidores.

Deja un comentario

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