Optimización de la experiencia de las aplicaciones para los usuarios finales: un panorama cambiante

Introducción

Desde sus inicios, Internet ha evolucionado en ciclos cada vez más rápidos —mejorando el proceso de entrega de aplicaciones y aumentando la interactividad—, impulsado por los avances tecnológicos y las fuerzas del mercado. Las empresas y las administraciones públicas deben esforzarse por mantenerse al día con las expectativas de los usuarios y las presiones competitivas. Las tecnologías más antiguas que dificultaban la experiencia de usuario (p. ej., Adobe Flash, HTTP/1.x) han quedado relegadas, mientras que otras más recientes (p. ej., HTML5), más orientadas a dicha experiencia, han tomado el relevo.

En este documento, cuantificaremos algunos de los cambios más recientes que afectan a la experiencia del usuario y que los departamentos de TI deben comprender con fines operativos y de planificación para 2017 y años posteriores:

  • La omnipresencia de las redes de distribución de contenidos (CDN)
  • Actualizaciones de las redes de los centros de datos y los proveedores de servicios
  • Acceso móvil y de «última milla» más rápido
  • Protocolo HTTP actualizado y diseñado para mejorar el rendimiento
  • Evolución de la relación cliente-servidor

CDN por todas partes

Los proveedores de CDN han ampliado rápidamente el número de puntos de presencia (PoP) que operan, principalmente cerca de núcleos de población, para reducir la latencia (unos 30 ms en muchos casos) al entregar contenido a los usuarios. A continuación se muestra una lista de las CDN más populares que han desplegado infraestructura por todo el mundo para garantizar una entrega rápida del contenido.1

Figura 1: Principales proveedores de CDN y sus ubicaciones

A medida que las CDN han aumentado el número de PoP que operan —así como su proximidad a los usuarios— y que la base de usuarios de las aplicaciones se ha globalizado, los sitios web han incrementado su dependencia de las CDN. En marzo de 2015, el 11 % del contenido HTML disponible en Internet estaba alojado en CDN.2  En 2016, esa cifra había aumentado hasta el 17 % y, en marzo de 2017, el contenido HTML alojado en CDN alcanzaba el 20 %. En menos de dos años, la cantidad de contenido HTML alojado en CDN casi se duplicó, una tendencia que ha reducido considerablemente la latencia en la entrega de contenido a los usuarios.

Redes mejoradas de centros de datos y proveedores de servicios

La implementación de puertos Ethernet de 10G/40G/100G (y de los correspondientes switches y routers de mayor capacidad) mejoró drásticamente el rendimiento de Internet en las redes corporativas, las conexiones WAN y los terminales ubicados en lugares remotos. Durante los próximos cuatro años, la actualización continua de las redes empresariales y de los proveedores de servicios a conexiones de 25G y 100G multiplicará casi por cinco la capacidad de ancho de banda con respecto a 2015.3

Figura 2: 10GE sigue siendo el rey de los puertos

La inversión en la modernización de la infraestructura de los centros de datos y del perímetro ha mitigado el problema de que las redes de los proveedores de servicios y los centros de datos empresariales actúen como cuellos de botella para el tráfico de las aplicaciones dirigido al cliente.

Acceso móvil y de «última milla» más rápido

Debido al aumento de la competencia, los proveedores de servicios de Internet (ISP) y los operadores de telefonía móvil de todo el mundo han incrementado las velocidades de descarga para los usuarios del «último kilómetro» (el tramo final de las redes de telecomunicaciones que proporciona conectividad a los clientes) y de dispositivos móviles. A continuación se muestran gráficos sobre el rendimiento de las descargas de los ISP en 2015 en Estados Unidos, Asia y Europa.4

EE. UU.

Figura 3: Velocidad media de conexión por estado
Figura 4: Velocidad máxima media de conexión por estado

Asia

Figura 5: Velocidad media de conexión por país/región de Asia-Pacífico
Figura 6: Velocidad máxima media de conexión por país/región de Asia-Pacífico

Europa

Figura 7: Velocidad media de conexión por país de EMEA
Figura 8: Velocidad máxima media de conexión por país de EMEA

En todo el mundo, la «última milla» de la conectividad a Internet es ahora mucho más rápida que antes, y el ancho de banda disponible en la actualidad contribuye a mejorar la experiencia de usuario con las aplicaciones web.

Protocolo HTTP actualizado y diseñado para mejorar el rendimiento (HTTP/2)

El desarrollo de la especificación HTTP/2 estuvo motivado principalmente por los problemas de rendimiento de HTTP1.x. En 2012, Google desarrolló y difundió SPDY para optimizar la entrega de contenido web e intentar subsanar las ineficiencias del diseño del protocolo HTTP 1.1 anterior. HTTP/2 se basa en SPDY y se centra principalmente en reducir la latencia y el número de conexiones TCP, al tiempo que mantiene la compatibilidad con HTTP/1.1.

Con el objetivo de mejorar el rendimiento, el protocolo HTTP/2 incluye los siguientes cambios:

  • Multiplexación: permite realizar múltiples interacciones en una única conexión TCP (como ya ofrecía SPDY).
  • Compresión de cabeceras: reduce la redundancia que supone enviar repetidamente las mismas cabeceras (p. ej., URL de la solicitud, agente de usuario y cookies).
  • Server Push: permite que el servidor envíe contenido de forma proactiva al endpoint en función del contenido solicitado y de las dependencias de origen (por ejemplo, archivos JS y CSS).
  • Priorización de recursos: prioriza la entrega en función del tipo o contenido mediante ponderaciones y dependencias para optimizar la entrega y el renderizado.

Los principales proveedores de navegadores web anunciaron sus calendarios (véase la tabla siguiente) para incorporar la compatibilidad con HTTP/2 después de que el IETF ratificara la especificación del protocolo a mediados de 2015.

Figura 9: Compatibilidad con HTTP/2 de los proveedores de navegadores

Las solicitudes HTTP/2 enviadas a servidores web desde navegadores web de dispositivos finales comenzaron a principios de 2016 y han aumentado con el lanzamiento y la adopción de navegadores compatibles con la nueva especificación. Los navegadores web actualizados envían primero las solicitudes a los servidores web mediante HTTP/2 y, tras la negociación, recurren a HTTP/1.x si es necesario. En la siguiente figura se detalla el crecimiento de las interacciones mediante HTTP/2 (entre el servidor y el dispositivo final) en sitios web de todo el mundo.5

Figura 10: Crecimiento de las solicitudes HTTP/2 a servidores web

Las mejoras de la especificación HTTP/2 permiten obtener un rendimiento entre un 80 % y un 1000 % superior al de una infraestructura basada en HTTP/1.x. Para hacerse una idea de cómo afectan los cambios de la especificación al rendimiento en situaciones reales, realice esta sencilla prueba de HTTP frente a HTTPS de Anthum que muestra las diferencias entre las dos versiones del protocolo.

Evolución de la relación cliente-servidor

Además de estas mejoras en la infraestructura y los protocolos, la propia composición de las aplicaciones también está cambiando. Aunque antes era necesario acelerar el «front-end» porque las aplicaciones antiguas «enviaban» todo al cliente, las aplicaciones modernas se distribuyen entre los dos componentes principales (cliente y servidor), hasta el punto de que el 90 % de los intercambios con una aplicación (ya sea a través de una API o desde un navegador) implican pequeños fragmentos de datos.

Tras la carga inicial, se entrega muy poco «contenido» adicional; la mayor parte de la capa de presentación (la interfaz de usuario) se puede manipular en el cliente mediante bibliotecas de JavaScript (JQuery, Angular, etc.). Esto significa que la cantidad y el tipo de datos de las respuestas (el principal objetivo de las tecnologías de aceleración del front-end) se han reducido drásticamente y ahora son principalmente JSON o XML, no HTML.

Figura 11: Evolución de las arquitecturas de aplicaciones y su impacto en las responsabilidades del cliente y el servidor

Debido a este cambio arquitectónico, el porcentaje de una aplicación actual que corresponde a HTML está disminuyendo, mientras que aumentan otros tipos de composición (véase la figura siguiente).6

Figura 12: Composición de las páginas por tipo de contenido en KB

Dado que una cantidad considerable de JavaScript (y HTML) se distribuye a través de CDN —porque los desarrolladores incluyen los scripts desde Internet en lugar de alojarlos localmente—, las técnicas de aceleración del front-end dirigidas a este contenido tienen menos relevancia para las aplicaciones modernas.

Con el auge de los dispositivos móviles y la migración de tecnologías anteriores (por ejemplo, Adobe Flash) a HTML5, los equipos de aplicaciones de TI comenzaron a desarrollar aplicaciones web de una sola página para ejecutarlas en el navegador. Por lo general, estas aplicaciones web de una sola página no requieren que esta se vuelva a cargar a medida que el usuario navega por las distintas partes de la aplicación. El resultado es una navegación más rápida, transferencias de red más eficientes y una mejor experiencia para el usuario final.7 Hoy en día, la mayoría de las aplicaciones web se desarrollan con un diseño de «una sola página» en mente.

Cómo crear la experiencia de aplicación ideal para el usuario final en 2017 y en adelante

Para crear y mantener una experiencia de usuario final óptima en aquellas aplicaciones web bajo el control de las operaciones de TI, deben emplearse las siguientes tecnologías y prácticas.

Estandarice los servidores web con el protocolo HTTP/2.

Actualizar la infraestructura web al estándar HTTP/2 resolverá los problemas de rendimiento del lado del servidor que afectaban a HTTP/1 y HTTP/1.1. Además de mejorar la gestión de las conexiones, HTTP/2 permite a los diseñadores de aplicaciones web establecer prioridades para garantizar una entrega de contenido optimizada y desarrollar directamente en los navegadores web de los dispositivos finales.

Establezca un estándar mínimo para los navegadores web a fin de garantizar que solo se realicen solicitudes basadas en HTTP/2.

Promover, tanto a nivel interno (p. ej., entre empleados y/o contratistas) como externo (p. ej., entre clientes y socios), la actualización de los navegadores a versiones compatibles con solicitudes HTTP/2 evitará la negociación automática para volver a HTTP/1.1 o 1.0 y la consiguiente transferencia de datos menos eficiente.

Compruebe que los proveedores de SaaS hayan implementado HTTP/2 en todas las aplicaciones web.

Asimismo, evitar la negociación automática para volver a HTTP/1.1 y 1.0 contribuirá a mejorar el rendimiento y la experiencia de usuario.

Asegúrate de que los puntos de presencia (PoP) de tu proveedor de CDN estén ubicados geográficamente cerca de tus usuarios y clientes.

Utilizar un proveedor de CDN que disponga de una red de PoP distribuidos geográficamente en consonancia con la ubicación de empleados, contratistas y clientes reducirá la latencia en las interacciones entre los navegadores web y los PoP de la CDN.

Considere la posibilidad de utilizar tecnología de almacenamiento en caché en dispositivos de red.

El uso de dispositivos de red con tecnología de almacenamiento en caché integrada delante de las aplicaciones ayudará a mejorar el rendimiento del contenido estático necesario en las páginas web.

Evalúe soluciones de caché web de código abierto y bajo coste.

Si se requiere almacenamiento en caché, considere la posibilidad de utilizar una caché web de código abierto, bajo coste y alto rendimiento con SSD, como Varnish.

Conclusión

Los requisitos empresariales y la transición hacia la informática móvil y en la nube ejercen una presión cada vez mayor sobre los equipos de TI para que optimicen la experiencia del usuario al tiempo que proporcionan aplicaciones críticas. Actualmente, hay tres factores que están cambiando la forma en que los usuarios experimentan el contenido web. La capacidad de las CDN ha aumentado considerablemente, y la proximidad de los POP a las principales bases de usuarios contribuye a reducir la latencia. En segundo lugar, los protocolos de Internet se han actualizado para mejorar el rendimiento general entre el servidor web y el cliente. Y, en tercer lugar, la relación entre el servidor de Internet y el cliente ha cambiado, de modo que las transacciones entre ambos ya no son tan unidireccionales como antes y los datos proporcionados son más dinámicos y específicos para cada usuario. A la luz de estos cambios, las estrategias creadas hace entre 5 y 7 años para optimizar la entrega de aplicaciones front-end y mejorar la experiencia del usuario están perdiendo rápidamente su vigencia debido a las fuerzas del mercado y a la evolución natural de la tecnología web.

La infraestructura de aplicaciones web empresariales debe evolucionar al ritmo de los cambios del mercado o se enfrentará a una disminución del rendimiento y del retorno de las inversiones en TI. La clave para los departamentos de TI será garantizar que la infraestructura que proporciona la experiencia de usuario (por ejemplo, servidores web, balanceadores de carga, CDN y SaaS) se actualice a HTTP/2, un protocolo diseñado para mejorar el rendimiento web.


1 http://www.cdnplanet.com/cdns
2 http://httparchive.org
3 https://technology.ihs.com/589721/data-center-network-equipment-market-tracker-regional-q2-2017
4 https://www.stateoftheinternet.com/resources-connectivity-2015-q1-state-of-the-internet-report.html
5 https://w3techs.com/technologies/details/ce-HTTP/2/all/all
6 http://httparchive.org
7 https://techcrunch.com/2012/11/30/why-enterprise-apps-are-moving-to-single-page-design

PUBLICADO EL 29 DE AGOSTO DE 2017