L’architecture « sans serveur »: Tendance à surveiller pour l’informatique sur le nuage

L’industrie des services infonuagiques est en constante évolution. En 2014, Amazon Web Services (AWS) a lancé AWS Lambda, le premier service « sans serveur » commercial compétitif. Les concurrents d’Amazon, incluant Microsoft, Google et IBM, n’ont pas tardés à répliquer en explorant eux aussi ce marché, tentant de faire mieux.

Quoiqu’Amazon a été le premier à frapper, la course est loin d’être terminée. Ce marché émergeant risque de continuer de progresser dans les prochaines années alors que les services offerts gagnent en maturité. Mais qu’est-ce que l’architecture « sans serveur »? Et quels sont les avantages et les désavantages de cette technologie? Dans le cadre de notre blogue, nous vous présentons aujourd’hui un portrait rapide de cette nouvelle technologie à surveiller.

Qu’est-ce que l’architecture « sans serveur »?

D’entrée de jeu, il faut noter que « sans serveur » ne veut pas dire « aucun serveur ». L’architecture « sans serveur » décrit plutôt une architecture à base d’évènements que l’on combine à des services infonuagiques évolutifs qui peuvent être déployés (ou non) au besoin. Autrement dit, ces services infonuagiques n’existent pas sur un serveur précis, mais augmentent (ou diminuent) le nombre de ressources utilisées selon les besoins et la demande.

Traditionnellement, sur le nuage, les organisations paient un prix fixe à chaque mois pour assurer le fonctionnement d’un site ou d’une application web et ce, peu importe si toutes les ressources sont utilisées ou non. L’architecture « sans serveur » règle ce problème en permettant aux organisations de payer uniquement pour les services et les ressources qui ont été réellement utilisées selon le trafic, ce qui permet de réaliser des économies lors des creux ou des temps morts.

L’architecture « sans serveur » est donc une architecture où, à aucun moment, on ne verra apparaître un serveur ou une VM sur un schéma. En divisant le code d’une architecture « sans serveur » en plusieurs modules très précis, les développeurs peuvent appeler et exécuter des fonctions autonomes et isolées en temps réel selon les besoins et la demande. Il s’agit donc en quelque sorte d’une extension des micro-services.

Les avantages

Les fournisseurs de services infonuagiques cherchent toujours à optimiser l’utilisation de leurs systèmes. L’architecture « sans serveur » est donc très avantageuse pour ceux-ci puisqu’elle permet aux développeurs d’exécuter des tâches en temps réel sans devoir se soucier de quel serveur va exécuter quelle tâche. En gros, l’architecture « sans serveur » gère elle-même l’allocation des ressources en temps réel, ce qui élimine des besoins au niveau de l’administration des systèmes. De plus, ce type d’architecture est hautement compatible avec les méthodes Agile, permettant aux développeurs de se concentrer sur le code et de livrer rapidement.

Bien entendu, le plus gros avantage se situe au niveau des coûts. Plusieurs observateurs prévoient que l’architecture « sans serveur » devrait permettre une réduction des coûts reliés aux services infonuagiques de plus en plus importante dans les années à venir. Ceci étant dit, il faudra que les applications soient bien conçues pour prendre pleinement avantage de ce type d’architecture.

Les inconvénients

Si vous êtes à la recherche d’une performance ultra-rapide pour vos applications web, un serveur virtuel répondra probablement mieux à vos besoins qu’une architecture « sans serveur », qui augmente généralement la latence et peut occasionner certains problèmes au niveau de la performance. De plus, le débogage et l’état des services sont encore difficiles à gérer puisque les applications n’existent pas sur un serveur précis. Ceci étant dit, l’architecture « sans serveur » est une technologie émergente. Il est donc raisonnable d’anticiper des développements dans les années à venir qui amélioreront ces aspects.

Projet pilote

L’architecture « sans serveur » n’est pas encore une solution parfaite pour tous les projets. Par contre, investir des ressources dans un projet pilote qui explore cette technologie est probablement un très bon investissement pour l’avenir. Actuellement, les deux meilleurs choix sur le marché sont les services AWS Lambda d’Amazon et Azure Functions de Microsoft. Dans les deux cas, ces services permettent aux développeurs d’exécuter des fonctions en réponse à un évènement, une structure qui semble très prometteuse pour l’Internet Des Objets en particulier, puisque l’architecture « sans serveur » pourrait permettre à des objets d’une ancienne génération de se connecter au nuage sans nécessiter de mise à jour au niveau du système d’opérations.

Avez-vous exploré l’architecture « sans serveur »? Que pensez-vous de cette technologie émergente? Faites-nous part de vos commentaires dans la section sous cet article!

Image Team Askida

Team Askida

L'équipe d'Askida // Team Askida