Accélération de site dynamique via Azure Content Delivery Network

Avec l’explosion des médias sociaux, du e-commerce et du web hyper-personnalisé, un pourcentage rapidement croissant du contenu proposé aux utilisateurs finaux est généré en temps réel. Les utilisateurs attendent une expérience web rapide, fiable et personnalisée, indépendamment de leur navigateur, de leur emplacement géographique, de leur appareil ou du réseau. Toutefois, les innovations qui rendent ces expériences si engageantes ont également pour effet de ralentir les téléchargements de pages et risquent de compromettre la qualité de l’expérience des utilisateurs.

La capacité de réseau de distribution de contenu standard permet de rapprocher le cache de fichiers des utilisateurs finaux afin d’accélérer la distribution des fichiers statiques. Toutefois, avec des applications web dynamiques, la mise en cache de ce contenu dans des emplacements de périmètre n’est pas possible, car le serveur génère le contenu en réponse au comportement de l’utilisateur. L’accélération de la distribution d’un tel contenu est plus complexe que la mise en cache de périmètre traditionnelle, et nécessite une solution de bout en bout qui règle finement chaque élément avec le chemin d’accès aux données entier, du début jusqu’à la distribution. Grâce à l’optimisation de l’accélération de site dynamique (DSA) d’Azure Content Delivery Network, le niveau de performance des pages web comprenant du contenu dynamique est sensiblement amélioré.

Azure CDN d’Edgio offre une optimisation d’accélération de site dynamique au moyen du menu Optimisé pour lors de la création du point de terminaison. L'accélération de site dynamique est proposée par Microsoft via Azure Front Door.

Important

Pour les profils Azure CDN d’Edgio, vous ne pouvez pas changer l’optimisation d’un point de terminaison de réseau de distribution de contenu après sa création.

Configuration d’un point de terminaison de réseau de distribution de contenu pour accélérer la distribution de fichiers dynamiques

Pour configurer un point de terminaison de réseau de distribution de contenu afin d’optimiser la distribution de fichiers dynamiques, vous pouvez utiliser le Portail Azure, les API REST ou l’un des Kits de développement logiciel (SDK) client pour faire la même chose par programmation.

Pour configurer un point de terminaison CDN pour l’optimisation DSA à l’aide du portail Azure :

  1. Dans la page Profil CDN, sélectionnez Point de terminaison.

    Capture d’écran de l’ajout d’un nouveau point de terminaison de réseau de distribution de contenu.

    Le volet Ajouter un point de terminaison s’affiche.

  2. Sous Optimisé pour, sélectionnez Accélération de site dynamique.

    Capture d’écran de la création d’un point de terminaison de réseau de distribution de contenu avec l’accélération de site dynamique.

  3. Dans Chemin d’analyse, entrez un chemin d’accès à un fichier valide.

    Le chemin d’analyse est une fonctionnalité spécifique de DSA. Un chemin valide est requis pour la création. L’accélération de site dynamique utilise un petit fichier de chemin d’analyse placé sur le serveur d’origine pour optimiser les configurations de routage réseau pour le réseau de distribution de contenu. Comme chemin d’analyse, vous pouvez télécharger et charger l’exemple de fichier sur votre site, ou utiliser une ressource actuelle sur votre serveur d’origine d’environ 10 Ko.

  4. Entrez les autres options de point de terminaison nécessaires (pour plus d’informations, consultez Créer un point de terminaison de réseau de distribution de contenu), puis sélectionnez Ajouter.

    Une fois créé, le point de terminaison de réseau de distribution de contenu applique les optimisations d’accélération de site dynamique pour tous les fichiers correspondant à certains critères.

Optimisation de l’accélération de site dynamique à l’aide d’Azure Content Delivery Network

L’accélération de site dynamique sur Azure Content Delivery Network accélère la distribution de ressources dynamiques à l’aide des techniques suivantes :

Optimisation du routage

L’optimisation du routage est importante, car Internet est un espace dynamique où le trafic et les pannes temporaires modifient constamment la topologie du réseau. Border Gateway Protocol (BGP) est le protocole de routage d’internet, mais il peut y avoir des routages plus rapides via des serveurs POP (Point of Presence) intermédiaires.

L’optimisation du routage choisit le chemin d’accès optimal à l’origine, afin qu’un site soit accessible en continu et que le contenu dynamique soit distribué aux utilisateurs finaux via le routage le plus rapide et le plus fiable possible.

Le réseau Edgio combine Anycast DNS, des POP haute capacité et des contrôles d’intégrité pour déterminer les meilleures passerelles afin de router les données au mieux depuis le client vers l’origine.

Ainsi, le contenu entièrement dynamique et transactionnel est distribué plus rapidement et de façon plus fiable aux utilisateurs finaux, même s’il ne peut pas être mis en cache.

Optimisations de protocole TCP

Le protocole TCP est la norme de la suite de protocoles Internet utilisé pour distribuer des informations entre des applications sur un réseau IP. Par défaut, l’établissement d’une connexion TCP nécessite plusieurs requêtes bidirectionnelles. En outre, il existe des limites pour éviter la congestion du réseau, ce qui peut entraîner des inefficacités lors de l’exploitation à grande échelle. Azure CDN d’Edgio traite ce problème en optimisant de trois façons :

Élimination des démarrages lents TCP

Le démarrage lent TCP est un algorithme du protocole TCP qui empêche la surcharge du réseau en limitant la quantité de données envoyées sur le réseau. Il démarre avec des fenêtres de congestion de petite taille entre l’expéditeur et le récepteur, jusqu’à ce que la taille maximale soit atteinte ou une perte de paquet détectée.

Les profils Azure CDN d’Edgio éliminent le démarrage lent du protocole TCP avec les trois étapes suivantes :

  1. La surveillance de l’intégrité et de la bande passante est utilisée pour mesurer la bande passante des connexions entre les serveurs POP de périphérie.

  2. Des métriques sont partagées entre les serveurs POP de périphérie afin que chaque serveur tienne compte des conditions de réseau et de l’intégrité des autres serveurs POP alentour.

  3. Les serveurs de périphérie de réseau de distribution de contenu bâtissent des hypothèses sur certains paramètres de transmission, tels que la taille de fenêtre optimale lors de la communication avec d’autres serveurs de périphérie de réseau de distribution de contenu à proximité. Cette étape signifie que la taille de la fenêtre de congestion initiale peut être augmentée si l’intégrité de la connexion entre les serveurs de périphérie de réseau de distribution de contenu permet des transferts de données par paquets de plus grande taille.

Utiliser des connexions persistantes

En utilisant un réseau de distribution de contenu, moins de machines uniques se connectent directement à votre serveur d’origine par rapport aux utilisateurs qui se connectent directement à votre origine. Azure Content Delivery Network regroupe également les requêtes utilisateur afin de réduire le nombre de connexions établies avec l’origine.

Comme mentionné précédemment, plusieurs demandes d’établissement de liaison sont requises pour établir une connexion TCP. Les connexions persistantes, qui sont implémentées par l’en-tête Keep-Alive HTTP, réutilisent les connexions TCP existantes pour plusieurs requêtes HTTP afin de raccourcir les durées de boucles et d’accélérer la distribution.

Azure CDN d’Edgio envoie également des paquets de persistance périodiques via la connexion TCP pour empêcher la fermeture d’une connexion ouverte.

Mise en cache

Avec l’accélération de site dynamique, la mise en cache est désactivée par défaut sur le réseau de distribution de contenu, même lorsque l’origine inclut les en-têtes Cache-Control ou Expires dans la réponse. DSA est généralement utilisé pour les ressources dynamiques qui ne doivent pas être mises en cache, car elles sont uniques à chaque client. La mise en cache peut provoquer des problèmes ce comportement.

Si vous avez un site web combinant ressources statiques et ressources dynamiques, il est préférable d’adopter une approche hybride pour obtenir le meilleure niveau de performance.

Avec les profils Azure CDN Standard d’Edgio, vous pouvez activer la mise en cache pour des points de terminaison d’accélération de site dynamique spécifiques à l’aide de règles de mise en cache.

Pour accéder à des règles de mise en cache :

  1. Dans la page Profil CDN, sous Paramètres, sélectionnez Règles de mise en cache.

    Capture d’écran du bouton de règles de mise en cache du réseau de distribution de contenu.

    La page Règles de mise en cache s’affiche.

  2. Créez une règle de mise en cache globale ou personnalisée pour activer la mise en cache de votre point de terminaison DSA.

Pour les profils Azure CDN Premium fourni par Edgio uniquement, vous pouvez activer la mise en cache des points de terminaison DSA spécifiques à l’aide du moteur de règles. Les règles créées n’affectent que les points de terminaison de votre profil qui sont optimisés pour DSA.

Pour accéder au moteur de règles :

  1. Dans la page Profil CDN, sélectionnez Gérer.

    Capture d’écran du bouton Gérer dans le profil réseau de distribution de contenu.

    Le portail de gestion du réseau de distribution de contenu s’ouvre.

  2. Dans le portail de gestion du réseau de distribution de contenu, sélectionnez ADN, puis sélectionnez Moteur de règles.

    Moteur de règles pour DSA

Vous pouvez également utiliser deux points de terminaison de réseau de distribution de contenu : un point de terminaison optimisé avec l’accélération de site dynamique pour distribuer des ressources dynamiques et un autre point de terminaison optimisé avec un type d’optimisation statique, tel qu’une distribution web générale, pour fournir les ressources pouvant être mises en cache. Modifiez les URL de vos pages web afin qu’elles pointent directement sur le point de terminaison du réseau de distribution de contenu vers la ressource que vous envisagez d’utiliser.

Par exemple : mydynamic.azureedge.net/index.html est une page dynamique et est chargée à partir du point de terminaison avec accélération de site dynamique. La page HTML référence plusieurs ressources statiques telles que des images ou des bibliothèques JavaScript qui sont chargées à partir du point de terminaison de réseau de distribution de contenu statique, telles que mystatic.azureedge.net/banner.jpg et mystatic.azureedge.net/scripts.js.