1 points par GN⁺ 2024-02-14 | 1 commentaires | Partager sur WhatsApp

Le parcours singulier d'une startup raconté par son CEO

  • Il est inhabituel qu'une startup fonctionne discrètement pendant 5 ans.
  • Nous voulions créer un produit remarquable avant de nous dévoiler au grand public, et pendant ce processus nous avons recruté d'excellents talents, trouvé des premiers clients et collaboré avec des investisseurs.
  • Ce n'est pas une méthode naturelle pour une startup, mais cela nous a permis de construire énormément de choses.

Pourquoi nous avons créé cela

  • Antithesis s'inscrit dans le prolongement de l'histoire commencée avec notre précédente entreprise, FoundationDB.
  • Nous voulions créer une base de données distribuée scalable et résiliente aux pannes, mais le plus difficile était de la tester et d'avoir la certitude de sa correction.
  • Le problème fondamental du développement logiciel est que les développeurs doivent gérer des situations qu'ils n'avaient pas anticipées.

Ce que nous avons construit

  • Avant même d'écrire la base de données, nous avons d'abord créé une simulation réseau entièrement déterministe, pilotée par événements.
  • Avec ce système, lorsqu'un bug est détecté, il peut être rejoué avec la même graine aléatoire afin d'en suivre précisément la trace.
  • FoundationDB est une base de données presque exempte de bugs, avec très peu de bugs signalés par les clients.

Ce que nous avons construit

  • Nous avons écrit un hyperviseur pour rendre déterministe n'importe quel logiciel.
  • Cette plateforme peut détecter les bugs d'un logiciel et les reproduire parfaitement.
  • Aujourd'hui, nous nous concentrons sur les tests de fiabilité et de tolérance aux pannes des systèmes distribués.

Contact ?

  • Nous souhaitons échanger avec des organisations qui accordent de l'importance à la fiabilité des systèmes distribués et à la productivité de l'ingénierie.
  • Si vous avez des questions ou des commentaires, vous pouvez nous contacter via TwitterX ou à contact@antithesis.com.

L'avis de GN⁺

  • Le point le plus important de cet article est qu'une méthode de test déterministe permet de créer des logiciels presque parfaits. Cela peut grandement aider à maximiser la productivité des équipes d'ingénierie et à réduire le temps nécessaire pour découvrir les bugs.
  • La plateforme proposée par Antithesis a le potentiel de changer le paradigme du développement logiciel, ce qui pourrait avoir un impact majeur sur la communauté de l'ingénierie.
  • Cet article présente une approche innovante pour dépasser les limites des tests logiciels, et il offre des informations très intéressantes et utiles aux personnes qui travaillent dans le domaine technologique.

1 commentaires

 
GN⁺ 2024-02-14
Discussion Hacker News
  • La productivité de l’équipe d’ingénierie a été multipliée par 50

    • J’ai l’impression que l’idée du « développeur 10x » a fini par désigner quelqu’un qui travaille 6,5 jours par semaine, 15 heures par jour.
    • La vraie productivité 10x (ou 50x) vient de personnes qui réalisent ce qu’on pensait impossible et livrent des logiciels bien plus vite.
  • C’est la meilleure introduction que j’aie lue

    • Elle explique très bien les bases sur les gens et ce qu’ils ont construit.
    • Elle montre que ce qu’ils construisent aujourd’hui est le résultat de ce qu’ils ont construit auparavant.
    • Elle mentionne aussi les équipes qui l’utilisent déjà (avec des systèmes connus et complexes).
    • Le tout est présenté dans une écriture de qualité, séduisante pour les développeurs/fondateurs. La landing page est excellente aussi.
  • C’est une excellente proposition, mais dire « nous avons trouvé tous les bugs » ne peut être vrai que si la définition de bug est très étroite

    • Les bugs les plus difficiles sont liés à la logique métier de l’application.
    • Le problème, c’est de déterminer dès le départ ce qui est « correct ».
    • Construire des logiciels dans le monde réel et imaginer un état sans bug, ce n’est pas la même chose.
  • Une plateforme pour trouver des bugs dans les logiciels

    • En pratique, cela ressemble plutôt à un service cloud qui exécute des tests d’intégration.
    • Il faut trouver comment déployer dans un environnement particulier et écrire les tests d’intégration avec une bibliothèque spéciale.
    • Je me demande en quoi cela aidera à trouver des bugs qu’on peut déjà détecter avec son propre environnement et ses tests d’intégration.
  • Réflexion sur le nom

    • Je me demande si c’est simplement une variation du mot « Hypothesis », ou s’il y a un jeu de sens plus malin pour désigner l’opposé du property-based testing.
  • Intérêt pour ce domaine

    • Le guide de simulation sled m’a permis de comprendre ce que fait FoundationDB.
    • Avec madsim, on écrit des services en style async/await, puis dans les tests on remplace tous les éléments non déterministes par un exécuteur déterministe.
    • Ce type de test est un outil extrêmement puissant.
  • L’écriture est vraiment un plaisir

    • Une expérience de programmation comme si l’on était entouré d’un bouclier de puissance empêchant tous les mauvais coups.
    • Suppression de toutes les dépendances et écriture très rapide de sa propre implémentation de Paxos. Aucun bug.
  • N’est-ce pas carrément le Saint Graal ?

    • On utilise l’application existante telle quelle et on ne vérifie que les propriétés.
    • Les CPU et systèmes d’exploitation non déterministes ont toujours été un obstacle.
    • Comme il est presque impossible de reconstruire toute la pile verticale de calcul, ils contournent le problème en construisant un simulateur déterministe à haute résolution.
  • Rencontre avec Antithesis à Strange Loop

    • Le produit est largement en avance sur l’état de l’art de l’injection automatique de fautes que je suivais quand je travaillais chez Amazon.
    • J’ai suivi leur processus de traçage d’un bug découvert dans le streaming Apache Spark.
    • J’ai du mal à imaginer à quel point un outil comme Antithesis peut être important dans une entreprise qui construit des systèmes distribués.
  • Trois réflexions

    • Une excellente idée arrivée au bon moment.
    • Cela vise un marché de niche.
    • Éloges pour la qualité de l’écriture et de la documentation.