Interview de Melvyn Peignon, Product Manager chez ClickHouse

Date : juin 2024, par Nicolas Chollet. Invité Melvyn Peignon
J’ai eu le plaisir d’interviewer Romain Baert, Melvyn Peignon, Product Manager chez ClickHouse.
ClickHouse est une solution de datawarehouse qui existe en version open source ou cloud (managed). C’est une alternative prometteuse à des outils comme Snowflake, AWS Redshift ou encore Google Big Query.
Voici les sujets que nous avons abordé :
  • Partie 1 - Introduction et présentation de clickHouse
  • Partie 2 - Démonstration de ClickHouse
  • Partie 3 - le parcours de Melvyn, la vie chez Clickhouse etc..

Introduction et présentation de clickHouse

Nicolas Chollet
Bonjour à tous, je suis Nicolas Chollet, je suis le fondateur de UnNest, qui est une société de conseil en data marketing. Aujourd'hui, j'ai la chance de recevoir Melvyn Peignon. Melvyn, je te laisse te présenter.
Melvyn Peignon
Bonjour, je m'appelle Melvyn, je suis Product Manager à Clickhouse depuis maintenant deux ans et demi. Ravi de te parler, Nicolas.
Nicolas Chollet
Aujourd'hui, nous allons aborder plusieurs sujets. Melvyn va parler de Clickhouse, ce que c'est, à quoi ça sert, qui l'utilise, etc. Ensuite, on parlera du parcours de Melvyn, de son travail, et du fonctionnement d'une entreprise comme Clickhouse, un logiciel américain distribué mondialement.
Mais d'abord, Melvyn, est-ce que tu peux nous expliquer ce qu'est Clickhouse, ce que ça fait, etc. ?
Melvyn Peignon
Clickhouse, pour résumer, est une base de données. Il y en a des centaines, peut-être des milliers aujourd'hui. Quelle est la différenciation de Clickhouse par rapport à Oracle ou d'autres bases de données ? Clickhouse est spécialisée pour les charges analytiques, pour les requêtes analytiques.
Initialement, Clickhouse a été développé pour répondre à des problèmes de web analytique. On voulait savoir d'où viennent nos utilisateurs, quelles sont leurs sources d'origine du trafic. Clickhouse a été développé pour ce cas d'usage en 2009, et a été continuellement développé jusqu'en 2016, où nous avons décidé de rendre le projet open source sous une licence Apache 2.1.
À ce moment-là, il a été adopté par la communauté car il y avait très peu de bases de données analytiques disponibles en open source.
Melvyn Peignon
En 2021, nous avons créé une entreprise autour de Clickhouse, recruté l'équipe de développement initiale, et combiné nos forces avec des anciens employés ayant une expérience de vente de logiciels.
Nous avons développé une solution cloud où les gens peuvent utiliser Clickhouse pour faire de l'analytique directement dans le cloud, sans avoir à déployer et maintenir la version open source de Clickhouse.
Nous nous positionnons sur les mêmes segments que BigQuery, Snowflake et Redshift, mais Clickhouse est spécialisé dans les charges de travail analytiques et en temps réel, avec des latences de requêtes très faibles et la capacité à gérer de très grands volumes de données.
Aujourd'hui, nos clients utilisent Clickhouse pour générer des dashboards en temps réel, par exemple pour surveiller le cours des actions ou des cryptomonnaies.
Nicolas Chollet
Ok, et quand tu dis « faible latence », c'est en écriture ou en lecture ? Tu parles plutôt de la lecture j’imagine.
Melvyn Peignon
Principalement de la lecture. L'avantage de Clickhouse par rapport à Snowflake, par exemple, c'est que Clickhouse peut faire des Materialized Views en temps réel, alors que Snowflake le fait avec un petit délai pour regrouper les données et faire du batch processing.
Clickhouse le fait au moment de l'insertion, donc c'est à la fois en écriture et en lecture.
Nicolas Chollet
Donc les cas d'usage sont pour ceux qui ont énormément de logs de données. Ça peut être, par exemple, dans la telco avec tous les appels téléphoniques, dans la finance avec toutes les transactions. Et c'est utilisé pour du dashboarding, c'est ça ?
Melvyn Peignon
Exactement. Initialement, Clickhouse a été créé pour du Web Analytics, pour être compétitif avec Google Analytics. Quand il est devenu open source en 2016, la communauté a commencé à l'utiliser pour une variété de cas d'usage analytiques.
Par exemple, nos plus gros utilisateurs aujourd'hui sont des acteurs de l'observabilité comme Sentry, ou Netflix qui ingère jusqu'à 1.6 petabytes de données par jour pour faire du monitoring en temps réel.
Derrière ces charges de travail, il y a des dashboards pour surveiller les applications, les releases, les mises en production, etc. Clickhouse est utilisé aussi bien pour de gros volumes de données que pour des plus petits volumes.
Nicolas Chollet
Je m'intéressais à Clickhouse pour des questions de souveraineté des données, surtout pour ceux qui hésitent à confier leurs données à Google. Je voyais Clickhouse comme une alternative open source. Est-ce que c'est un argument pour vos clients aujourd'hui ?
Melvyn Peignon
On a trois types d'utilisateurs.
Les utilisateurs cloud natifs qui déploient directement leurs use cases dans le cloud. Les utilisateurs historiquement en self-managed, mais qui veulent évoluer vers une solution cloud. Et enfin, ceux qui ont des données très sensibles et doivent rester en self-managed on-premise.
Pour ces derniers, nous travaillons avec la distribution open source. Les clients peuvent migrer facilement entre le self-managed et le cloud, ce qui n'est pas toujours possible avec des solutions comme Snowflake, BigQuery ou Redshift qui nécessitent souvent une réimplémentation de la logique d'application lors d'une migration.
Melvyn Peignon
Par exemple, des entreprises comme Deutsche Bank utilisent Clickhouse pour certains scénarios dans le cloud et d'autres en self-managed. L'avantage de Clickhouse est de pouvoir offrir cette flexibilité et éviter le lock-in des solutions cloud propriétaires. C'est aussi un des grands avantages de notre modèle open source.

Partie 2 : démonstration de ClickHouse

Nicolas Chollet
Je t'avais demandé de préparer une démo, alors ce n'est jamais évident des démos de base de données, mais tu m'as dit que tu t'étais prêté au jeu, donc j'ai hâte de voir ça.
Melvyn Peignon
Ça, c'est notre service cloud. Dans notre service cloud, on va pouvoir créer ce qu'on appelle des services. Je vais vous montrer à peu près comment on peut créer un service. On peut choisir notre cloud provider : AWS, GCP ou Azure. Et dans ces cloud providers, vous allez pouvoir choisir votre région. Là, je vais prendre AWS pour l'exemple. Vous allez devoir donner un nom à votre service. Ici, on va l'appeler démo. Une fois que vous avez choisi votre service, vous pouvez créer un service. On va déployer un service dans le cloud que vous avez sélectionné. Je vais retourner sur la page d'accueil. C'est le nouveau service que je viens de créer. J'en ai déjà créé un pour préparer la démo.
Melvyn Peignon
Que j'ai appelé Unnest Demo. C'est un cluster Clickhouse composé de plusieurs nœuds qui sont distribués sur plusieurs zones de disponibilité pour garantir une haute disponibilité du service. Donc s'il y a un nœud qui tombe, le service reste actif. Ce que je vais faire, c'est qu'aujourd'hui, j'ai créé un topic Kafka qui va contenir des données dynamiques, des événements qui vont arriver dans mon topic Kafka, qui ne sont pas des vraies données, mais des données de simulation, et on va streamer ces données de notre topic Kafka vers Clickhouse et les analyser dans Grafana.
Nicolas Chollet
Donc ce serait peut-être bien de traduire un peu. Kafka, si je ne me trompe pas, c'est que tu écoutes des messages, et quand tu reçois un message, tu pousses les données dans ta base, c'est ça ?
Melvyn Peignon
Exactement. Clickhouse va récupérer les données dans ce topic Kafka, les stocker dans la base de données, et ensuite on va pouvoir les visualiser dans Grafana.
Nicolas Chollet
Donc c'est une manière d'ingérer de la donnée dans Clickhouse, en stream plutôt qu'en batch, par exemple ?
Melvyn Peignon
Exactement. C'est un modèle qu'on voit fréquemment chez nos utilisateurs. Ils utilisent une queue comme Kafka pour stocker leurs événements et avoir plusieurs consommateurs qui consomment ces données en fonction de leurs besoins. Ils peuvent les insérer dans leur base de données ou les envoyer dans une application pour les transformer et les stocker de manière permanente. C'est un modèle de données assez courant et intéressant à montrer.
Melvyn Peignon
La première chose qu'on va faire dans Clickhouse, c'est créer une data source qui va déployer une infrastructure dans notre cloud avec un consommateur pour le topic Kafka. Je vais commencer à créer ma data source. On a plusieurs data sources disponibles, comme Amazon S3. Ici, on va utiliser Confluent Cloud. Je vais donner un nom à mon intégration, l'appeler démo. Je vais entrer une API key que j'ai copiée. Je vais spécifier le endpoint de mon cluster Kafka. Je vais récupérer le endpoint et le mettre ici. Une fois configuré, je vais cliquer sur Incoming Data. Il va checker mon cluster Kafka et montrer les topiques disponibles. Ici, il y en a un seul, Simple Data. Il va me montrer des exemples de messages dans ce topic.
Melvyn Peignon
Je vais pouvoir parser les informations venant du topic Kafka, et Clickhouse va proposer un schéma de données pour ma table, avec deux options : créer une nouvelle table ou utiliser une table existante. Je choisis de créer une nouvelle table, appelée Sample Data. Ensuite, je spécifie une sorting key. C'est ce qui permet à Clickhouse de donner une faible latence en triant les données sur disque. Quand vous faites des queries SQL avec des conditions dans la clause WHERE, si ces conditions contiennent cette clé de tri, les données sont récupérées rapidement car elles sont déjà triées sur disque.
Nicolas Chollet
Je comprends bien, c'est un peu l'équivalent d'un index dans une base de données classique, mais sur la colonne de votre choix.
Melvyn Peignon
Exactement, ça peut être une colonne ou un ensemble de colonnes. On l'appelle l'index primaire, et il crée un index sparse, avec une entrée pour toutes les 8192 lignes. Ça permet de récupérer les granules rapidement. Je choisis ma clé de tri, par exemple item ID, et je vérifie que toutes les colonnes sont bien construites. Je corrige la colonne order time en dead time. Ensuite, je finalise la construction de ma table et donne des permissions à mon service Kafka. Le consommateur va commencer à consommer les données de mon topic Kafka. Cela prend quelques minutes pour déployer.
Melvyn Peignon
Pendant ce temps, on peut vérifier que les données sont bien stockées. Dans ma console SQL, je vais faire une query pour compter le nombre de données dans ma table. On a 13 371 événements stockés dans Clickhouse. On peut regarder les différents événements. Par exemple, l'item 1 est très fréquent. Je vais faire une query pour compter les items vendus, les grouper par item et les ordonner par count. On voit que les items 8, 9, 4, 5 sont très présents. On peut voir ça sur un graphique, avec item ID sur l'axe des X et count sur l'axe des Y. On limite à 20 pour voir les 20 produits les plus vendus. On voit un gros gap entre l'item 2 et l'item 89.
Melvyn Peignon
On peut ajouter d'autres informations à notre query, comme le sum de order unit. On peut l'ajouter sur le graphe. Cet outil de visualisation permet de faire de l'exploration. Maintenant, je vais m'intégrer avec les outils de visualisation que mon équipe utilise, comme Grafana.
Nicolas Chollet
Je t'interromps juste. La console SQL ressemble beaucoup à ce qu'on a dans BigQuery ou Snowflake. Tu peux parcourir tes tables, voir leur structure, faire des requêtes et voir les résultats. C'est utile pour l'analyse et l'exploration des datasets avant des cas d'usage plus industriels.
Melvyn Peignon
Exactement. C'est vraiment pour l'exploration. Pour des choses plus avancées, une base de données doit s'intégrer avec un maximum d'outils externes comme Grafana, Superset, etc. Pour Grafana, on peut créer des visualisations, choisir notre datasource configurée, mettre notre query, et générer des graphiques et dashboards.
Nicolas Chollet
Tu parlais de Grafana, Superset. Est-ce que pour de la BI plus traditionnelle, comme Tableau, Qlik, Power BI, il y a des connecteurs ?
Melvyn Peignon
Oui, on se connecte avec Tableau, Power BI, etc. On a une équipe spécialisée à Clickhouse qui maintient ces intégrations avec les outils de BI et de visualisation.
Melvyn Peignon
Voilà, c'était une petite démo pour montrer comment pipeliner des données vers Clickhouse et les visualiser dans Grafana.
Nicolas Chollet
Génial. J'ai une question. Les fournisseurs cloud mettent en avant l'intégration avec leur machine learning. Comment ça se passe pour des cas d'usage de machine learning avec Clickhouse ?
Melvyn Peignon
On a deux scénarios principaux pour le machine learning avec Clickhouse. Le premier, c'est le Vector Search. Clickhouse supporte les vecteurs et les fonctions de distance, avec des index HNSW pour des recherches approximatives rapides. OpenAI utilise Clickhouse pour stocker des millions de vecteurs et faire de la comparaison de vecteurs en temps réel. Ils feront un talk dans un de nos meet-ups à San Francisco.
Melvyn Peignon
Le deuxième scénario est l'utilisation de Clickhouse comme feature store. Beaucoup de compagnies poussent des publicités en fonction des dimensions utilisateur. Ils stockent les features dans Clickhouse et utilisent Clickhouse pour des jobs de machine learning en ligne et hors ligne. Ils construisent leurs algorithmes sur les features stockées dans Clickhouse.
Nicolas Chollet
Comment vous maintenez en parallèle la partie cloud et la partie open source ? C'est la même chose ou pas ?
Melvyn Peignon
C'est compliqué. Je suis product manager de la partie Clickhouse open source. On a deux distributions : une partie open source et une partie cloud non open source. La partie non open source est une branche de la partie open source. Les deux sont interchangeables, mais la partie non open source est conçue pour fonctionner nativement dans le cloud. Par exemple, on a des tables spéciales pour la séparation du compute et du storage. Les données sont stockées dans S3, Google Cloud Storage ou Azure Blob Storage, et les nodes compute stockent les métadonnées et scalent dynamiquement. La majorité des features de notre cloud viennent de l'open source.

Partie 3 : le parcours de Melvyn, la vie chez Clickhouse etc..

Nicolas Chollet (NC) : Ok, ça marche. J'aurais d'autres questions là-dessus, mais du coup, ça me fait quand même une bonne transition sur toi, ton job, et peut-être d'abord ton parcours. Tu me racontes comment t'es arrivé là, qu'est-ce que t'as fait avant et tout, qu'est-ce qui t'a amené chez Clickhouse ?
Melvyn Peignon (MP) : C'est assez intéressant parce que si tu m'avais posé la question il y a dix ans, je ne pense pas que je t'aurais dit que j'aurais fini Product Manager pour une boîte tech. Initialement, je voulais faire des mathématiques financières. J'ai fait une école d'ingénieur spécialisée en maths info. Une fois que j'ai eu mon diplôme d'ingénieur, j'ai voulu améliorer mes compétences en programmation. J'ai fait un master à l'étranger. Je suis parti un an et demi à Taïwan où j'ai fait une thèse de master en informatique. Pendant mes différents stages, j'avais beaucoup travaillé avec Elasticsearch. Pendant ma thèse, j'avais continué à utiliser Elasticsearch avec pas mal d'articles de blog.
MP : Quand j'ai eu mon diplôme, j'ai été contacté par une société qui s'appelle Elastic, qui a développé la stack ELK, Elasticsearch Kibana. Ils m'ont contacté pour savoir si j'étais intéressé pour travailler avec eux. Ils avaient plusieurs rôles, de consultant ou de formateur pour enseigner Elasticsearch aux entreprises ou à des utilisateurs. J'ai passé les entretiens et j'ai vraiment aimé la culture de l'entreprise. En parallèle, je passais toujours des entretiens avec des institutions financières comme JP Morgan et Goldman Sachs, et j'avais vraiment eu un meilleur contact humain avec les gens d'Elastic. Elastic est une société très humaine.
MP : J'ai été charmé par la culture d'entreprise, la motivation des gens, et je me suis dit que plutôt que de partir en finance, je vais partir dans la tech. J'ai commencé à voyager et à devenir expert sur la stack ELK, à faire des missions de consulting avec des clients un peu partout dans le monde. J'ai travaillé sur plusieurs scénarios, beaucoup avec Orange à l'époque, pour apprendre aux gens à utiliser Elasticsearch. Je suis resté chez Elasticsearch pendant 4 ans. À la fin de mon temps là-bas, nous avons fait une IPO entre-temps, et après ces 4 ans, j'ai été tech lead de toute la partie observabilité dans l'équipe service à Elastic, donc j'ai acquis une bonne connaissance du monde de l'observabilité.
MP : J'avais lu un article de blog de Uber qui parlait de comment ils avaient fait une migration d'Elasticsearch vers Clickhouse et des économies de TCO (Total Cost of Ownership) qu'ils avaient réalisées. C'était la première fois que j'entendais parler de Clickhouse et j'étais assez surpris de voir qu'une entreprise comme Uber utilisait une technologie dont je n'avais jamais entendu parler. J'ai commencé à regarder ce qu'était Clickhouse, à le tester avec différents scénarios, et j'ai été extrêmement surpris par l'efficacité de Clickhouse pour toute la partie analytique et le faible coût opérationnel. Venant d'Elasticsearch, je voyais que le TCO d'Elasticsearch était très élevé vu qu'il y a toute une infrastructure à maintenir, etc. La mémoire est très coûteuse avec Elasticsearch.
MP : Au fur et à mesure que je testais cette nouvelle technologie, qui était nouvelle pour moi mais pas vraiment nouvelle à l'époque, j'ai été charmé et j'ai décidé de rejoindre Clickhouse en 2021. J'ai rejoint Clickhouse initialement en tant que Worldwide Support Services Manager. Je gérais toute l'équipe support de Clickhouse. Initialement, j'étais tout seul, mais j'ai constitué une équipe. Maintenant, l'équipe doit être à peu près de 15 personnes. Nous avons créé une équipe pour aider à supporter nos clients. En parallèle, nous avons créé une offre cloud. Comme je travaillais énormément avec les clients et que j'avais beaucoup de retours sur le produit et que nous avions des difficultés à recruter un product manager pour la partie Clickhouse, l'équipe qui développe Clickhouse étant extrêmement technique, il était difficile de trouver un product manager avec un niveau de technicité élevé et une grande implication avec les clients.
MP : On m'a donc demandé si cela m'intéressait de rejoindre l'équipe produit et d'aider à définir la roadmap pour Clickhouse et travailler avec l'équipe d'ingénieurs qui développent Clickhouse. J'ai accepté, même si je n'avais jamais occupé un rôle de product manager auparavant. C'était vraiment une nouveauté pour moi, cela fait maintenant 8 mois que j'ai pris ces fonctions. Je suis maintenant le principal product manager de Clickhouse Core.
MP : Je travaille énormément avec l'équipe d'ingénieurs, basée principalement à Amsterdam, pour essayer de définir la roadmap, remonter les difficultés que les clients rencontrent avec notre produit, identifier les points de douleur et trouver comment les améliorer au fil du temps. C'est là que je passe la majorité de mon temps maintenant.
NC : Ok. Juste, tu as parlé de TCO, c'est Total Cost of Ownership, c'est ça?
MP : C'est ça. C'est le coût opérationnel incluant l'infrastructure, la maintenance opérationnelle, le nombre de personnes nécessaires pour une technologie en particulier, etc.
NC : Alors du coup, je vais revenir sur Elastic parce que c'est une boîte assez inspirante. Ils ont toujours beaucoup communiqué sur le remote. Moi, c'était une des premières grosses boîtes tech que j'ai vues faire du full remote, communiquer énormément là-dessus et tout. À une époque, je travaillais sur des moteurs de recherche, et donc j'étais un peu en contact avec eux, et j'ai toujours été hyper étonné de la vitesse à laquelle les gens répondaient. Tu envoyais un message LinkedIn à quelqu'un d'Elastic, tu avais une réponse dans l'heure en général, c'était toujours assez surprenant. La boîte a toute une communication autour de ça, autour de la culture d'entreprise et tout. Dans la réalité, c'était comment ? Comment ça se passait le travail ? Est-ce que t'es distribué ? Qu'est-ce que t'as appris de ça ?
MP : Je dirais que je fais partie d'une génération assez particulière, puisque je n'ai jamais travaillé dans une entreprise qui n'était pas remote. Elastic était ma première entreprise. Quand j'ai rejoint, ils m'ont demandé dans quel pays je voulais être. Je devais être en APJ (Asia Pacific Japan), spécialisé dans cette zone géographique vu que j'étais à Taïwan. J'ai pu choisir le pays en APJ dans lequel je voulais être localisé, j'ai choisi Hong Kong. Le temps qu'ils fassent tous mes papiers pour que je puisse être à Hong Kong, ils m'ont fait un contrat en France. Initialement, j'ai commencé en France, mais en parallèle, ils préparaient ma relocation vers Hong Kong.
NC : Donc, tu as des contrats locaux à chaque fois, ils essaient de faire des contrats locaux partout ?
MP : Quand je suis arrivé à Elastic, on devait déjà être 700 employés, donc il y avait déjà pas mal d'entités dans beaucoup de pays. Il fallait éviter le recrutement dans certains pays, et ensuite passer par des contrats de providers pour étendre la capacité de recruter dans certains pays. À Clickhouse, c'est assez similaire. Il y a beaucoup d'employés de Clickhouse qui viennent d'Elastic, comme moi-même, le chief revenue officer, le vice-président des ressources humaines, la VP des produits, etc. Ils recrutent vraiment dans n'importe quel pays. À Elastic, la culture d'entreprise distribuée était essentielle. Elastic avait aussi cette motivation de ne jamais faire en sorte que tu sois isolé. Il y avait beaucoup d'événements organisés tout au long de l'année, au moins un séminaire d'entreprise annuel dans un pays particulier où tout le monde se réunissait pendant une semaine.
NC : Donc les 1600 personnes de la boîte du monde entier venaient au même endroit pendant une semaine ?
MP : C'est ça. Initialement, on était 700 et puis à la fin, quand je suis parti, on devait être à peu près 2100 personnes. Je crois que le dernier séminaire que nous avons fait était à Orlando. Pendant une semaine, toute l'entreprise était à Orlando. Cela permet de créer une dynamique de groupe intéressante. Pendant cette semaine, il y a beaucoup de travail à faire. Les deux premiers jours, il y a des Global Sessions, des sessions pour toute l'entreprise, où l'on parle de la stratégie de l'entreprise, avec des résumés de la go-to-market stratégie faits par l'équipe sales et les dirigeants. Ensuite, il y a des breakout sessions, des sessions par équipe, avec un agenda préalablement défini, des présentations par différents membres, et des décisions à prendre pour chaque session. Ensuite, les deux derniers jours sont réservés pour l'engineering, avec des sessions deep dive, où les ingénieurs présentent des nouvelles fonctionnalités qu'ils développent. Cela permet aux precells, consultants, trainers, de participer à ces sessions et d'apprendre en profondeur comment fonctionne une fonctionnalité.
MP : Chez Clickhouse, nous avons vraiment la même culture d'entreprise. Nous essayons de faire au moins un séminaire d'entreprise par an, en plus des séminaires par équipe. Le prochain séminaire d'entreprise se tiendra à Singapour en octobre. En termes de contrats, Clickhouse a des entités dans quelques pays, comme les Pays-Bas et les États-Unis. Pour d'autres pays, comme la France, nous passons par un fournisseur qui s'appelle Deal, qui recrute des employés et les met à disposition de Clickhouse. Mon employeur direct n'est pas Clickhouse, mais Deal.
NC : Par rapport à la question de l'isolement, il y a le séminaire d'une semaine par an, mais le reste du temps, au quotidien, comment faites-vous en sorte que les gens aient l'impression d'appartenir à une équipe ?
MP : Toutes les deux semaines, nous avons un séminaire virtuel, avec un résumé de ce que font les différentes équipes. Il y a un résumé du board, du produit, de l'engineering, etc. C'est une session de deux heures disponible pour tout le monde. Ensuite, nous avons au moins une réunion d'équipe hebdomadaire. Pour mon équipe, par exemple, c'est toute l'équipe produit. Nous nous rencontrons tous les vendredis soir pour parler des décisions produites et des problèmes rencontrés pendant la semaine. Pour l'équipe leadership, nous avons une autre grosse réunion le lundi matin pour les États-Unis, qui dure deux heures et qui est vraiment pointilleuse sur les détails, comme les décisions de go-to-market, les clients sur lesquels nous devons travailler activement, etc.
NC : Et en termes d'outils, nous utilisons un outil qui s'appelle Gazer, une sorte de bureau virtuel, Slack pour la communication, et Notion pour la documentation et la gestion de projet. Quels sont vos outils pour travailler en remote ?
MP : Nous utilisons énormément Slack. C'est vraiment la base. Nous utilisons aussi beaucoup Google Meet. Chaque équipe a un "Always On", un Google Meet toujours allumé où les gens peuvent se joindre et avoir l'impression d'être au bureau. Pour la documentation, nous utilisons principalement Github, soit par issue, soit le wiki Github. Les gros sujets sont toujours discutés sur Slack et mis en meeting avant de prendre une décision importante. Nous avons aussi beaucoup d'autonomie pour les décisions moins importantes.
NC : Et si on parle un peu de la roadmap produit, les gros sujets sur lesquels vous travaillez actuellement ?
MP : Pour Clickhouse, nous cherchons toujours à améliorer la performance et rendre Clickhouse encore plus serverless. Un sujet sur lequel nous travaillons est les stateless workers, des nœuds qui n'ont pas besoin d'appartenir au cluster pour exécuter des queries ou des opérations de background. Par exemple, pour limiter le nombre de fichiers sur le file system, Clickhouse réécrit parfois les données dans des plus gros fichiers, ce qui consomme du CPU et de la mémoire. Idéalement, ces opérations seraient faites par des nœuds en dehors du cluster pour que les ressources du cluster soient allouées aux utilisateurs. Nous travaillons aussi sur la possibilité d'exécuter des queries par des stateless workers en dehors du cluster.
MP : Un autre projet est "Bring Your Own Cloud". Beaucoup de clients veulent avoir leurs données dans leur propre cloud, par exemple parce qu'ils ont un deal avec AWS qui leur donne des nœuds de compute ou du storage à prix réduit. Nous travaillons sur cette solution actuellement.
NC : Et en termes de répartition des équipes dans l'entreprise, combien êtes-vous aujourd'hui et comment sont répartis les rôles entre tech, produits, sales et relations clients ?
MP : L'équipe sales est très présente. Chez Clickhouse, chaque employé a soit une fonction de vente, soit de développement de produit. Les sales sont très impliqués dans nos réunions produits. Par exemple, nous organisons des sessions trimestrielles pour identifier les barrières à l'adoption de Clickhouse et aligner notre roadmap en conséquence. Les limitations soulevées par les équipes sales et support sont vraiment ce qui guide notre roadmap.
NC : Le support est donc inclus dans la fonction de vente ?
MP : Oui. Lorsque j'ai créé l'équipe support, nous étions vraiment en assistance à l'équipe sales, participant aux Proof of Concept (POC) et au cycle post-vente pour garder les clients satisfaits.
NC : Et le modèle économique, vous vendez du service et du logiciel ou uniquement du service cloud ?
MP : Nous considérons que le service est gratuit pour tous nos utilisateurs. Nous vendons le service cloud et les utilisateurs peuvent poser des questions et avoir accès au support. Lors de la qualification de la solution, nous accompagnons les clients avec les équipes sales, pre-sales et support.
NC : Et le point d'entrée en termes de prix de la solution cloud ?
MP : Nous avons deux dimensions pour le pricing : le compute et le storage. Par exemple, pour un service de production sur AWS, avec 5 To de données compressées, cela coûte environ 235 dollars par mois pour le storage. Le compute est calculé en fonction du temps d'utilisation des nœuds de compute. Par exemple, pour une instance avec 48 Go de mémoire allumée 8 heures par jour, cela coûte environ 374 dollars par mois. Clickhouse ajuste automatiquement les ressources en fonction de l'utilisation.
NC : J'imagine que vous avez des clients à 500 ou 1000 dollars par mois, mais que cela peut monter beaucoup plus avec de gros volumes.
MP : Oui, les cas d'utilisation d'observabilité, par exemple, nécessitent souvent des nœuds de compute actifs 24 heures sur 24, ce qui augmente les coûts. Pour les clients qui dépensent beaucoup, nous proposons des crédits cloud prépayés. Par exemple, un client peut acheter 200 000 dollars de crédits pour l'année, plutôt que de payer chaque mois.
NC : Concernant la levée de fonds, vous avez levé pas mal d'argent. Quel est l'impact au quotidien pour vous ?
MP : Lorsque nous avons créé l'entreprise en 2021, nous avions un modèle open source gratuit. Pour recruter des développeurs, nous avons dû lever des fonds. Nous avons commencé par une série A de 50 millions de dollars, puis une série B de 250 millions de dollars pour une valorisation de 2 milliards. Nous avions déjà une grande adoption de Clickhouse par de grands comptes comme Uber, Netflix, et Ctrip. Ces fonds nous ont permis de recruter une équipe et de passer de 20 à plus de 200 employés en deux ans, avec une croissance rapide.
NC : Qui sont les investisseurs ?
MP : Principalement Benchmark Capital et Index Ventures pour la série A, puis Altimeter, Redpoint et Lightspeed pour la série B. Lightspeed est un fonds créé par un ancien producteur d'Elastic.
NC : Et pour l'open source, est-ce toujours important pour vous ou est-ce que l'essentiel est désormais de vendre du cloud ?
MP : L'open source reste essentiel. Nous publions chaque année une roadmap open source. La majorité de nos utilisateurs viennent de l'open source, ce qui est un vecteur de commerce important pour nous. Sans l'open source, notre adoption serait bien moindre et nous n'aurions pas pu lever autant de fonds. C'est fondamental pour notre business model.
NC : Ok, top. J'ai fait le tour des questions que j'avais. Y a-t-il des sujets que nous n'avons pas abordés ou autre chose que vous voudriez dire pour conclure ?
MP : Nous avons fait un bon tour d'horizon. Peut-être parler un peu plus des cas d'application de Clickhouse. Initialement développé pour des charges analytiques, nous avons différentes verticales comme le marketing et les ventes avec des entreprises comme PostHog, l'e-commerce avec Inditex, Ebay, Walmart, l'observabilité avec Netflix, et des institutions financières comme Deutsche Bank et Nansen. Chaque verticale a des entreprises leaders qui utilisent Clickhouse de manière intensive.
NC : Ok. Y a-t-il beaucoup de Français chez Clickhouse ?
MP : Nous avons quelques Français. Le manager de l'équipe support en Europe est français, la directrice des ressources humaines est française, le product manager de la partie intégration est français, et nous avons récemment recruté un sales en France.
NC : Ok, top. Merci beaucoup, c'était hyper dense et intéressant. La première partie assez technique et ensuite sur la culture d'entreprise. Je trouve ça vraiment génial. Merci beaucoup, je vais essayer d'exploiter cette vidéo intelligemment et de la découper en petits morceaux pour les gens qui veulent la regarder en entier.
MP : Merci à toi de m'avoir donné la parole. Bonne fin de journée.