Normalmente los términos de Back-End y Front-End son muy utilizados en ambientes de programación o aplicativos. Si realizas una búsqueda en internet, verás que la mayoría de resultados arrojados giran en torno a aplicativos, y básicamente se usan para referenciar la parte de la aplicación que se muestra al usuario final (Front-End) de todo lo demás que hay detrás de la misma (Back-End), como el servidor donde reside, base de datos y el desarrollo en general de la misma.

Con respecto a una infraestructura de TI, dichos términos también tienen mucho uso y es común que los lleguemos a escuchar dentro de la estructura de conectividad que conforman muchas de las soluciones o equipos que encontramos en un Centro de Datos.

En general podemos decir que el sentido de uso de estos, es el mismo en ambos casos, siendo uno la capa de presentación (Front-End) y el otro, la capa de acceso a los datos que se encuentran detrás (Back-End).

Ejemplos de uso en el Data Center

En un Centro de Datos hay muchas maneras de ejemplificar ambos términos, desde equipos de almacenamiento de distintos tipos, cluster’s de alta disponibilidad o soluciones de hiperconvergencia, por mencionar algunos. Pero mejor describamos cada uno para diferenciarlos mejor, y para esto, tomaremos como ejemplo cualquier equipo de almacenamiento, ya sea SAN o NAS de un Centro de Datos.

Back-End

De manera simplificada, podemos decir que la estructura regular de un equipo de almacenamiento está conformada por unidades de procesamiento, donde encontramos la CPU, memoria, periféricos y módulos de conectividad, por unidades y gabinetes de discos, que son los que dan el espacio o almacenamiento en sí, donde residirán los datos, que a la vez también cuentan con módulos de conectividad.

Ahora, dependiendo del tamaño/capacidad del equipo, este puede estar conformado por un gran número de gabinetes con N cantidad de discos, entonces, ¿cómo interconectamos todos estos gabinetes con la unidad de procesamiento para presentarlo como un solo equipo? 

Es muy importante que esta conectividad sea dedicada, para un mayor rendimiento; aquí es donde entra la conectividad Back-End, que es toda esta infraestructura de conexión que permite ligar cada uno de los gabinetes/servidores que integran una solución única. Estas conexiones suelen ir directamente de gabinete en gabinete (incluida la unidad de procesamiento), mediante módulos de conectividad (por eso los resaltamos anteriormente), ya sea en cascada, bus, o incluso habrá equipos que estén en Back-End y lo realicen con conexión a switch’s dedicados para ello.

Entonces, el Back-End es toda esa conexión que existe de manera lógica, por “detrás”, para interconectar y comunicar los distintos componentes de un equipo y por donde se realiza la transferencia de datos interna del mismo; además, suelen ser redes o canales de comunicación dedicados y que no se mezclan con la red común del cliente. Puede estar representada por canales de comunicación de alta velocidad, como son conexiones SAS a 12 Gb/s, Infiniband de 10, 20 ó 40 Gbps o de 10, 25 ó 100 GigabitEthernet vía FC.

Front-End

Por el contrario, la conectividad Front-End es la red de comunicación o conexión que permite presentar el servicio o los datos a los equipos finales. Tomando como base el ejemplo anterior, de igual manera mediante módulos de conectividad en el equipo, permite conectarse ya sea a la red del mismo cliente o mediante switches dedicados, que serán el “puente” para mostrar los espacios de disco o acceso a datos, tanto a los servidores o equipos de usuarios finales. 

No siempre esta conexión es dedicada para el equipo, ya que puede compartirse con una infraestructura de red existente o con switches de conexión que incluyan otros equipos de almacenamiento.

Estas conexiones pueden estar representadas por canales de comunicación de infraestructuras de red comunes o incluso canales de alta velocidad, como pueden ser FC de 8/16 Gb, IP/iSCSI de 10 Gb o incluso RJ45 de 1 Gb, pero también con opciones de 10 GbE o 25 GbE. Aquí la conectividad dependerá del alcance y rendimiento deseado por el cliente y de la infraestructura con la que cuente; recordemos que la velocidad proporcionada por un equipo, en una red, estará limitada al dispositivo más lento en la misma, por lo que la conectividad Front-End va directamente ligada a los alcances de la solución que busca el cliente, para dicho equipo.

¿Cómo aplicar estos conceptos en otros equipos?

Entendido todo lo anterior, los términos son igualmente aplicables a todos los demás equipos que pudiéramos encontrar en nuestro DataCenter. Por ejemplo, en una solución de hiperconvergencia es exactamente lo mismo, pues hablamos de servidores de última generación proporcionando cómputo, almacenamiento y redes, todos interconectados mediante un Back-End de alta velocidad que permite generar un ambiente virtualizado de alto rendimiento, y que al final, proporciona acceso a las máquinas virtuales por medio de conectividad Front-End ligada a la red del propio cliente.

Otro ejemplo, un storage Scale-Out, donde todos los gabinetes tienen procesamiento y almacenamiento, también tiene su “columna vertebral” en Back-End de alta velocidad para la transferencia de datos de un nodo a otro; y a la vez cada nodo también tiene módulos de Front-End para la conexión hacia la red del cliente.


¿De qué manera nos ayudan estos conceptos?

Como hemos leído, estos términos forman solo una parte de la gran infraestructura y soluciones que podemos encontrar dentro de un Centro de Datos. Es importante tenerlos claros, pues tiene gran influencia al momento de diseñar y dimensionar una solución para cualquier empresa, ya que estos definirán en gran parte el rendimiento del equipo que se está considerando y si tiene implicaciones directas en la infraestructura que lo rodea.