Serverless : quels sont les cas d'usage les plus courants ?
Le serverless devient une option pour déployer les fonctions de ses applications, mais cela ne veut pas dire que cette architecture convient à toutes les solutions. Voici quelques exemples sur lesquels s’appuyer.
Le serverless est la dernière forme de calcul à la demande, mais pour la plupart des entreprises, il s’agit d’un nouveau territoire à conquérir. Si les questions sont certes nombreuses, celles d’identifier les bonnes workloads reviennent régulièrement.
Avec l'informatique serverless dans le cloud, les fournisseurs, comme AWS, Google, Microsoft ou encore IBM, gèrent l'infrastructure et allouent dynamiquement les ressources en fonction des besoins. Les clients paient pour ces ressources qu'ils utilisent - et ne paient pas lorsque ces ressources ne sont pas utilisées.
L'un des cas d'usage standard pour ces plates-formes, également connues sous le nom de functions as a service (FaaS), est naturellement DevOps, explique Greg Schulz, analyste chez StorageIO. Mais si les processus de développement et de test de logiciels s’y prêtent bien, il existe aussi d’autres cas possibles. « Le serverless a une vie au-delà des DevOps, et c'est là que se trouvent les vraies opportunités », soutient-il d’ailleurs.
Utilisations courantes du serverless
En général, le serverless constitue un choix judicieux pour les applications modulaires ou simples qui ne nécessitent pas une machine virtuelle ou machine physique complète, mais juste un endroit pour exécuter du code. Par exemple, les bots qui motorisent certains services clients et qui accueillent les utilisateurs à l'ouverture d'un site Web reposent souvent sur le serverless - la visite d'un utilisateur sur le site déclenche le robot.
Un autre cas courant d'utilisation est le traitement en back-end, souligne à son tour Torsten Volk, analyste chez Enterprise Management Associates. Le chargement d'images dans un bucket de S3 peut ainsi déclencher une fonction Lambda qui utilise le service Amazon Rekognition pour extraire des métadonnées à partir de cette image. Une autre fonction pourrait ensuite s'exécuter pour écrire ces métadonnées dans une base de données.
Un autre sous-ensemble de ce dernier cas d'utilisation est le traitement par lots qui s’exécute en plus des applications traditionnelles, commente Deepak Mohan, analyste chez IDC. Monitoring, collecte par télémétrie ou alertes sont là des scénarii envisagés. « Nous voyons beaucoup de clients déployer de tels traitements par lots sur des services serverless, aux côtés d’une VM », constate-t-il.
Les applications qui nécessitent de grandes capacités de dimensionnement, telles que l'analyse de données, l'indexation de documents, l'intelligence artificielle ou l’apprentissage de modèle de Machine Learning, sont également adaptées serverless, ajoute de son côté Torsten Volk.
Enfin, les entreprises qui souhaitent faire leurs premiers pas avec le serverless pourraient le faire avec les microservices - les microservices sont sans état, réduits ou modulaires par nature. « Avant de créer de nouveaux microservices, les équipes de développement devraient d'abord évaluer l'utilisation de FaaS. Ces fonctions sont plus faciles à gérer qu’un déploiement dans les containers », souligne-t-il encore.
Le serverless simplifie grandement le lancement d’un nouveau service, y compris les applications Web basées sur les microservices, rappelle Deepak Mohan (IDC).
Qu'est-ce qui ne convient pas au serverless ?
« Bien sûr, ce n'est pas parce que vous pouvez migrer une workload vers un environnement serverless, que vous devez toujours le faire », alerte Greg Schulz. Certains cas d'usage et types d’applications ne conviennent pas. Par exemple, les workloads qui nécessitent des ressources intensives et de longue durée - comme les bases de données - ne sont pas un bon candidat pour le serverless, surtout en raison des coûts. Un serveur de base de données dédié sur sa propre VM est là un meilleur choix.
Autre usage peu adapté à cette architecture : le rendu vidéo. « Cela serait probablement plus efficace dans des VM spécialement dimensionnées, où l’accès aux ressources est plus large », commente-t-il enfin.