'Serverless', comme beaucoup de choses dans notre espace, est en train de devenir un terme surchargé. Mais généralement, cela signifie: "Fonctionnellement, notre architecture ne dépend pas du provisionnement ou de la maintenance en cours d'un serveur".
La première instance qui nous vient à l’esprit est une application javascript à une seule page, qui utilise un stockage local et qui est stockée sur un site comme Amazon S # ou Github Pages (ou tout autre site statique - c’est là des exemples courants). Imaginez quelque chose comme une application de type «faire» ou «faire avancer les choses» qui fonctionne entièrement dans votre navigateur. Votre navigateur utilise un service tel que S3 pour télécharger le code. Les éléments que vous stockez sont tous stockés dans la mémoire de stockage locale de votre navigateur. Il n'y a pas de serveur que vous maintenez pour cela.
La seconde instance, plus compliquée (et celle qui a popularisé le terme 'sans serveur'), utilise un service comme AWS Lambda. Permettez-moi de vous expliquer ceci en présentant le problème qu'il résout:
À plusieurs reprises au cours de ma carrière, j'ai résolu un problème commercial pour un client avec un peu plus que du code ruby qui effectuait un extrait, une transformation et un chargement périodiques (généralement écrit sous forme de tâche de travail). Une fois résolu, je l’automatiserais typiquement avec cron. Ensuite, le problème devient «Où dois-je héberger cette chose qui fonctionne une fois par heure? Pour certains clients, nous configurions un serveur dans leur infrastructure existante. Pour d'autres, nous avions configuré une instance EC2, même si celle-ci était inactive 99% du temps. Dans l'un ou l'autre de ces cas, il existe un serveur nécessitant un provisionnement, des correctifs, une surveillance, une mise à jour, etc.
Avec Amazon Lambda, je peux prendre cette tâche de rake et l'exécuter sur leur service en tant que pure fonction. Je peux même le programmer. Ce client n'aurait plus besoin d'une infrastructure pour une chose aussi simple, une fois par heure.
Avec 'serverless', il y a toujours un serveur, tout comme avec 'cloud', il y a toujours un ordinateur. Il y a juste un niveau d'abstraction qui prend certaines responsabilités environnementales pour vous.