1 Punkte von GN⁺ 2024-02-14 | 1 Kommentare | Auf WhatsApp teilen

Die ungewöhnliche Reise eines Startups aus Sicht des CEO

  • Dass ein Startup fünf Jahre lang im Verborgenen operiert, ist ungewöhnlich.
  • Man wollte vor dem öffentlichen Start ein erstaunliches Produkt bauen und hat dabei großartige Talente eingestellt, erste Kunden gefunden und mit Investoren zusammengearbeitet.
  • Für ein Startup ist das kein natürlicher Weg, aber dadurch konnte man viel aufbauen.

Warum wir das gebaut haben

  • Antithesis ist die Fortsetzung einer Geschichte, die bei einem früheren Unternehmen namens FoundationDB begann.
  • Man wollte eine skalierbare und ausfallsichere verteilte Datenbank bauen, doch die größte Herausforderung war, sie zu testen und von ihrer Korrektheit überzeugt zu sein.
  • Das grundlegende Problem der Softwareentwicklung besteht darin, dass Entwickler mit Situationen umgehen müssen, die sie nicht vorhergesehen haben.

Was wir gebaut haben

  • Bevor man die Datenbank schrieb, entwickelte man zunächst eine vollständig deterministische, ereignisgesteuerte Netzwerksimulation.
  • Mit diesem System lassen sich gefundene Bugs mit demselben Zufalls-Seed erneut ausführen und so nachverfolgen.
  • FoundationDB ist eine nahezu fehlerfreie Datenbank, bei der von Kunden nur sehr wenige Bugs gemeldet wurden.

Was wir gebaut haben

  • Um beliebige Software deterministisch zu machen, wurde ein Hypervisor geschrieben.
  • Diese Plattform kann Bugs in Software aufspüren und vollständig reproduzieren.
  • Derzeit liegt der Fokus auf Tests der Zuverlässigkeit und Fehlertoleranz verteilter Systeme.

Kontakt?

  • Man möchte mit Organisationen sprechen, denen die Zuverlässigkeit verteilter Systeme und die Produktivität ihrer Engineering-Teams wichtig sind.
  • Bei Fragen oder Kommentaren kann man sich über TwitterX oder contact@antithesis.com melden.

Meinung von GN⁺

  • Der wichtigste Punkt dieses Artikels ist, dass sich mit deterministischen Testmethoden nahezu perfekte Software erstellen lässt. Das hilft erheblich dabei, die Produktivität von Engineering-Teams zu maximieren und die Zeit bis zur Fehlerfindung zu verkürzen.
  • Die von Antithesis angebotene Plattform hat das Potenzial, das Paradigma der Softwareentwicklung zu verändern, und könnte großen Einfluss auf die Engineering-Community haben.
  • Der Artikel präsentiert einen innovativen Ansatz, um die Grenzen des Software-Testings zu überwinden, und bietet damit für Menschen im Technologiebereich sehr interessante und nützliche Informationen.

1 Kommentare

 
GN⁺ 2024-02-14
Hacker-News-Kommentare
  • Die Produktivität des Engineering-Teams ist um das 50-Fache gestiegen

    • Es fühlt sich so an, als sei das Konzept des „10x-Entwicklers“ zu jemandem pervertiert worden, der 6,5 Tage pro Woche und 15 Stunden pro Tag arbeitet.
    • Echte 10x- (oder 50x-)Produktivität kommt von Menschen, die möglich machen, was für unmöglich gehalten wurde, und dadurch Software viel schneller ausliefern.
  • Das ist die beste Einführung, die ich je gelesen habe

    • Sie erklärt die Grundlagen über die Menschen und das, was sie gebaut haben, sehr gut.
    • Sie erklärt, dass das, was sie heute bauen, das Ergebnis dessen ist, was sie zuvor gebaut haben.
    • Sie erwähnt auch Teams, die es bereits einsetzen (mit bekannten und komplexen Systemen).
    • Verpackt in gutes Schreiben, das Entwickler/Gründer anspricht. Auch die Landingpage ist hervorragend.
  • Das ist ein großartiges Versprechen, aber die Aussage „wir haben alle Bugs gefunden“ kann nur dann stimmen, wenn die Definition von Bugs sehr eng ist

    • Die schwierigsten Bugs betreffen die Business-Logik der Anwendung.
    • Es geht darum, von Anfang an herauszufinden, was „richtig“ überhaupt ist.
    • Es ist etwas anderes, in der realen Welt Software zu bauen, als sich einen bugfreien Zustand vorzustellen.
  • Eine Plattform zum Finden von Bugs in Software

    • In Wirklichkeit wirkt es wie ein Cloud-Service, der Integrationstests ausführt.
    • Man muss herausfinden, wie man in eine spezielle Umgebung deployt, und Integrationstests mit einer speziellen Bibliothek schreiben.
    • Ich frage mich, wie das dabei helfen soll, Bugs zu finden, die man nicht bereits mit der eigenen Umgebung und Integrationstests finden kann.
  • Überlegungen zum Namen

    • Ich frage mich, ob es einfach nur eine Abwandlung des Wortes „Hypothesis“ ist oder ob dahinter eine clevere Bedeutung als Gegenteil von eigenschaftsbasiertem Testen steckt.
  • Interesse an diesem Bereich

    • Durch den sled-Simulationsleitfaden habe ich verstanden, was FoundationDB macht.
    • Mit madsim schreibt man Services im Async/Await-Stil und ersetzt in Tests alle nichtdeterministischen Elemente durch einen deterministischen Executor, der sie patcht.
    • Solche Tests sind ein sehr mächtiges Werkzeug.
  • Das Schreiben macht wirklich Freude

    • Eine Programmiererfahrung, als wäre man von einem Schild aus Macht umgeben, das jedes Übel abwehrt.
    • Alle Abhängigkeiten gelöscht und sehr schnell eine eigene Paxos-Implementierung geschrieben. Keine Bugs.
  • Ist das nicht geradezu der heilige Gral?

    • Man verwendet bestehende Anwendungen unverändert weiter und überprüft nur die Eigenschaften.
    • Nichtdeterministische CPUs und Betriebssysteme waren immer ein Hindernis.
    • Da es fast unmöglich ist, den gesamten vertikalen Computing-Stack neu aufzubauen, umgeht man das Problem mit einem hochauflösenden deterministischen Simulator.
  • Antithesis auf der Strangeloop getroffen

    • Gegenüber dem Stand der automatischen Fehlerinjektion, den ich bei Amazon genutzt habe, liegt das Produkt deutlich vorn.
    • Den Prozess zur Nachverfolgung eines in Apache Spark Streaming gefundenen Bugs verfolgt.
    • Ich kann kaum überschätzen, wie wichtig ein Tool wie Antithesis in einem Unternehmen wäre, das verteilte Systeme baut.
  • Drei Gedanken

    • Eine großartige Idee, die zum richtigen Zeitpunkt kommt.
    • Zielt auf einen Nischenmarkt.
    • Lob für die hochwertige Schreibe und Dokumentation.