Les réseaux de diffusion de contenu passent à l'ère du cloud

Les réseaux de diffusion de contenu passent à l'ère du cloud Depuis un an, Amazon offre la possibilité de personnaliser à la volée les sites et applications web livrés via son CDN au plus proche des internautes. Cloudflare a contre-attaqué.

Taillés pour améliorer la performance des sites internet, les réseaux de diffusion de contenu (ou CDN pour content delivery network) reposent historiquement sur un principe simple : répliquer les pages web sur des serveurs répartis géographiquement en vue de les rapprocher des visiteurs et in fine en réduire le temps de chargement. Jusqu'ici, les CDN se limitaient avant tout à la prise en charge de requêtes et de pages statiques. Dans le souci d'optimiser au maximum les temps d'accès, la délicate tâche d'assembler les composants web à personnaliser et d'orchestrer la logique applicative était laissée aux serveurs d'hébergement centralisés. Revers de la médaille : ces briques et services propres à l'utilisateur (espaces personnels et transactionnels, contenus ou publicités "profilés"…) ne pouvaient bénéficier de la capacité d'accélération de ces réseaux… Deux des principaux providers de CDN ont récemment décidé de combler ce déficit : Amazon Web Services (AWS) mi-2017, et Cloudflare, l'un des principaux pure player américains du domaine. Tous deux ont enrichi en mars dernier leur offre de CDN d'une surcouche programmatique permettant de piloter cette nouvelle dimension.

Cloudflare Workers vs CloudFront, les deux principales solutions de CDN en mode cloud
  Nombre de points de présence du CDN Prix Langage Point fort
CloudFront avec Lambda@Edge 116 0,60 dollar par million de tâches exécutées JavaScript (Node.JS). Offre mature bénéficiant de la richesse du cloud d'Amazon.
Cloudflare Workers 127 0,50 dollar par million de tâches exécutées JavaScript (Service Workers) Offre basée sur un standard du W3C

Pour orchestrer ses processus cloud en bordure de réseau (edge computing), AWS fait appel à son service serverless Lambda. Il l'a équipé pour l'occasion d'une extension, baptisée Lambda@Edge, compatible avec son CDN (Cloudfront). "Dans le sillage des containers Docker, ce type de produit représente une nouvelle révolution dans la manière de concevoir et scripter les architectures web", commente Fabien Bourdier, directeur des opérations chez TravelClick Video Solution International (groupe TravelClick). Figurant parmi les tout premiers utilisateurs de Lambda@Edge, le spécialiste des applications digitales pour l'hôtellerie s'est adossé au service d'Amazon pour bâtir une "web factory". Elle permet à ses clients de déployer et opérer leur site internet. "Cette technologie d'AWS a pour intérêt d'offrir une infrastructure serveur et réseau mondiale aux ressources informatiques flexibles, ce qui est absolument critique dans ce secteur", souligne Fabien Bourdier.

Via sa "web factory", TravelClick s'adosse à Lambda@Edge pour orchestrer la diffusion sur Cloudfront des sites de ses clients hôteliers quelle que soit la plaque géographique. "Le service active à la volée des redirections temporaires (ou redirections 302, ndlr) et des réécritures d'URL directement sur les serveurs du CDN d'Amazon", détaille Fabien Bourdier. "En cas de mise à jour d'informations stockées dans notre base de données DynamoDB, le système répercute automatiquement le changement sur le réseau Cloudfront ou sur l'une des régions d'hébergement d'AWS."

"La solution d'AWS est particulièrement riche"

Mais les possibilités de Lambda@Edge vont beaucoup plus loin. "La solution est très riche. Nous n'avons d'ailleurs pas encore tout testé", précise Fabien Bourdier. Sur son site, AWS dresse une liste de cas d'usage envisageables. Au programme : la publication de contenus ad hoc en fonction de la localisation internet du visiteur (IP) ou de son profil (via cookies), la gestion des autorisations d'accès en amont du transfert d'une requête au serveur d'hébergement, ou encore la diffusion d'images de différentes dimensions en fonction de la taille de l'écran.

Cloudflare Workers en embuscade

Qu'en est-il de l'offre de Cloudflare ? Baptisée Cloudflare Workers, elle poursuit très précisément les mêmes objectifs tout en affichant une architecture comparable. A l'instar du service d'Amazon, Workers fait appel au serverless pour mettre en musique les contenus Web en bordure de réseau. De même, sa couche programmatique est configurable à l'aide d'une API et gère automatiquement la mise à l'échelle des ressources informatiques. Enfin, son mode tarifaire s'inspire de celui de Lambda@Edge. "Il est fonction du nombre de tâches exécutées. Ce qui permet de calculer aisément le budget d'un projet. C'est très pratique", reconnait Fabien Bourdier chez TravelClick.

Parmi ses facteurs différenciant comparé à Lambda@Edge, Cloudflare Workers met en œuvre un langage de développement "standard" porté par le consortium W3C : les Service Workers. Un choix qui pourrait contribuer à rassurer les futurs clients quant à la pérennité de l'application. Pour se démarquer plus nettement, Cloudflare met par ailleurs en avant certains cas d'usage distincts de ceux d'Amazon. "Workers peut notamment bâtir des réponses conditionnelles en fonction des requêtes pour bloquer des codes malveillants par exemple. Ou encore concaténer des flux en provenance de plusieurs API en un seul", indique l'éditeur.

Akamai distancé

Reste à savoir comment Akamai, l'acteur historique du CDN, se positionne sur ce créneau de l'edge Ccomputing. La société de Cambridge commercialise bel et bien une offre dans ce domaine. Baptisée Edge Side Includes (ESI) du nom du langage de balisage sur lequel elle s'adosse, cette brique existe depuis 2001. "Sa palette fonctionnelle n'est pas comparable à celles de ses deux concurrents. ESI se contente de découper les pages web en blocs avant de les pousser sur le réseau d'Akamai pour ensuite ne republier que ceux qui auront été mis à jour sur les serveurs", explique Julien Coulon, fondateur de Cedexis (une pépite française spécialiste de l'aiguillage réseau racheté par Citrix en début d'année), et ancien d'Akamai.

Certes, ESI peut réaliser un premier niveau de personnalisation des contenus, par exemple sur la base de la localisation de l'internaute ou de variables HTTP. Mais il n'atteint pas la force programmatique de Lambda@Edge et Cloudflare Workers. A la différence de ces derniers, ESI ne gère pas la réécriture ou la fédération d'URL, et n'est pas capable d'exécuter des fonctions à tous les étages de l'architecture CDN.