Compte-rendu de la Serverlessconf : cap sur l'observabilité !

le 30/05/2018 par Jules Guyot
Tags: Software Engineering

Le 14 et 15 février, la Serverlessconf posait ses bagages pour la première fois en France, à Paris. Cette conférence communautaire réunit de nombreux speakers d’entreprises variées afin de partager leurs expériences sur les architectures serverless. Malgré le nom de la conférence, cette conférence ne traite pas spécialement du framework éponyme serverless mais bel et bien du concept serverless. On parle plutôt de FaaS pour Function As A Service.

La journée était extrêmement chargée avec pas moins de 14 talks de 15 à 30 minutes qui s’enchaînaient à un rythme effréné. Il était d’ailleurs difficile de rester concentré face à ce flot ininterrompu d’informations et de concepts. Je vais ici relater le talk que je pense être le plus intéressant.

The present and future of Serverless Observability

Yan Cui - Space Ape Games

Ce talk était le premier de la journée mais également un des plus intéressant. Yan proposait ici de présenter ce qu’était l’observabilité et de présenter quelques-uns des outils qu’il jugeait prometteur.

Il faut, selon lui, ne pas distinguer monitoring et observabilité mais vraiment voir l’observabilité comme un superset du monitoring. L’observabilité a quatre piliers:

  • Monitoring
  • Alerting/visualisation
  • Tracing en systèmes distribués
  • Agrégation et analyse des logs

Il résume en disant que l’observabilité permet bien sûr de récupérer des données en cas d’erreur, mais aussi d’avoir un état de santé complet de son environnement en temps réel. Il était intéressant également de voir que, là où le monitoring était souvent porté par les ops, l’observabilité devient l’affaire de tous et est un concept qui s’inclut parfaitement dans la culture devops.

Le Serverless marque une rupture avec ce qu’on connaissait auparavant. En effet, comme son nom l’indique, le Serverless nous masque toute l’infrastructure sous-jacente. L’enjeux majeur est de mettre en place cette observabilité sans avoir accès au serveur, à l’os, etc…

Des outils émergent avec ce nouveau paradigme qui proposent des solutions d’observabilité pour le Serverless et il en cite d’ailleurs quelques-uns comme Thundra, Epsagon ou bien encore Iopipe. (Petit apparté: Une tech lead de Iopipe est d’ailleurs venue faire un talk lors de la conférence. La présentation montrait comment mettre en place Iopipe sur une fonction aws lambda écrite en nodejs. La mise en place paraissait vraiment simple: il “suffisait” d’importer la libraire Iopipe et wrapper la fonction handler avec une fonction de la-dite librairie. On avait alors accès à un dashboard avec de nombreuses métriques, informations, logs, graphs, etc…).

Son talk finit sur une ouverture sur le futur de l’observabilité : les systèmes sont si complexes qu’on pourrait les assimiler à des êtres vivants. Il faut observer les systèmes comme un IRM le ferait sur un cerveau. Il a alors présenté Vizceral, un outil qui permet de montrer le trafic et son volume entre les différents noeuds d’un système.

Conclusion

Cette journée était certes intense mais très intéressante. On sent vraiment que l’écosystème Serverless est en pleine effervescence et évolue très vite : nouveautés et projets arrivent quasiment chaque jour ! Inhérent à un environnement jeune, l’outillage est cependant encore incomplet et pas mature : exécuter et déboguer une lamba en local n’est pas de tout repos. Et ce n’est qu’un exemple parmi beaucoup d’autres ! De nombreuses questions se posent également, par exemple :

  • Comment déployer, architecturer et tester son application Serverless ?
  • Comment prévoir son budget sur du Serverless en production ?
  • Quelle plateforme utilisée ?

On sent également que là encore, AWS est en avance sur tout le monde en terme de fonctionnalités et les entreprises semblent se tourner majoritairement vers ce provider.

Pour conclure, je reprendrai ce que disais Ryan Kroonenburg, l’un des fondateurs de A Cloud Guru, pour finir la Serverlessconf. Il voit deux freins encore au cloud et plus spécifiquement à l’utilisation massive d’applications Serverless. Le 1er frein pour l’adoption du cloud n’est pas la sécurité mais le manque de compétences. Cela tend évidemment à s’améliorer ! Le second est l’accès à internet. En effet, son accès ainsi que le débit sont très variables suivant la région du globe. Heureusement (ou pas), comme Ryan ironise, Elon Musk a encore la solution avec son projet fou Starlink. De quoi promettre un avenir radieux aux applications Serverless ?