Single system image: más allá de single sign-on

publicado 25/01/2003, Última modificación 26/06/2013

Terminé mi proyecto de single sign-on, con deployment exitoso de todo. Muchas gracias a todos los que lo hicieron posible. Ahora hay que ir más allá. Sigue el vínculo para leer más.

Single system image: más allá de single sign-on

Manuel Amador, Fri Jan 24 02:40:43 ECT 2003

Este documento contempla la mejora de los servicios provistos por el CSI de la Universidad Santa María, campus Guayaquil, con miras a mejorar la experiencia del usuario y disminuir la carga administrativa, optimizando los recursos disponibles.

Introducción

El CSI de nuestro campus provee una amplia gama de servicios, entre los cuales se cuenta el uso de las computadoras personales para los miembros del campus.

Sabido es, por todos, que la situación actual es mejorable. Cabe comentar que durante el último trimestre del presente año académico, la Universidad ha dado grandes pasos gracias, principalmente, a los trabajos de desarrollo e integración de los estudiantes de los ramos Programación 2 y Taller de programación, en la forma de proyectos.

En el ramo de Programación 2 llevé a buen término el proyecto de Single sign-on. Este proyecto pretendió exitosamente integrar la fuente de autenticación para todo el campus en una sola base de datos junto con los servicios que presta el CSI - correo electrónico, sistema académico Web, etcétera.

Mi intención es exponer un problema percibido por los usuarios, proponer una solución, y detallar a grandes rasgos qué se puede hacer al respecto y cómo hacerlo.

Idea central

Desde hace ya cierto tiempo veo la necesidad del usuario: una de las cosas importantes para el usuario es poder disponer de la información personal, de forma segura y presta.

Me explico más a fondo: quiero iniciar sesión desde cualquier equipo del CSI y disponer de una carpeta para guardar mi información personal, sin importar en qué equipo me encuentre. Además, también deseo disponer de carpetas para los grupos de trabajo a los que soy miembro.

Es aquí donde entra la idea de single system image: que el usuario perciba que, donde quiera que él se encuentre, el nivel de servicio es el mismo, y cada uno de los componentes del sistema (en este caso, los ordenadores) son parte de una sola "gran cosa"? que opera transparentemente.

Buena parte de la imagen única de single system image ha sido alcanzada durante el proyecto de single sign-on: el inicio de sesión para los servicios Web está en su mayor parte integrado - iniciar sesión en un servicio inicia sesión automáticamente en otros. Aquí deseo hacer un alto para acreditar a Rafael Nevárez y a Luis Fernando Fabara por su esfuerzo titánico para integrar la aplicación de grupos de trabajo phpGroupWare, cuya complejidad me hace admirar las habilidades de ingeniería reversa y programación de ambos.

Esto, tecnológicamente, es posible: el CSI dispone mayormente de la infraestructura necesaria, y las plataformas tecnológicas apoyan tal servicio; es decir, llevar a cabo la idea sería cuestión de integración en su gran mayoría. La inversión, de haberla, sería mínima. Por eso, amerita la creación y gestión de un proyecto, para que, bajo su marco, podamos proveer una solución que habilite la noción arriba expuesta: porque podemos hacerlo, porque es nuestra obligación académica aprender investigando, contribuyendo y haciéndolo, y porque es nuestra obligación moral mejorar el servicio al cliente: nuestro campus.

Cómo realizarlo

Siguiendo la misma metodología usada para el proyecto de Programación 2, identifico los siguientes elementos necesarios:

  1. Un repositorio central de seguridad
  2. Un repositorio central de archivos
  3. Una configuración estándar para los equipos participantes

Un repositorio central de seguridad

Esta parte está solucionada. En este momento, `triton.usm.edu.ec` hace las veces de servidor central de autenticación y páginas blancas. Los equipos Linux hacen interfaz al servidor, mientras que los equipos Windows participan indirectamente de la misma a través del servidor de archivos. Podemos decir, a ciencia cierta, que este escollo está salvado - y es importante recalcarlo, ya que es condición sin equa non para que este proyecto se lleve a cabo.

Un repositorio central de archivos

Tal vez el único elemento de este proyecto que requiera inversión, es necesario habilitar un repositorio central de archivos. Esto implica automáticamente mejorar la capacidad de almacenamiento de nuestro servidor de archivos actual: ganimides. Además, existe aún la necesidad de depurar las cuentas de usuario creadas de forma informal, siguiendo las recomendaciones en la documentación del proyecto de single sign-on.

Es posible que haya que mejorar más que sólo la capacidad de almacenamiento del servidor de archivos. Considero razonable esperar que se triplique la carga de trabajo en el mismo, sin embargo, la inversión en la mejora dista mucho de ser grande.

Una configuración para los equipos participantes

El diablo está en los detalles: la configuración determina toda la funcionalidad de la solución, pero hay N formas de hacerlo.

En particular, voy a sugerir qué hacer, considerando las tres plataformas que deben integrarse. Ojo: esta sección tiene detalles técnicos.

En cuanto a los equipos que funcionan con Windows, la integración es transparente, con respecto a la configuración actual. El servidor de archivos automáticamente notifica al equipo Windows que el usuario que inició sesión dispone de espacio en la red: para accederlo, el usuario busca su carpeta en el servidor de archivos, ganimides. Pero podemos ir más allá: Windows tiene una característica llamada Roving profiles: los documentos y la configuración del escritorio se guardan automáticamente en el servidor de archivos, siempre y cuando el servidor de archivos esté configurado para permitirlo. Esto es el meollo del asunto: permitir que el entorno del usuario lo acompañe en su cambio de PC; sin esto, la solución no tiene valor.

Una pequeña investigación informal tuvo lugar este trimestre: los alumnos de Programación 2 y Taller de programación dispusieron de sus cuentas de usuario en el servidor de desarrollo, triton, y todos reportaron estar contentos de disponer de su entorno dondequiera que iban, junto con la capacidad de guardar la información personal en el servidor

Para los equipos Linux, el asunto es aún más sencillo: Linux apoya, nativamente vía PAM, el repositorio de seguridad, lo cual significa que el usuario existe en toda la red Linux. Puesto que Linux ubica los archivos del usuario en un solo lugar, /home, hacer que un equipo Linux participe de la solución single system image es cuestión de decir al equipo Linux que busque /home en el servidor de archivos.

Un punto que queda por investigar es cómo operan los equipos Macintosh en esta solución. Evidentemente, los equipos Macintosh pueden acceder a las carpetas personales, pero la idea es ir más allá e incorporarlas al single system image.

Se debe considerar el asunto de los recursos asignados a cada estudiante. Mediante la facilidad de imponer cuotas, el administrador de la red podrá limitar la cantidad de espacio en el servidor de archivos para cada usuario. El administrador deberá estudiar una cantidad límite, que sea razonable, fomente de hecho el uso de la solución y mantenga al usuario contento, y al mismo tiempo sirva de límite práctico.

Realizar respaldos de los datos será sencillo: sólo será necesario respaldar el servidor de archivos, con lo cual los archivos de todos y cada uno de los estudiantes estarán seguros de su información.

Ventajas

Llevando a cabo este proyecto, la USM gozará de múltiples ventajas.

  • Seguridad: de acuerdo al principio de confidencialidad, el usuario gozará de seguridad, ya que no necesitará guardar sus archivos en lugares secretos ni en cinco equipos distintos. Realizar respaldos de los datos será cuestión de hacer un solo respaldo, en lugar de buscar equipo por equipo lo que se respaldará.
  • Menor carga de trabajo: el personal del CSI estará menos agobiado por el desorden de los usuarios — el momento en que el usuario pueda confiar en la red USM para guardar sus archivos, los equipos necesitarán menor mantenimiento.
  • Mejora en el servicio: los usuarios percibirán una mejora significativa en el nivel de servicio del campus: el usuario se sentirá bien. Entiendo por mis investigaciones informales que ningún otro campus dispone de un servicio parecido, lo cual nos pondría una vez más en la posición de líderes.

Obstáculos

Tal vez el obstáculo más significativo para llevar a cabo el proyecto en nuestro campus sea el performance de la red local. En el transcurso del proyecto single sign-on, caí en cuenta que el rendimiento de la red local era pobre. Una red Ethernet de 100 Mbps con switches simplemente no puede volverse lenta, sin embargo, la transferencia de archivos ocurría a una tasa inferior a la de una red de 10 Mbps. Cabe aclarar que el rendimiento de la red local es independiente del rendimiento del acceso a Internet. Sugiero que el personal del CSI investigue formalmente qué sucede con la red local.

Ideas futuras

Single system image aún podría ser mejorado, en una encarnación futura. Los equipos Linux son capaces de adquirir todos sus programas de computadora desde la red, virtualmente con ningún cambio. Una configuración adecuada permitiría al administrador de red desplegar un programa una sola vez, y que el mismo esté disponible en toda la red. Es evidente que este tipo de posibilidades disminuirían muchísimo la carga de trabajo del personal del CSI, y aumentarían la satisfacción de los usuarios, con la ventaja adicional de eliminar la reinstalación mensual del software y los problemas de virus. Por eso, recomiendo investigar la posibilidad de adecuar futuras mejoras al laboratorio teniendo en cuenta a Linux. Esto requerirá, seguramente, de estudios cuidadosos para determinar qué es exactamente lo que el usuario necesita, para personalizar la experiencia del usuario USM.

Otra idea que involucra el uso de Linux es montar un cluster. Un cluster es un solo computador gigantesco, formado por computadores comunes y corrientes en red. Por descabellada que pueda resultar la idea, Linux dispone de facilidades que permiten unir la potencia de cada computador de la red como un solo computador grande: a horas no pico, con pocos usuarios, la velocidad de trabajo del usuario mejoraría tremendamente, mientras que a horas pico, la velocidad sería la misma que la actual. La adición de un equipo a la red aumentará la velocidad de todos los computadores.

También es posible crear una red de terminales: usando computadores viejos, que estén al final de su ciclo de vida, podemos darles nueva vida conectándolos a un equipo poderoso, en lugar de comprar cinco equipos regulares. Los ahorros económicos de una mejora tal han sido discutidos anteriormente.