Rapprocher le calcul des utilisateurs : c'est la promesse de l'edge computing. Au-delà du simple cache de fichiers statiques, les CDN modernes exécutent du code au plus près des visiteurs. Révolution ou évolution ?

Du CDN classique à l'edge computing

CDN traditionnel

Un CDN (Content Delivery Network) distribue des fichiers statiques depuis des serveurs proches des utilisateurs :

  • Images, CSS, JavaScript
  • Vidéos et médias
  • Pages HTML pré-générées

Le calcul reste sur le serveur d'origine.

Edge computing

L'edge ajoute la capacité d'exécuter du code sur les nœuds du CDN :

  • Logique applicative au plus près de l'utilisateur
  • Latence minimale (pas d'aller-retour vers l'origine)
  • Personnalisation sans serveur central

Cas d'usage pertinents

Personnalisation géographique

  • Contenu adapté au pays (langue, devise, promotions)
  • Conformité réglementaire (RGPD, blocage géographique)
  • A/B testing sans latence

Authentification et sécurité

  • Validation de tokens à l'edge
  • Rate limiting distribué
  • Protection DDoS intelligente
  • Bot detection

Optimisation dynamique

  • Transformation d'images à la volée
  • Minification et compression
  • Injection de scripts (analytics, A/B)

API Gateway

  • Routage intelligent
  • Transformation de réponses
  • Agrégation de plusieurs APIs
  • Cache intelligent avec invalidation

Les acteurs majeurs

Cloudflare Workers

  • Pionnier de l'edge computing
  • V8 Isolates (même moteur que Chrome)
  • Démarrage en millisecondes
  • KV Store pour données persistantes
  • Pricing généreux (100k requêtes/jour gratuites)

Vercel Edge Functions

  • Intégré à Next.js
  • Middleware edge natif
  • Optimisé pour les frameworks React

Netlify Edge Functions

  • Basé sur Deno
  • Intégration avec Netlify hosting
  • TypeScript natif

AWS Lambda@Edge / CloudFront Functions

  • Intégré à l'écosystème AWS
  • CloudFront Functions : très léger, très rapide
  • Lambda@Edge : plus de puissance, plus de latence

Fastly Compute@Edge

  • WebAssembly pour la performance
  • Multi-langage (Rust, Go, JavaScript)
  • Focalisé sur les grandes entreprises

Contraintes de l'edge

Limites d'exécution

Les edge functions sont conçues pour être rapides et légères :

  • Temps d'exécution limité (50ms à quelques secondes)
  • Mémoire restreinte
  • Pas d'accès au système de fichiers
  • APIs limitées (pas de Node.js complet)

Persistance des données

L'edge est stateless par nature. Pour les données persistantes :

  • KV Stores (Cloudflare KV, Vercel KV)
  • Durable Objects (Cloudflare)
  • Appels vers des bases edge (PlanetScale, Neon)

Cold starts

Moins problématique qu'avec les fonctions serverless classiques, mais attention aux déploiements globaux qui peuvent avoir des nœuds "froids".

Quand utiliser l'edge ?

Bon candidat

  • Logique simple et rapide
  • Personnalisation basée sur des données de requête
  • Transformation de réponses
  • Authentification légère

Mauvais candidat

  • Calculs lourds et longs
  • Accès fréquent à une base de données centrale
  • Logique métier complexe
  • Workflows avec beaucoup d'étapes

Architecture hybride

L'edge ne remplace pas le serveur, il le complète :

  • Edge : cache, routing, personnalisation légère, auth
  • Serverless : logique métier, APIs, traitement
  • Serveur dédié : bases de données, tâches lourdes

Chaque couche pour ce qu'elle fait de mieux.

Exemple concret : middleware Next.js

Next.js middleware s'exécute à l'edge avant chaque requête :

  • Redirection selon géolocalisation
  • Authentification et protection de routes
  • Feature flags et A/B testing
  • Réécriture d'URL

Le code ressemble à du JavaScript classique mais s'exécute sur 300+ nœuds globaux.

Conclusion

L'edge computing n'est pas une révolution, c'est une évolution intelligente de l'infrastructure web. Pour les bons cas d'usage, il réduit drastiquement la latence et améliore l'expérience utilisateur. Comme toujours, utilisez le bon outil pour le bon problème.

Partager cet article

Besoin d'aide sur ce sujet ?

Nos experts peuvent vous accompagner.

Appeler > Démarrer