Nuevo panel de control: OVH se concentra en el desarrollo Full-Stack y UX

PayPal, Netflix, y más recientemente WordPress han adoptado Full-Stack Javascript, lo cual significa que estas aplicaciones utilizan ya el mismo lenguaje para la interfaz (front-end), la lógica de intercambio de información (middleware), y las bases de datos. OVH se integró temprano a este movimiento, con la presentación, en la conferencia Devoxx France de 2013, del "Manager Telecom" como una de las primeras interfaces de cliente codificadas en AngularJS y Bootstrap -solo faltaba el back office en Javascript para alcanzar el Full-Stack. ¿Cómo agilizar aplicaciones tan complejas como el manager de OVH? ¿Qué tecnologías y métodos pueden contribuir a la eficiencia de los programadores, sin dejar de tener en cuenta el feedback de los usuarios?

¿Por qué el futuro está en Full-Stack?

Express.js, AngularJS, e incluso Bootstrap, son los tres entornos principales empleados en el rediseño del panel de control de OVH. “Estas tecnologías ofrecen una gran libertad de concepción”, expesa con regocijo Jean-Philippe Blary, uno de los desarrolladores del equipo especializado en la experiencia del usuario o UX team (del inglés User Experience Team) de OVH, evocando el ejemplo de los popovers que aparecen en la sección del Public Cloud del manager. Como muchos otros desarrolladores, Jean-Philippe ya había trabajado con el Google Web Toolkit antes de llegar a OVH. La bibliotecas de components permiten ganar tiempo, y en contrapartida deben satisfacer el look and feel propuesto, generalmente sujeto a cambios marginales. Los entornos que hemos elegido, por el contrario, son cuchillos suizos, con los que podemos desarrollar, casi idénticamente, los modelos propuestos por los ergónomos.” En el equipo UX, la tendencia es el desarrollo Full Stack, es decir, un trabajo minucioso que abarque todas las capas de una aplicación. “Cuando hablamos de devops, de cierta manera nos referimos a la combinación de las habilidades de un desarrollador con el know how de un administrador de sistemas”, explica Kevin Bonduelle, que también trabaja en el diseño de la nueva interfaz. En el sector tecnológico, la escasez de personal no afecta todas las áreas, sin embargo, ejerce una influencia notable sobre los métodos de trabajo, así como sobre algunas opciones tecnológicas, a fin de elevar al máximo la eficiencia de los desarrolladores. Los generalistas ponen también viento en popa, en particular con las start ups, que están obligadas a innovar rápidamente sin la posibilidad de emplear más colaboradores. Este es un cambio significativo, resultado de la promoción de la súper especialización que trajo consigo la explosión tecnológica de los últimos años (el móvil, el Big Data, la IoT, la inteligencia artificial, etc). "La necesidad de desarrollares especializados se mantiene, ya que algunas tecnologías no se pueden dominar superficialmente." Explica Kevin. "Sin embargo, esta demanda deberá disminuir de acuerdo a la tendencia de la simplificación de las tecnologías y sus aplicaciones." En estas condiciones, el desarrollador Full-Stack ya no es el mito que muchos declaran. Resulta interesante destacar que el movimiento Full-Stack tiene enlaces más allá del mundo de la informática. Según la compañía francesa KPMG, que ofrece servicios fiscales, de auditoría y de asesoramiento financiero y de negocios en 156 países, la compañía norteamericana Tesla, proveedora de baterías para automóviles eléctricos, se habría podido limitar a ser un intermediario en la manufactura de automóviles; sin embargo, eligió fabricar sus propios vehículos, un enfoque "Full Stack" orientado al control de la cadena de valor de la innovación. Meses atrás, se hablaba de la integración vertical. En la actualidad, el vocabulario tecnológico enriquece el léxico de la economía, quizás como un signo de su importancia en aumento...

Las tendencias de Google, con los volúmenes de datos registrados por el motor de búsqueda, muestran la explosión, a partir del año2013, del uso de las tecnologías node.js (en verde), AngularJS (en rojo) y bootstrap (en violeta).

Manager de OVH: De una concepción monolítica técnicamente orientada a una concepción modular gestionada por el usuario

Después de once años brindando un servicio bueno y confiable, el manager V3 alcanza el final de su ciclo de vida, para ser sustituido por el manager V6, una aplicación full Javascript fácil de usar. "¡Una verdadera revolución!" exclama Jean-Philippe, pues la concepción del manager V3 es el legado de los desarrolladores de OVH. Cada nueva función desarrollada por un departamento técnico, se añadía al panel de control. Los botones aparecían donde quedaba espacio, y a nadie le preocupaba si en realidad se utilizaban. Por otra parte, el manager V3 no había sido diseñado para la explotación de datos comportamentales. Sin embargo, con más de 40 mil usuarios interactuando diariamente con esta interfaz, se habrían podido acumular un amplio conocimiento sobre los posibles cambios. Actualmente, el diseño del nuevo panel de control está exclusivamente en manos del equipo UX, orientado hacia una misión específica: el análisis de las necesidades de los clientes, el desarrollo de soluciones que se adapten a estas necesidades, y la prueba de dichas soluciones, todo a partir del feedback de los usuarios.” El objetivo del equipo UX consiste en esconder la complejidad de OVH detrás de una interfaz sencilla: “Si nuestro trabajo no está a la altura de las expectativas, las consecuencias son inmediatas: los clientes comienzan a inundar la línea del soporte, o a utilizar la API para solucionar los problemas, o simplemente cancelan sus servicios con OVH.” Paralelamente, contamos con una medición mensual del índice de satisfacción, gracias al envío de numerosas encuestas a una interfaz de clientes que hayan utilizado el manager recientemente.

Resumen gráfico de las arquitecturas técnicas del Manager V3 y el Manager V6, respectivamente.

La migración del manager V3 al manager V6 es un proyecto masivo, pues no se trata precisamente de una migración, sino de una reescritura íntegra de más de 400 funciones macroscópicas asociadas a decenas de miles de casos prácticos. "La arquitectura subyacente ha sido totalmente rediseñada", explica Kevin. "El manager V3 estaba basado en una arquitectura monolítica escrita en Perl, XML and XSLT, a la cual la base de datos estaba conectada directamente. Cada modificación, incluso gráfica, constituía un riesgo; y como los cálculos se realizaban en el servidor, el tiempo de carga de las páginas era largo." El manager V6 se basa en una infraestructura modular, con una aplicación web que utiliza AngularJS y Bootstrap, y que envía sus primeras solicitudes a la API de Node.js, la cual, a su vez, envía solicitudes a la API de OVH (donde encontramos Perl, Go, Java y Python). La API de OVH extrae la información de los centros de datos. "La API sobre API codificada en Node.js, y que llamamos 2API, es un middleware que realiza la función de incorporar la API del manager V6, y permite eludir el límite de seis solicitudes simultáneas para los navegadores. Para los clientes que disfrutan de varios servicios de OVH, la visualización de algunas páginas del manager puede requerir cientos de solicitudes. Gracias a esta solución, las páginas se cargan más rápida y progresivamente, a medida que el usuario se desplaza en el navegador." Por otra parte, las arquitecturas REST y el feedback de la API han sido estandarizadas, de manera que posibilitan el aprovechamiento de tecnologías futuras.
"Aún tenemos mucho que progresar para lograr el rendimiento deseado en algunas de nuestras operaciones, fundamentalmente en las de carácter masivo. Para ello trabajamos arduamente, sin dejar de cuestionar nuestras decisiones tecnológicas. Ya están en camino las nuevas ideas sobre la API V7."

City JS permite comparar la estructura monolítica de la arquitectura del manager V3 con la del manager V6, mucho más modular, La base rectangular blanca ilustra la aplicación de manera integral; en carmelita, los distritos (archivos), en rojo, los módulos (namespaces); en verde, las funciones anónimas; y en azul, las funciones nombradas.

Detrás del desafío técnico se esconde un mayor desafío: lograr la aceptación de los cambios por parte de los usuarios. De esto se encarga Anne-Claire Maury, ergonomista del equipo UX: "Existe un fenómeno de habituación a la antigua interfaz, generado por la frecuencia de utilización y por el hecho de que ha evolucionado poco con el paso del tiempo, lo cual la convierte en una interfaz totalmente anacrónica desde el punto de vista ergonómico. Esta habituación del usuario puede provocarle cierta alergia al cambio, ya que muchos consideran el tiempo empleado en habituarse a una interfaz como una inversión. Por esta razón, muchas veces ofrecen resistencia ante una nueva interfaz. El trabajo del ergonomista es crucial en este sentido, pues consiste precisamente en garantizar al usuario una fase rápida de aprendizaje y familiarización con las nuevas soluciones, lo cual conlleva al mejoramiento continuo mediante la modificación progresiva. Para el futuro, no habrá más cambios drásticos como este."

Multiplicar el feedback de los usuarios

Anne-Claire incita a los usuarios a expresar sus opiniones. En el Summit 2015, invitó a varios clientes al stand de OVH para realizar pruebas de las distintas secciones del manager durante el proceso de reescritura, y está convencida de que "es necesario multiplicar las pruebas. En un solo día, al asignar a cinco participantes un escenario semiestructurado para ejecutarlo en un prototipo dinámico, se puede identificar el 85% de los problemas de una interfaz." De igual manera, la aplicación de estas pruebas a los usuarios internos, permiten evaluar la usabilidad de las aplicaciones, lo cual se traduce en la eficiencia de las mismas, la satisfacción que generan. "Podemos anticiparnos a los conflictos de ego cuando es el usuario quien determina la relevancia de nuestras ofertas." El feedback se recibe también a través del equipo de soporte, dentro del cual se organiza un grupo, encargado de la gestión del mejoramiento continuo del servicio. "Los datos que se recogen a partir del patrón de llamadas establecido contribuyen a enriquecer y priorizar nuestro backlog kaizen, la lista de funciones y modificaciones esperadas por los usuarios." Cada vez que se implementa una nueva función, Anne-Claire entrega el volante al equipo de prueba, que se ocupa de encontrar los fallos reales y potenciales mediante la aplicación de una serie de pruebas de uso. "La misión del equipo de prueba consiste en analizar y prever todos los casos prácticos, desde los tradicionales hasta los improbables, y de comprobar, ya en beta, o fase de preproducción, la compatibilidad de la misma con el sistema. "Estas pruebas son de importancia vital: en la versión más actualizada de la pirámide de Maslow, se utiliza una aplicación confiable para describir las necesidades de los usuarios de la web. Es la usabilidad, la eficiencia de las soluciones, la base de nuestro trabajo, que garantiza los aspectos ético y emocional; y en esta base que concentramos todos nuestros esfuerzos."

Trabajo técnico: Mobile First y AngularJS 2.0

Inmediatamente después que el manager V6 haya reemplazado definitivamente al manager V3 (funcionalidad ISO a partir de mediados de enero), una de las prioridades del equipo UX será la estrategia Mobile First. Anne-Claire argumenta: "En el manager V3, el móvil representaba un 3 o un 4% de las conexiones, lo que significa claramente que esta interfaz no era adaptable a la web. En la actualidad, las conexiones a internet desde un móvil representan el 90%. La ecuación es sencilla: se debe lograr, al menos, la compatibilidad (capacidad de respuesta) y la adaptabilidad (aparición de las aplicaciones) con respecto al móvil, antes de lanzar una nueva aplicación. Todo esto tiene sentido para ciertos usos del manager, como por ejemplo: la contratación o renovación de servicios, el monitoreo de un servidor..."
Otro reto sería saltar hacia las próximas innovaciones tecnológicas. "Hemos elegido estructuras dinámicas y de nueva generación, escalables," justifica Jean-Philippe. AngularJS ofrece ya su versión 2.0, muy prometedora, con un compilador incorporado, lo cual nos permitirá el lanzamiento de una primera aplicación móvil híbrida, basada en el mismo código que el manager web, y la utilización de la norma ECMAScript 6, que soporta Javascript 2015 y Typescript." Este lenguaje de rápido desarrollo y ligera ejecución, solo tiene como inconveniente la incompatibilidad con las versiones antiguas de los navegadores de internet. Como líderes en el sector tecnológico, tenemos la tarea de promover la actualización de los navegadores web en beneficio de todos."

La compatibilidad de ECMAScript 6 (let) en función de los diferentes navegadores de internet del sitio http://caniuse.com (verde=compatible; verde pálido=compatibilidad no garantizada; rojo=no compatible)

El equipo multidisciplinario de experiencia del usuario entre Francia y Quebec
El equipo UX de OVH está repartido entre Roubaix, sede social de OVH, Rennes et Québec, donde el proveedor de alojamiento abrió sus nuevas oficinas en abril de 2015. "Nuestras instalaciones de Quebec nos permiten la selección de perfiles candidatos en el mundo del videojuego," explica Pierre Leroux, responsable del equipo UX de OVH y antiguo productor de videojuegos en Ubisoft. "El sector del videojuego fue y continúa siendo el precursor del user testing, y tratamos de aprovechar esta experiencia en OVH. " Además, el equipo UX es el primero en OVH que cuenta con ergonomistas, desarrolladores y probadores.
Con plena confianza en los beneficios de la agilidad, el equipo UX incursiona también en la colaboración a distancia mediante herramientas de telepresencia, y brinda a los desarrolladores la libertad de elegir su propio entorno de trabajo. "Tenemos la misión de asegurarles a nuestros clientes una experiencia agradable y fluida. Para ello, empezamos por ofrecer a nuestros propios desarrolladores la libertad de elegir sus propias herramientas de trabajo. Innovation is freedom, " resume Kevin. "Se habla mucho de la Internet of Things, y nuestra visión es la de Internet of People, basada en la alianza entre usuarios y desarrolladores."

Mi cuenta de clienteContact SalesWebmail OVHcloud Blog

¡Bienvenido/a a OVHcloud!

Identifíquese para contratar una solución, gestionar sus productos y servicios, y consultar sus pedidos

Conectar