Le serverless open source : plus de liberté

Il existe de plus en plus de frameworks qui  permettent d’obtenir une infrastructure serveur 100 % automatisée. Mais à la différence de leurs équivalents propriétaires, le serverless open source offre plus de souplesse et de liberté.

Dans un contexte de forte concurrence, renforcée par l’arrivée d’acteurs disruptifs, le raccourcissement des délais de mise sur le marché devient un facteur clé de succès. Le serverless (ou l’informatique sans serveur) s’avère être « un avantage majeur en permettant notamment aux développeurs d’accélérer leurs travaux », selon Cloud Foundry Foundation.

Précisons que « serverless » ne signifie pas qu’il n’y a pas de serveur. Ils sont toujours présents ! La différence intervient au niveau de leur implémentation et de leur gestion. Cette technologie permet entre autres de bénéficier d’une flexibilité (serveurs exécutés dans des instances en fonction de la demande) et d’une réduction des coûts (lorsque la demande est servie, l’état est automatiquement arrêté).

Résultat, les principaux fournisseurs de FaaS (AWS Lambda, Google Functions et Azure Function) ont séduit de nombreuses entreprises. Cette activité devrait progresser de 37.2 % d’ici fin 2021.

Mais ils ne répondent pas aux demandes des développeurs de disposer d’offres plus personnalisables et plus « ouvertes ». Le serverless open source présente en effet des avantages non négligeables et qu’il convient de comparer aux offres propriétaires.

N’importe quel langage

Par exemple, AWS Lambda exige d’exécuter des fonctions sans serveur dans le cloud d’Amazon, sur des serveurs spéciaux conçus pour Lambda. Avec Fission (voir plus bas), il est possible de le faire n’importe où, par exemple dans un serveur virtuel sur un cloud public.

Avec le serverless open source, les développeurs ne sont pas contraints d’utiliser uniquement les langages de programmation supportés par un fournisseur de solutions sans serveur. Même chose pour les outils de surveillance que le provider rend compatibles avec sa plate-forme serverless.

Comme la plupart des offres de serverless open source sont construites sur des applications « cloud natives », il est assez facile pour les équipes Ops de se les approprier. Par bailleurs, l’open source est souvent synonyme de forte communauté dont l’une des motivations est l’évolutivité (mais soyons objectif en précisant que tout n’est pas parfait et que les bugs ne sont pas rares).

Il existe de nombreuses plates-formes open source. Citons notamment Apache OpenWhisk. Elle gère l’infrastructure, les serveurs et la mise à l’échelle à l’aide des conteneurs Docker afin que les développeurs puissent se concentrer sur la création d’applications.

Il y a également Fission qui permet d’écrire des fonctions de courte durée dans n’importe quel langage et de les mapper avec n’importe quel déclencheur d’événement, comme les requêtes HTTP.

Il y a enfin, Kubeless. C’est un framework sans serveur natif de Kubernetes. Il exploite donc ses ressources pour fournir l’évolutivité automatique, le routage API, la surveillance, le dépannage et bien plus encore.

Pour découvrir les expertises Spark sur le sujet, cliquez-ici.