Un site qui reçoit dix visiteurs par heure en juin et quatre cents en février pose un problème que peu d’articles sur le cache abordent : comment choisir un CDN quand le trafic n’est pas seulement variable, mais multiplié par quarante sur quelques semaines ? C’est la situation d’un domaine skiable qui expose son API REST WordPress (horaires des remontées, état des pistes, tarifs du jour) à un front consommé par plusieurs applications partenaires.
Trois CDN ont été testés en conditions réelles sur une saison complète : Fastly, Bunny.net et Cloudflare. L’objectif n’était pas de trouver « le meilleur » dans l’absolu, mais celui qui tient la charge de février sans faire exploser la facture de juin.
Purge par tag : la fonctionnalité qui change tout sur ce cas d’usage
L’état des pistes change plusieurs fois par jour en pleine saison. Sans purge ciblée, chaque mise à jour oblige soit à attendre l’expiration du cache, soit à vider l’intégralité du cache, ce qui provoque un pic de requêtes non mises en cache juste après chaque purge. Les trois CDN proposent un mécanisme de purge par tag ou par clé de substitution (surrogate key), mais avec des niveaux de granularité différents.
Comparatif sur les critères qui comptaient pour ce projet

| Critère | Fastly | Bunny.net | Cloudflare |
|---|---|---|---|
| Purge par tag/clé | Très fine, quasi instantanée | Fine, délai de quelques secondes | Fine depuis les plans payants, moins immédiate |
| Modèle tarifaire | Volumétrique, prévisible sur gros trafic | Très bas coût au gigaoctet | Forfait avec paliers, avantageux hors pointe |
| Configuration par API | API riche, VCL pour les cas avancés | API REST simple, moins d’options fines | API REST complète, règles de cache par expression |
| Tenue en pic saisonnier | Excellente, testée sur gros trafic | Bonne, quelques latences en cas de pic brutal | Excellente, réseau très étendu |
Ce que révèle une saison complète de mesures
Sur la période creuse de juin à octobre, le coût de Bunny.net s’est révélé nettement inférieur aux deux autres solutions, un avantage logique puisque son modèle tarifaire pénalise moins un trafic faible. En pleine saison, de décembre à mars, Fastly a montré la meilleure capacité à absorber les purges fréquentes sans dégradation de la latence, grâce à une granularité de purge par clé de substitution qui évite d’invalider tout un ensemble de réponses pour un seul changement de piste.
La configuration qui a fait la différence chez Fastly
Chaque réponse de l’API REST porte un en-tête Surrogate-Key construit à partir de l’identifiant de la remontée mécanique ou de la piste concernée. La purge, déclenchée par un webhook au moment de la mise à jour du contenu dans WordPress, cible uniquement les clés concernées :
curl -X POST "https://api.fastly.com/service/$SERVICE_ID/purge/piste-123" \
-H "Fastly-Key: $API_KEY" \
-H "Accept: application/json"
Cette approche évite de recalculer l’ensemble des réponses de l’API à chaque mise à jour d’une seule piste, un point critique quand plusieurs dizaines de modifications surviennent en quelques heures un jour de forte affluence.
Un point souvent négligé : la latence en dehors des massifs
Un domaine skiable reçoit aussi des visiteurs bien au-delà de sa région, notamment des acheteurs de forfaits qui consultent le site depuis d’autres pays européens plusieurs semaines avant leur séjour. Le réseau de points de présence de Cloudflare, particulièrement étendu, a montré l’avantage le plus net sur ce critère précis, avec une latence mesurée sensiblement plus basse depuis des points d’accès situés hors de France, un avantage qui ne serait pas apparu sur un test limité au seul trafic local.
Ce que la mise en place a coûté en temps d’ingénieur
Configurer la purge par clé de substitution chez Fastly a demandé le plus de temps d’implémentation des trois solutions testées, en raison de la nécessité d’ajouter systématiquement l’en-tête Surrogate-Key sur chaque réponse de l’API concernée. Bunny.net et Cloudflare ont proposé une mise en route plus rapide, au prix d’une granularité de purge légèrement moins fine sur les cas les plus spécifiques rencontrés en cours de saison.
Notre verdict
Pour un trafic à forte saisonnalité, aucun des trois CDN n’est un mauvais choix technique : la décision dépend surtout de la répartition du budget entre saison basse et saison haute, et de l’origine géographique du public à couvrir. Bunny.net convient à une structure qui veut minimiser les coûts hors saison, Fastly convainc sur la finesse de purge en période de forte activité éditoriale, et Cloudflare reste un choix solide et sans mauvaise surprise si l’équipe préfère un forfait prévisible toute l’année et un public dispersé géographiquement plutôt qu’une facturation strictement volumétrique.