On ne s’en rend pas toujours compte, mais Next.js est un framework indissociable de la notion de serverless.
Beaucoup de choix technologiques de Next s’expliquent en fait par la volonté de Vercel de le rendre parfaitement compatible avec cette forme d’hébergement.
Le serverless est un modèle de cloud computing où le fournisseur alloue dynamiquement les ressources serveur pour le compte du client et facture à l’usage.
Le nom est trompeur : avec le serverless, vous utilisez toujours des serveurs, mais vous n’avez juste pas à les gérer vous-même.
Cela va plus loin qu’une approche micro-services, car vous ne provisionnez même pas une machine virtuelle ou un serveur partagé pour héberger votre appli. L’hébergeur gère tout cela pour vous.
En serverless, on va payer du temps CPU, de la bande-passante etc., plutôt que la location d’un CPU virtuel d’une taille donnée.
Du point de vue architectural, l’application Next est découpée en fonctions indépendantes et de petite taille.
C’est ce qui permet à l’hébergeur serverless d’allouer exactement les ressources nécessaires à votre appli, avec une granularité très fine.
Ce mode de déploiement s’intègre d’ailleurs parfaitement au système de routage basé sur les fichiers de Next.js. Chaque page du dossier app
peut être déployée comme sa propre fonction serverless indépendante.
Par exemple, app/page.tsx
est une fonction, app/about/page.tsx
en est une autre, et ainsi de suite. Chacune de ces pages peut être mise à l’échelle indépendamment par la plateforme serverless.
Cela fonctionne de la même façon pour les points d’entrée d’API, nommés “route handlers” dans le langage de Next.js.
Voici les informations fournies par Vercel lors de l’hébergement du formulaire de l’enquête State of JavaScript : elles sont divisées par fonction. Notre point d’entrée GraphQL est le plus sollicité, et passera plus vite à l’échelle que les autres.
En résumé les avantages de ce modèle serverless avec Next.js sont les suivants :
Si vous avez besoin de plus de contrôle sur l’environnement serveur, Next.js fournit des “escape hatches” pour sortir du mode serverless :
next start
fonctionne parfaitement pour celà !Les applications Next.js sont directement compatibles avec le paradigme serverless, qui présente certains avantages : paiement à l’usage, scalabilité infinie et automatique.
Mais ce n’est pas non plus une obligation. On peut aussi héberger une application Next.js comme n’importe quelle application Node.js via la commande next start
.
Vous avez apprécié cette ressource ?
Découvrez toutes nos formations Next.js et Astro en présentiel ou en distanciel