Fondée il y a cinq ans par Liran Haimovitch (CTO) et Or Weis (précédent CEO), la start-up israélienne Rookout a bénéficié du soutien de plusieurs business angels et VC (Raymond Colletti, Cisco Investments, Emerge ou encore TLV Partners), pour démarrer et asseoir son activité dans le domaine de l’observabilité. Près de 28,4 millions de dollars ont ainsi été levés pour développer et commercialiser une solution capable de récolter et analyser en temps réel l’activité des applications à partir des traces, logs et mesures conservés en mémoire afin de remonter des recommandations pour prévenir et régler les dysfonctionnements. “ Beaucoup d’entreprises ont été créées et opèrent dans ce domaine, ce qui donne lieu à deux grandes vagues dans l’industrie aujourd’hui. L’une d’entre elles consiste à laisser une grande partie de la responsabilité de l’application aux équipes d’ingénieurs et aux développeurs du support. Et à l’autre extrémité, les applications cloud natives arrivent en production et les entreprises utilisatrices ne sont pas seulement des start-ups et des PME, mais aussi des grands comptes, de grandes banques, des institutions financières, des compagnies d’assurance, qui ont amené leurs applications en production et doivent désormais s’en occuper. Ce qui signifie des bugs, des erreurs et des problèmes dans leur fonctionnement : c’est ce dont nous nous chargeons”, nous a expliqué le CEO de Rookout Shahar Fogel, lors d’un IT Press Tour à Tel Aviv en mars dernier.    

L’observabilité est le dernier avatar des plateformes dédiées au monitoring et/ou à la supervision des infrastructures et des applications cloud natives à savoir Datadog, Dynatrace, Honeycomb, New Relic  ou encore Splunk. Et, ce ne sont plus seulement les administrateurs système qui sont visés par ces solutions, mais aussi les équipes DevOps, qui surveillent leurs infrastructures, notamment dans les environnements cloud. Il n’est toutefois pas seulement question de collecter et d’échantillonner des données afin de bombarder les équipes avec des statistiques techniques, mais de comprendre ce qui se passe afin de s’assurer que tout fonctionne. “ Mais lorsque quelque chose se produit, lorsqu’un problème survient, ces équipes sont très douées pour pointer du doigt en disant : D’accord, il y a une erreur ici. Et ensuite, bonne chance pour tenter de la résoudre. […] les équipes sont limitées dans leur capacité à comprendre ce qui se passe, et même les outils existants exploitent essentiellement des logs, en passant au crible des montagnes et des montagnes de logs pour comprendre ce qui se passe afin d’arriver à la cause première. Et ils n’ont pas la possibilité d’accéder en temps réel à leurs environnements de production, ou à n’importe quel environnement en cours d’exécution et de comprendre ce qui se passe. Et, les personnes chargées du développement ont besoin des journaux, bien sûr, mais elles ont besoin d’un contexte complet avec les variables et de toutes les informations au niveau du code pour comprendre ce qui s’est exactement passé. Et c’est là que nous entrons en jeu, avec notre solution d’observabilité ”.    

Un marché très dynamique 

Rookout n’est pas le premier à proposer ce type d’outils, qui se sont multipliés ces cinq dernières années - voir ci-dessous le Magic Quadrant du Gartner - pour donner aux développeurs et aux ingénieurs la capacité de s’approprier et de piloter l’observabilité selon leurs besoins. La start-up israélienne se distingue toutefois avec une approche différente : la recherche des informations dont elle a besoin dans la mémoire des serveurs hébergeant les applications (Java, .Net et Ruby sont supportée, mais pas encore le PHP), que ce soit en mode bare-metal, serverless ou Kubernetes. “Nous installons un agent pour analyser la mémoire, sans le laisser impacter les performances applicatives, assure le CEO, et sans accéder aux données pour des questions de sécurité ”. La start-up assure que même si la mémoire des applications contient des gigaoctets d’informations particulièrement précieuses, les journaux ne capturent que quelques centaines d’octets et les traces que quelques milliers, laissant tout le reste inexploité.

“ Nous donnons la possibilité de faire de l’observabilité de manière dynamique, c’est-à-dire de pointer où vous voulez, de cliquer sur un bouton et obtenir les informations. Vous n’avez pas besoin d’écrire du code et d’ajouter des journaux. Vous n’avez pas besoin de redéployer l’application. Et vous pouvez le faire directement à partir de la production sans arrêter l’application normale. C’est une technologie que nous appelons les points d’arrêt sans rupture. Vous cliquez sur les données et en moins de trois millisecondes, vous commencez à obtenir toutes les informations de cette ligne ou de ce code ou de cette section du code avec le contexte complet de l’information dont vous avez besoin ”, nous a indiqué Shahar Fogel.   

Le Gartner classe les acteurs de l'APM et de l'observabilité dans le même groupe. (Crédit Gartner)

“ Aujourd’hui, la notion d’observabilité repose sur trois piliers : les logs, les mesures et les traces. Ce que nous avons établi, c’est un nouveau pilier de l’observabilité, qui est l’instantané, c’est un contexte complet de données dont les ingénieurs ont besoin pour opérer et pour résoudre les problèmes”, complète le dirigeant, qui considère que les traces, les mesures et les journaux de logs comme des classes de données faiblement représentatives qui manquent souvent du contexte requis par un développeur. Contrairement aux outils de surveillance et aux APM traditionnels, qui ont tendance à se concentrer sur les mesures dont se préoccupent les ingénieurs DevOps et les opérateurs au niveau de l’infrastructure, Rookout a été conçu dès le départ pour les développeurs, qui s’intéressent davantage au code réel et au fonctionnement de leurs applications cloud natives. Le CEO présente donc ses snapshots comme le "quatrième pilier de l’observabilité", qui enregistrent  tout ce qui s’est passé à un moment précis : traces des piles, valeurs de variables, contexte de la demande et état global de l’application.

Ainsi, en cas de panne, l’instantané fournit automatiquement aux développeurs une image détaillée et riche en contexte de l’incident, avec des informations approfondies au niveau du code. Cela permet de gagner du temps, en perdant moins de temps avec le débogage, pour remettre en route plus rapidement qu’auparavant l’application ou le service. En plus des environnements de production, cette fonctionnalité est particulièrement indiquée lors des tests - afin d’aider les entreprises à comprendre pourquoi un test particulier a échoué. La start-up entend également renforcer l’automatisation avec une approche à deux volets. “ Premièrement, nous voulons que votre application soit plus indépendante et capable de générer automatiquement des instantanés en sept points. D’autre part, nous pensons qu’il y a beaucoup d’informations pour le client ou l’écosystème dans son ensemble, qu’il s’agisse d’un autre outil d’observabilité, d’un autre système de soutien, de tout ce qui se trouve autour de l’application et qui pourrait être intéressant pour les personnes qui cherchent à savoir si c’est le bon moment ou le bon endroit pour prendre des snapshots. Dans le courant de l’année, l’un de nos principaux objectifs est de créer une plateforme beaucoup plus performante pour intégrer le système et permettre à d’autres fournisseurs et partenaires, ainsi qu’aux clients eux-mêmes de spécifier et de connecter la capacité d’instrumentation dynamique d’interconnexion avec leurs propres idées sur ce qui devrait être connecté. C’est quelque chose qui arrivera dans le courant de l’année ”, nous a assuré le CEO. “ Cela fera passer la plateforme de courtage d’un statut passif à un statut actif grâce aux intégrations API et aux capacités de notre back-end pour leur permettre d’obtenir les données dont ils ont besoin. En plus de la possibilité de poser des questions et d’obtenir des réponses à la demande”.  

Une centaine de clients

Installés en Israël et aux États-Unis, Rookout emploie aujourd’hui une quarantaine de personnes selon son CEO, et compte déjà une centaine de clients dont les banques JP Morgan et Sandander, les fournisseurs Salesforce, Mobileyes ou encore Backblaze. Proposé sur les principales places de marché des opérateurs cloud, Rookout ne travaille pas en open source, mais propose plusieurs types de licences dont une version d’évaluation - fonctionnelle, mais limitée dans le temps - téléchargeable sur son site.