Aceleración de sitios dinámicos a través de Azure CDNDynamic site acceleration via Azure CDN

Con la expansión de las redes sociales, el comercio electrónico y la web hiperpersonalizada, hay un porcentaje creciente del contenido que se genera y ofrece a los usuarios finales en tiempo real.With the explosion of social media, electronic commerce, and the hyper-personalized web, a rapidly increasing percentage of the content served to end users is generated in real time. Los usuarios esperan experiencias web rápidas, confiables y personalizadas, independientemente de su explorador, ubicación, dispositivo o red.Users expect a fast, reliable, and personalized web experience, independent of their browser, location, device, or network. Pero las mismas innovaciones que hacen que estas experiencias sean tan atractivas también ralentizan las descargas de páginas y ponen en riesgo la calidad de la experiencia del consumidor.However, the very innovations that make these experiences so engaging also slow page downloads and put the quality of the consumer experience at risk.

La funcionalidad estándar de la red de entrega de contenido (CDN) incluye la posibilidad de almacenar en caché los archivos más cerca de los usuarios finales para acelerar la entrega de archivos estáticos.Standard content delivery network (CDN) capability includes the ability to cache files closer to end users to speed up delivery of static files. Pero con las aplicaciones web dinámicas, no es posible almacenar en caché ese contenido en ubicaciones perimetrales, porque el servidor genera el contenido en respuesta al comportamiento del usuario.However, with dynamic web applications, caching that content in edge locations isn't possible because the server generates the content in response to user behavior. Acelerar la entrega de este tipo de contenido es más complejo que el almacenamiento en caché perimetral tradicional y requiere una solución integral en la que se ajusten con precisión todos los elementos de toda la ruta de datos, desde el comienzo hasta la entrega.Speeding up the delivery of such content is more complex than traditional edge caching and requires an end-to-end solution that finely tunes each element along the entire data path from inception to delivery. Con la optimización de sitios dinámicos (DSA) de Azure CDN, el rendimiento de las páginas web con contenido dinámico se ha mejorado de un modo contrastable.With Azure CDN dynamic site acceleration (DSA) optimization, the performance of web pages with dynamic content is measurably improved.

Azure CDN de Akamai y Azure CDN de Verizon ofrecen ambas optimización de DSA mediante el menú Optimized for (Optimizado para) durante la creación de los puntos de conexión.Azure CDN from Akamai and Azure CDN from Verizon both offer DSA optimization through the Optimized for menu during endpoint creation. La aceleración de sitios dinámicos de Microsoft se ofrece a través de Azure Front Door Service.Dynamic site acceleration from Microsoft is offered via Azure Front Door Service.

Importante

Solo en los perfiles de Azure CDN de Akamai se permite cambiar la optimización de un punto de conexión de CDN una vez que se ha creado.For Azure CDN from Akamai profiles, you are allowed to change the optimization of a CDN endpoint after it has been created.

En los perfiles de Azure CDN de Verizon no se puede cambiar la optimización de un punto de conexión de CDN una vez que se ha creado.For Azure CDN from Verizon profiles, you cannot change the optimization of a CDN endpoint after it has been created.

Configuración de punto de conexión de red CDN para acelerar la entrega de archivos dinámicosCDN endpoint configuration to accelerate delivery of dynamic files

Para configurar un punto de conexión de CDN a fin de optimizar la entrega de archivos dinámicos, puede usar Azure Portal, las API REST o cualquier SDK de cliente para realizar lo mismo mediante programación.To configure a CDN endpoint to optimize delivery of dynamic files, you can either use the Azure portal, the REST APIs, or any of the client SDKs to do the same thing programmatically.

Para configurar un punto de conexión de CDN para la optimización de DSA mediante Azure Portal:To configure a CDN endpoint for DSA optimization by using the Azure portal:

  1. En la página Perfil de CDN, seleccione Punto de conexión.In the CDN profile page, select Endpoint.

    Adición de un nuevo punto de conexión de CDN

    Aparecerá el panel Agregar un punto de conexión.The Add an endpoint pane appears.

  2. En Optimized for (Optimizado para), seleccione Aceleración de sitios dinámicos.Under Optimized for, select Dynamic site acceleration.

    Creación de un nuevo punto de conexión de CDN con DSA

  3. En Ruta de acceso de sondeo, escriba una ruta de acceso válida a un archivo.For Probe path, enter a valid path to a file.

    La ruta de acceso de sondeo es una característica específica de DSA y se necesita una ruta de acceso válida para la creación.Probe path is a feature specific to DSA, and a valid path is required for creation. DSA usa un pequeño archivo de ruta de acceso de sondeo en el servidor de origen para optimizar las configuraciones de enrutamiento de red para la red CDN.DSA uses a small probe path file placed on the origin server to optimize network routing configurations for the CDN. Para el archivo de ruta de acceso de sondeo, puede descargar y cargar el archivo de ejemplo en su sitio, o usar un recurso existente en el origen que tenga un tamaño de unos 10 KB.For the probe path file, you can download and upload the sample file to your site, or use an existing asset on your origin that is about 10 KB in size.

  4. Escriba las demás opciones de punto de conexión necesarias (para más información, consulte Crear un nuevo punto de conexión de CDN) y luego haga clic en Agregar.Enter the other required endpoint options (for more information, see Create a new CDN endpoint), then select Add.

    Una vez creado el punto de conexión de CDN, las optimizaciones de DSA se aplican a todos los archivos que coincidan con determinados criterios.After the CDN endpoint is created, it applies the DSA optimizations for all files that match certain criteria.

Para configurar un punto de conexión existente para DSA (solo perfiles de Azure CDN de Akamai):To configure an existing endpoint for DSA (Azure CDN from Akamai profiles only):

  1. En la página Perfil de CDN, seleccione el punto de conexión que quiere modificar.In the CDN profile page, select the endpoint you want to modify.

  2. En el panel izquierdo, seleccione Optimización.From the left pane, select Optimization.

    Aparece la página Optimización.The Optimization page appears.

  3. En Optimized for (Optimizado para), seleccione Aceleración de sitios dinámicos y luego seleccione Guardar.Under Optimized for, select Dynamic site acceleration, then select Save.

Nota

DSA incurre en cargos adicionales.DSA incurs extra charges. Para más información, consulte Precios de Content Delivery Network.For more information, see Content Delivery Network pricing.

Optimización de DSA con Azure CDNDSA Optimization using Azure CDN

La aceleración de sitios dinámicos en Azure CDN acelera la entrega de recursos dinámicos mediante las técnicas siguientes:Dynamic Site Acceleration on Azure CDN speeds up delivery of dynamic assets by using the following techniques:

Optimización de rutasRoute Optimization

La optimización de rutas es importante porque Internet es un lugar dinámico, donde el tráfico y las interrupciones temporales cambian constantemente la topología de la red.Route optimization is important because the Internet is a dynamic place, where traffic and temporarily outages are constantly changing the network topology. El protocolo de puerta de enlace de borde (BGP) es el protocolo de enrutamiento de Internet, pero puede haber rutas más rápidas a través de servidores intermediarios de punto de presencia (PoP).The Border Gateway Protocol (BGP) is the routing protocol of the Internet, but there may be faster routes via intermediary Point of Presence (PoP) servers.

La optimización de rutas elige la ruta óptima para el origen para que un sitio sea accesible de manera continua y el contenido dinámico se entregue a los usuarios finales a través de la ruta más rápida y más confiable posible.Route optimization chooses the most optimal path to the origin so that a site is continuously accessible and dynamic content is delivered to end users via the fastest and most reliable route possible.

La red de Akamai usa técnicas para recopilar datos en tiempo real y comparar varias rutas de acceso a través de los diferentes nodos en el servidor de Akamai, así como la ruta BGP predeterminada a través de Internet, para determinar la ruta más rápida entre el origen y el perímetro de la red CDN.The Akamai network uses techniques to collect real-time data and compare various paths through different nodes in the Akamai server, as well as the default BGP route across the open Internet to determine the fastest route between the origin and the CDN edge. Estas técnicas evitan los puntos de congestión en Internet y las rutas largas.These techniques avoid Internet congestion points and long routes.

De forma similar, la red de Verizon utiliza una combinación de difusión por proximidad DNS, admite servidores PoP de gran capacidad y realiza comprobaciones de estado para determinar las puertas de enlace recomendadas para enrutar los datos desde el origen al cliente.Similarly, the Verizon network uses a combination of Anycast DNS, high capacity support PoPs, and health checks, to determine the best gateways to best route data from the client to the origin.

Como resultado, se entrega contenido totalmente dinámico y transaccional de forma más rápida y más confiable a los usuarios finales, incluso cuando no se puede almacenar en caché.As a result, fully dynamic and transactional content is delivered more quickly and more reliably to end users, even when it is uncacheable.

Optimizaciones de TCPTCP Optimizations

El Protocolo de control de transmisión (TCP) es el estándar del conjunto de protocolos de Internet utilizado para entregar información entre aplicaciones en una red IP.Transmission Control Protocol (TCP) is the standard of the Internet protocol suite used to deliver information between applications on an IP network. De forma predeterminada, se necesitan varias solicitudes en ambos sentidos para configurar una conexión TCP, así como límites para evitar congestiones de red que dan lugar a ineficacias a escala.By default, several back-and-forth requests are required to set up a TCP connection, as well as limits to avoid network congestions, which result in inefficiencies at scale. Azure CDN de Akamai soluciona este problema mediante la optimización en tres áreas:Azure CDN from Akamai handles this problem by optimizing in three areas:

Eliminación de inicio lento de TCPEliminating TCP slow start

El inicio lento es un algoritmo del protocolo TCP que evita la congestión de la red al limitar la cantidad de datos enviados a través de la red.TCP slow start is an algorithm of the TCP protocol that prevents network congestion by limiting the amount of data sent over the network. Comienza con tamaños de intervalo de congestión pequeños entre el remitente y el receptor hasta que se alcanza el máximo o se detecta la pérdida de paquetes.It starts off with small congestion window sizes between sender and receiver until the maximum is reached or packet loss is detected.

Tanto Azure CDN de Akamai como Azure CDN de Verizon eliminan el inicio lento de TCP con los tres pasos siguientes:Both Azure CDN from Akamai and Azure CDN from Verizon profiles eliminate TCP slow start with the following three steps:

  1. La supervisión del mantenimiento y del ancho de banda se usa para medir el ancho de banda de las conexiones entre los servidores PoP perimetrales.Health and bandwidth monitoring is used to measure the bandwidth of connections between edge PoP servers.

  2. Las métricas se comparten entre estos servidores para que cada servidor sea consciente de las condiciones de red y del mantenimiento del servidor de los demás PoP a su alrededor.Metrics are shared between edge PoP servers so that each server is aware of the network conditions and server health of the other PoPs around them. 

  3. Los servidores perimetrales de la red CDN realizan suposiciones sobre algunos parámetros de transmisión, como cuál debe ser el tamaño de intervalo óptimo al comunicarse con otros servidores perimetrales de la red CDN cercanos.The CDN edge servers make assumptions about some transmission parameters, such as what the optimal window size should be when communicating with other CDN edge servers in its proximity. Este paso significa que se puede aumentar el tamaño inicial del intervalo de congestión si el estado de la conexión entre los servidores perimetrales de la red CDN admite transferencias de datos de paquete mayores.This step means that the initial congestion window size can be increased if the health of the connection between the CDN edge servers is capable of higher packet data transfers. 

Aprovechamiento de las conexiones persistentesLeveraging persistent connections

Mediante una red CDN, menos equipos únicos se conectan directamente al servidor de origen en comparación con los usuarios que se conectan directamente al origen.Using a CDN, fewer unique machines connect to your origin server directly compared with users connecting directly to your origin. Azure CDN también agrupa las solicitudes de usuario para establecer menos conexiones con el origen.Azure CDN also pools user requests together to establish fewer connections with the origin.

Como se mencionó anteriormente, se necesitan varias solicitudes de protocolo de enlace para establecer una conexión TCP.As previously mentioned, several handshake requests are required to establish a TCP connection. Las conexiones persistentes, que se implementan mediante el encabezado HTTP Keep-Alive, reutilizan las conexiones TCP existentes con varias solicitudes HTTP para así ahorrar tiempos de ida y vuelta y acelerar la entrega.Persistent connections, which are implemented by the Keep-Alive HTTP header, reuse existing TCP connections for multiple HTTP requests to save round-trip times and speed up delivery.

Azure CDN de Verizon también envía paquetes keep-alive periódicos a través de la conexión TCP para evitar que una conexión abierta se cierre.Azure CDN from Verizon also sends periodic keep-alive packets over the TCP connection to prevent an open connection from being closed.

Ajuste de los parámetros de paquete TCPTuning TCP packet parameters

Azure CDN de Akamai ajusta los parámetros que controlan las conexiones de servidor a servidor y reduce la cantidad de recorridos de ida y vuelta prolongados necesarios para recuperar el contenido insertado en el sitio utilizando las técnicas siguientes:Azure CDN from Akamai tunes the parameters that govern server-to-server connections and reduces the amount of long-haul round trips required to retrieve content embedded in the site by using the following techniques:

  • Aumentando el intervalo de congestión inicial de modo que se puedan enviar más paquetes sin tener que esperar una confirmación.Increasing the initial congestion window so that more packets can be sent without waiting for an acknowledgement.
  • Reduciendo el tiempo de espera de retransmisión inicial para que se detecten las pérdidas y la retransmisión se produzca con más rapidez.Decreasing the initial retransmit timeout so that a loss is detected, and retransmission occurs more quickly.
  • Reduciendo el tiempo de espera de retransmisión mínimo y máximo para reducir el tiempo de espera antes de asumir que los paquetes se han perdido durante la transmisión.Decreasing the minimum and maximum retransmit timeout to reduce the wait time before assuming packets were lost in transmission.

Captura previa de objetos (solo Azure CDN de Akamai)Object prefetch (Azure CDN from Akamai only)

La mayoría de los sitios web tienen una página HTML que hace referencia a otros recursos como imágenes y scripts.Most websites consist of an HTML page, which references various other resources such as images and scripts. Normalmente, cuando un cliente solicita una página web, el explorador primero descarga y analiza el objeto HTML y, después, realiza solicitudes adicionales a los recursos vinculados que son necesarios para cargar la página completa.Typically, when a client requests a webpage, the browser first downloads and parses the HTML object, and then makes additional requests to linked assets that are required to fully load the page.

La captura previa es una técnica para recuperar imágenes y scripts insertados en la página HTML mientras el código HTML se envía al explorador, y antes de que el explorador realice incluso estas solicitudes de objeto.Prefetch is a technique to retrieve images and scripts embedded in the HTML page while the HTML is served to the browser, and before the browser even makes these object requests.

Al activar la opción de captura previa, cuando la red CDN envía la página base HTML al explorador del cliente, la red CDN analiza el archivo HTML y realiza solicitudes adicionales para todos los recursos vinculados y los almacena en la memoria caché.With the prefetch option turned on at the time when the CDN serves the HTML base page to the client’s browser, the CDN parses the HTML file and make additional requests for any linked resources and store it in its cache. Cuando el cliente realiza las solicitudes de los recursos vinculados, el servidor perimetral de la red CDN ya tiene los objetos solicitados y puede enviarlos inmediatamente sin un recorrido de ida y vuelta al origen.When the client makes the requests for the linked assets, the CDN edge server already has the requested objects and can serve them immediately without a round trip to the origin. Esta optimización beneficiará tanto al contenido que se puede almacenar en caché como al que no se puede almacenar en caché.This optimization benefits both cacheable and non-cacheable content.

Compresión de imagen adaptable (solo Azure CDN de Akamai)Adaptive image compression (Azure CDN from Akamai only)

Algunos dispositivos, especialmente los dispositivos móviles, experimentan en ocasiones velocidades de red más lentas.Some devices, especially mobile ones, experience slower network speeds from time to time. En estos casos, resulta más conveniente para el usuario recibir imágenes más pequeñas en su página web más rápidamente, en lugar de esperar mucho tiempo a las imágenes de resolución completa.In these scenarios, it is more beneficial for the user to receive smaller images in their webpage more quickly rather than waiting a long time for full resolution images.

Esta característica supervisa automáticamente la calidad de la red y usa los métodos estándar de compresión JPEG cuando la velocidad de la red es más lenta para mejorar el tiempo de entrega.This feature automatically monitors network quality, and employs standard JPEG compression methods when network speeds are slower to improve delivery time.

Compresión adaptable de imágenesAdaptive Image Compression Extensiones de archivoFile Extensions
Compresión JPEGJPEG compression .jpg, .jpeg, .jpe, .jig, .jgig, .jgi.jpg, .jpeg, .jpe, .jig, .jgig, .jgi

Almacenamiento en cachéCaching

Con DSA, el almacenamiento en caché está desactivado de forma predeterminada en la red CDN, incluso cuando el origen incluye encabezados Cache-Control o Expires en la respuesta.With DSA, caching is turned off by default on the CDN, even when the origin includes Cache-Control or Expires headers in the response. DSA se usa normalmente con recursos dinámicos que no se deben almacenar en caché porque son únicos para cada cliente.DSA is typically used for dynamic assets that should not be cached because they are unique to each client. El almacenamiento en caché puede anular este comportamiento.Caching can break this behavior.

Si tiene un sitio web con una combinación de recursos estáticos y dinámicos, es mejor adoptar un enfoque híbrido para obtener el mejor rendimiento.If you have a website with a mix of static and dynamic assets, it is best to take a hybrid approach to get the best performance.

En los perfiles de Azure CDN estándar de Verizon y Azure CDN estándar de Akamai, puede activar el almacenamiento en caché para puntos de conexión de DSA específicos mediante reglas de caché.For Azure CDN Standard from Verizon and Azure CDN Standard from Akamai profiles, you can turn on caching for specific DSA endpoints by using caching rules.

Para acceder a las reglas de almacenamiento en caché:To access caching rules:

  1. En la página Perfil de CDN, en Configuración, seleccione Reglas de caché.From the CDN profile page, under settings, select Caching rules. 

    Botón Reglas de caché de CDN

    Se abre la página Reglas de caché.The Caching rules page opens.

  2. Cree una regla de caché global o personalizada para activar el almacenamiento en caché en su punto de conexión de DSA.Create a global or custom caching rule to turn on caching for your DSA endpoint.

Solo en los perfiles de Azure CDN premium de Verizon puede activar el almacenamiento en caché para determinados puntos de conexión de DSA mediante el motor de reglas.For Azure CDN Premium from Verizon profiles only, you turn on caching for specific DSA endpoints by using the rules engine. Las reglas que se crean afectan únicamente a esos puntos de conexión del perfil que están optimizados para DSA.Any rules that are created affect only those endpoints of your profile that are optimized for DSA.

Para acceder al motor de reglas:To access the rules engine:

  1. En la página CDN profile (Perfil de CDN), seleccione Manage (Administrar).From the CDN profile page, select Manage. 

    Botón de administración de perfil de la red CDN

    Se abre el Portal de administración de CDN.The CDN management portal opens.

  2. En el portal de administración de CDN, seleccione ADN y, luego, Rules Engine (Motor de reglas).From the CDN management portal, select ADN, then select Rules Engine.

    Motor de reglas para DSA

Como alternativa, puede utilizar dos puntos de conexión de CDN: uno optimizado con DSA para entregar recursos dinámicos y el otro optimizado con un tipo de optimización estático, como entrega web general, para entregar recursos almacenables en caché.Alternatively, you can use two CDN endpoints: one endpoint optimized with DSA to deliver dynamic assets and another endpoint optimized with a static optimization type, such as general web delivery, to delivery cacheable assets. Modifique las direcciones URL de página web para crear un vínculo directo con el recurso en el punto de conexión de CDN que planea usar.Modify your webpage URLs to link directly to the asset on the CDN endpoint you plan to use.

Por ejemplo: mydynamic.azureedge.net/index.html es una página dinámica y se carga desde el punto de conexión DSA.For example: mydynamic.azureedge.net/index.html is a dynamic page and is loaded from the DSA endpoint.  La página HTML hace referencia a varios recursos estáticos como bibliotecas de JavaScript o imágenes que se cargan desde el punto de conexión de red CDN estático, como mystatic.azureedge.net/banner.jpg y mystatic.azureedge.net/scripts.js.  The html page references multiple static assets such as JavaScript libraries or images that are loaded from the static CDN endpoint, such as mystatic.azureedge.net/banner.jpg and mystatic.azureedge.net/scripts.js.