Blog

Et si votre entreprise tournait sans serveur…

October 10th, 2022  by Bruno van Marsenille

Enfin, sans une infrastructure de développement en interne, qu’il s’agisse de la plateforme et des logiciels associés. Avec l’arrivée du ‘as-a-Service’, même les développements informatiques se font dans le cloud, permettant ainsi d’éliminer une partie de la complexité liée à l’exploitation, et donc de rendre l’expérience développeur plus confortable. Sans parler de la réduction des coûts…

All articles

Le concept de base du serverless computing est relativement trivial : accéder à des services back-end facturés à l’utilisation. En d’autres termes, un fournisseur d’informatique sans serveur permet à son client d’écrire et de déployer du code sans se préoccuper de l’infrastructure sous-jacente et facture l’utilisation de ses services sur base de leur consommation. Certes, ce type de service fait évidemment appel à des serveurs, mais ceux-ci sont hébergés par le prestataire de services qui en assume la maintenance et l’évolution technologique.

En général, les services back-end proposés concernent les bases de données et le stockage, mais certains fournisseurs offrent aussi des plateformes de type FaaS ou Function-as-a-Service qui permettent aux développeurs d’exécuter de petites parties de code en périphérie du réseau. Par ailleurs, certains fournisseurs proposent également du BaaS (Backend-as-a-Service) qui englobe notamment des services d’authentification, des options de chiffrement plus poussées, des bases de données accessibles dans le cloud, etc. Dans ce type de modèle BaaS, les fonctions sans serveur sont en général appelées des API (interfaces de programmation d’applications).

Avantages

On l’aura compris, l’un des attraits majeurs de l’informatique serverless est de permettre de réduire les coûts d’investissement en serveurs puisque ceux-ci résident chez le prestataire de services. De plus, les coûts d’exploitation sont variables et limités à l’utilisation de la capacité de calcul et/ou de l’espace de stockage. De même, l’agilité souvent nécessaire aux développements permet de ne pas sous-dimensionner ou surdimensionner l’infrastructure. La productivité des développeurs pourrait en outre s’améliorer puisque ceux-ci ne devraient pas se charger des tâches d’approvisionnement et de gestion des serveurs, tandis qu’ils auraient à leur disposition une infrastructure répondant au plus près à l’évolution de leurs besoins.

En outre, la mise en production d’applications est plus rapide puisque le processus de déploiement est nettement réduit, tandis que les développeurs peuvent travailler avec des conteneurs gérés par le fournisseur de cloud.

Enfin, le serverless stimule l’adoption de pratiques DevOps, voire SecDevOps, dans la mesure où les développeurs ne doivent plus décrire explicitement l’infrastructure de développement que l’équipe d’exploitation doit leur fournir.

Inconvénients

Si l’informatique sans serveur peut apparaître comme idéale, il faut remarquer que le fait de ne pas disposer de ses propres serveurs et de ne pas contrôler sa logique côté serveur peut présenter certains inconvénients. De même, un fournisseur de services risque d’appliquer ses propres contraintes d’interaction avec ses serveurs internes, ce qui peut limiter la flexibilité et le niveau de personnalisation de l’infrastructure.

Enfin, comme toute dépendance vis-à-vis d’un fournisseur (le vendor lock-in), en cas de changement de prestataire de services, vous devrez probablement payer un surcoût pour la mise à niveau de l’infrastructure.

Cas d’utilisation

Une architecture serverless convient parfaitement aux applications asynchrones et stateless (une application sans état est indépendante et ne stocke pas de données ni de référence à une transaction passée, et est donc exécutée à partir de rien, comme si s’était la première fois). Ce type d’approche est également adapté pour faire face à des pics de demande peu fréquents et imprévisibles. C’est le cas par exemple du traitement par lots de fichiers image entrants.

Par ailleurs, le serverless peut s’appliquer aux cas d’utilisation basés sur des flux de données entrants, des chatbots, des tâches programmées ou de la logique métier. De même, les API backend et les applications web, l’automatisation des processus métier ou encore les sites web sans serveur constituent des cas pratiques intéressants.

Il est clair que l’arrivée sur le marché de solutions d’orchestration de conteneurs (style Kubernetes ou Knative dans le monde open source) qui permettent d’exécuter des applications conteneurisées sur une infrastructure automatisée contribue largement au succès du serverless.

Avenir

L’informatique serverless actuelle reste confrontée à certains défis, comme la problématique des démarrages à froid. En effet, un fournisseur qui constate qu’une fonction serverless spécifique n’est pas utilisée aura tendance à la désactiver. Et si le client décide de l’utiliser à nouveau, une certaine latence sera nécessaire avant le redémarrage.

Dès lors, avec le succès croissant du sans serveur ainsi que l’amélioration de l’intégration et des états, les fournisseurs devraient passer au ‘serverless 2.0’ et donner un nouvel élan à cette technologie.

Pour aider les organisations dans leur transformation numérique, Aprico Consultants collabore avec ses clients pour traduire la stratégie de l'entreprise, ses objectifs et ses contraintes en programmes de transformation pragmatiques qui délivrent une véritable valeur ajoutée et un retour sur investissement avéré. Aprico Consultants permet à ses clients d’accélérer résolument leurs processus de transformation numérique en apportant la flexibilité, la performance et la compétitivité nécessaires pour leur permettre de renforcer leur position sur le marché.

Careers opportunities

We’re always looking for talented people.
Are you one of those?