ARQUITECTURA CLIENTE-SERVIDOR

Introducción
En esta investigación encontraremos las especificaciones de lo que es la arquitectura cliente/servidor, donde aprenderemos como se utiliza, que es lo que lo diferencia de otras arquitecturas, además de puntualizar sus ventajas y desventajas.

La arquitectura cliente / servidor es un modelo informático en el que el servidor hospeda, entrega y administra la mayoría de los recursos y servicios que el cliente debe consumir. Este tipo de arquitectura tiene uno o más equipos cliente conectados a un servidor central a través de una red o conexión a Internet.


Esta es una arquitectura de computación de productor-consumidor donde el servidor actúa como productor y el cliente como consumidor. El servidor alberga y ofrece servicios de alto nivel, de computación intensiva al cliente bajo demanda. Estos servicios pueden incluir acceso a aplicaciones, almacenamiento, compartición de archivos, acceso a la impresora y / o acceso directo a la potencia de procesamiento sin procesar del servidor. (Techopedia Inc., 2017)


La arquitectura cliente / servidor funciona cuando el equipo cliente envía una petición de recurso o proceso al servidor a través de la conexión de red, que luego se procesa y entrega al cliente. Un equipo servidor puede administrar varios clientes simultáneamente, mientras que un cliente puede conectarse a varios servidores a la vez, cada uno proporcionando un conjunto diferente de servicios.

En su forma más simple, Internet también se basa en la arquitectura cliente / servidor donde el servidor Web sirve a muchos usuarios simultáneos con página Web y / o datos de sitios web.

Ventajas
  • Centralización del control: el acceso, los recursos y la integridad de los datos son controlados por el servidor dedicado para que un programa o cliente no autorizado no pueda dañar el sistema. Esta centralización también facilita la tarea de actualizar datos u otros recursos (mejor que las redes P2P).
  • Escalabilidad: puede aumentar la capacidad de los clientes y servidores por separado. Cualquier elemento se puede aumentar (o mejorar) en cualquier momento, o puede agregar nuevos nodos a la red (clientes o servidores).
  • Fácil mantenimiento: distribuya las funciones y responsabilidades a varios equipos independientes, puede reemplazar, reparar, actualizar o incluso mover un servidor, mientras que los clientes no se verán afectados por ese cambio (o afectarán mínimamente). Esta independencia de los cambios también se conoce como encapsulación. (Ganore, 2017)
  • Seguridad: Las reglas que definen los derechos de seguridad y acceso pueden definirse en el momento de la configuración del servidor.
Desventajas:
  • El software y el hardware de un servidor suelen ser muy decisivos. Un personal de hardware de la computadora regular puede no ser capaz de servir a un cierto número de clientes. Por lo general, se necesita software específico y hardware, especialmente en el lado del servidor, para cumplir con el trabajo. Por supuesto, esto aumentará el costo.
  • Cuando un servidor está inactivo, las solicitudes del cliente no se pueden cumplir.
  • La congestión de tráfico siempre ha sido un problema en el paradigma de C / S. Cuando un gran número de clientes simultáneos envían solicitudes al mismo servidor puede causar muchos problemas para esto (a más clientes, más problemas para el servidor).

Se puede resumir que el modelo cliente-servidor no se utiliza en redes de pequeña escala y en redes donde la seguridad no es un gran problema.

En ese caso, muchas veces los desarrolladores optan por usar la arquitectura (Peer-to-Peer). La arquitectura peer-to-peer (arquitectura P2P) es una arquitectura de red de ordenadores comúnmente utilizada en la que, a diferencia de la C/S, cada estación de trabajo, o nodo, tiene las mismas capacidades y responsabilidades, por ello no es necesario el uso de servidores fijos.

Un ejemplo en donde se ve muy marcado la competición entre estas dos arquitecturas es en la industria del videojuego. Muchas empresas, para hacer un multijugador utilizan la arquitectura C/S, en donde utilizan un servidor dedicado.

Por ejemplo en un juego de disparos en línea, el servidor lo que hace es simular el juego y procesarlo de forma independiente de los usuarios, es decir el juego o partida existe sin importar que no haya jugadores. Lo que hacen los clientes es enviar datos de su ubicación, la salud de sus personajes, cada vez que hay un disparo o básicamente todo lo que sucede dentro del juego. El host recibe estos datos, los procesa y los retransmite muchas veces por segundo al resto de los clientes. (LevelUp, 2017)


Sin embargo, como anteriormente se dijo, la instalación de servidores dedicados es muy costosa, por lo que compañías optan por arquitectura Peer-To-Peer en donde emparejan a jugadores de la misma región y cada uno de los clientes simula y reparte su información a los otros jugadores sin necesidad de un servidor central.


Conclusión

Podemos afirmar que la arquitectura cliente-servidor, por un lado es muy costosa para llevar a acabo si lo que se planea es algo grande, pero por todas sus ventajas, es por la que optan la mayoría de las empresas. Las otras arquitecturas también tienen sus ventajas y desventajas pero lo importante es hacer que la que utilicemos se adecue a los requerimientos que necesitemos y de esta manera tener un buen desempeño para los usuarios de nuestro software. Tal vez en un futuro se mejoren cada uno de los modelos existentes, o muy posiblemente surjan nuevos. Sin embargo es importante mirar en lo que tenemos ahora y ver como poder usarlos a nuestro favor.

Referencias

Ganore, P. (20 de 08 de 2017). ESDS enabling futurabilty. Obtenido de https://www.esds.co.in/blog
Techopedia Inc. (17 de 08 de 2017). Technopedia. Obtenido de https://www.techopedia.com
Levelup.com (27 de 05 de 2017). ¿Qué rayos es un servidor dedicado? [Archivo de video].

Comentarios

Entradas populares