Le futur du web
est sur la
périphérie du réseau
Qui en parle ?
Qui en parle ?
Cloud Providers
![screenshot of cloudflare blog introducing workers](/slides/assets/screenshot-cloudflare.02e66371.jpeg)
![screenshot of vercel edge functions](/slides/assets/screenshot-vercel.8cb14c60.jpeg)
![screenshot of netlify edge page](/slides/assets/screenshot-netlify.dc9afb44.jpeg)
![screenshot of aws edge page](/slides/assets/screenshot-aws.5f64f03e.jpeg)
Qui en parle ?
Frameworks JavaScript
![screenshot of sveltekit app on the edge](/slides/assets/screenshot-sveltekit.65a972b4.jpeg)
![screenshot of vercel templates for frameworks on the edge](/slides/assets/screenshot-frameworks.4a661df7.jpeg)
![screenshot of Qwik home page](/slides/assets/screenshot-qwik.60df86ca.jpeg)
Page de test
Page de test
Description
![description of the project](/slides/assets/project.0d565bec.png)
Les pages dynamiques : historique
Les pages dynamiques : historique
2000's : le serveur au pouvoir
PHP, Java, JSF...
![made at imgflip.com](https://i.imgflip.com/6x8xpu.jpg)
Les pages dynamiques : historique
2010's : si tu peux le faire en JavaScript, fais-le en JavaScript
Angular, React, Vue, Node, Webpack...
![made at imgflip.com](https://i.imgflip.com/6x8uc4.jpg)
Les pages dynamiques : historique
2020's : finalement les serveurs c'est pratique
SSR, SSG, WASM, Rust, esbuild...
![made at imgflip.com](https://i.imgflip.com/6xnvsp.jpg)
Sans oublier...
Sans oublier...
d'autres fonctionnalités
- Authentification
- Redirections
- A/B Testing
- Feature Flipping
- API Rate Limiting
- ...
Le futur du web est sur les serveurs
![Tweet de Kent C. Dodds disant que le futur du web est sur les serveurs](/slides/assets/tweet_kent_c_dodds.18327c79.png)
Comment on fait un serveur ?
Comment on fait un serveur ?
![containers](/slides/assets/containers.c10fc248.png)
![serverless](/slides/assets/serverless.a5473fdc.png)
Comment on fait un serveur ?
Fonctions Lambda
![code for lambda function](/slides/assets/lambdaFunction.934a33dd.png)
Le problème actuel
Le problème actuel
![World map with lambda function](/slides/assets/world-map-lambda.38ec6766.png)
![World map with lambda function](/slides/assets/world-map-user1.e8097d2c.png)
![World map with lambda function](/slides/assets/world-map-user2.2f395f4c.png)
Le problème actuel
![table of response times](/slides/assets/performanceTable.bb7cddc1.jpeg)
Le problème actuel
Le problème actuel
Le problème actuel
Le problème actuel
Le futur du web
sur le
réseau périphérique
Content Delivery Network (CDN)
Réseau de Diffusion de Contenu (RDC)
Edge Computing
(Informatique périphérique)
![Edge computing](/slides/assets/edge-computing.16ff0758.jpeg)
Edge Functions
Fonctions déployées sur le réseau périphérique
Bénéfices :
- Faible temps de réponse
- Faible temps de démarrage (cold boot)
- Peuvent être exécutées avant le cache
- Support du WebAssembly
Edge Functions
Fonctions déployées sur le réseau périphérique
Limitations :
- Contraintes plus strictes:
- limite de taille : 1 MB (vs 50 MB)
- limite de mémoire : 128 MB (vs 1024 MB)
- limite de durée : 5s (vs 10s)
- APIs Node non supportées (e.g. APIs filesystem)
- Pas de
node_modules
dans le bundle
Edge Functions
Fonctions déployées sur le réseau périphérique
![Tweet de Kent C. Dodds disant que le futur du web est sur les serveurs](/slides/assets/tweet_pooya_parsa.b59ec215.png)
Ça donne quoi ?
Ça donne quoi ?
Sur Vercel
![Code for lambda function on the edge](/slides/assets/lambdaFunctionEdge.4e831fdb.png)
Ça donne quoi ?
Ça donne quoi ?
Ça donne quoi ?
Ça donne quoi ?
Ça donne quoi ?
Le stockage sur le réseau périphérique
Le stockage sur le réseau périphérique
Stockage clé-valeur
Cloudflare
Workers KV
Vercel
Edge Config
Et si on utilisait...
Et si on utilisait...
... du cache ?
![meme mind blown](/slides/assets/meme-cache.68b66795.png)
Avec du cache
Code de la fonction
![code for a lambda function with cache](/slides/assets/lambdaFunctionCache.828a3a5d.png)
Avec du cache
Temps de réponse de l'API
Avec du cache
Temps de réponse de l'API
Au-delà des APIs...
Au-delà des APIs...
d'autres usages des edge functions
- Redirections
- Authentification
- A/B Testing
- Feature Flipping
- API Rate Limiting
- ...
Au-delà des APIs...
d'autres usages des edge functions
Au-delà des APIs...
Redirection i18n
![code for middleware authentication](/slides/assets/middlewarei18n.4fe798cb.png)
Au-delà des APIs...
Modification de headers
![code for headers modification](/slides/assets/middlewareHeaders.07f22893.png)
Comment on démarre ?
(rtfm)
![the future is now](https://media.tenor.com/jgUVViyS2CYAAAAC/now-old.gif)