Beim Aufbau eines neuen Produkts stehen Sie plötzlich vor unzähligen Herausforderungen und Entscheidungen. Leider gibt es kein Patentrezept, um die richtigen Entscheidungen zu treffen, egal ob Sie gerade erst anfangen oder ein erfahrener Unternehmer sind. Nachdem wir diesen Weg als Team schon mehrere Male gegangen sind, verstehen wir die Aufregung und Sorge, die er mit sich bringen kann.
Wir sind ein kleines Team, das kürzlich Globalping gestartet hat, eine globale Netzwerktestplattform. Das Besondere an diesem Projekt ist, dass es unser zweiter Anlauf ist, nachdem ein Startup mit einer ähnlichen Produktidee nicht das gewünschte Ergebnis erzielt hat. Mit Globalping verfolgen wir einen anderen Ansatz, um unsere Ziele und Vision für das Produkt zu erreichen.
In diesem Blogbeitrag teile ich Einblicke und Erkenntnisse aus unseren Erfahrungen mit dem Startup und wie sie unseren Ansatz bei Globalping beeinflussen. Insbesondere werde ich darüber schreiben, warum wir eine JavaScript-basierte Open-Source-Plattform entwickelt haben und wie diese Entscheidungen das Projekt verändert haben.
Gehen wir ein paar Jahre zurück, als wir ein Startup namens PerfOps gründeten. Die Idee bestand darin, eine B2B-SaaS-Plattform zur Optimierung internetbasierter Anwendungen aufzubauen. Es nutzte RUM-Daten (Real User Monitoring), um Leistungskennzahlen zu CDN-Anbietern zu sammeln und die Multi-CDN-Lastenausgleichsfunktionalität zu ermöglichen.
Als Bonus konnten Benutzer auch Netzwerkmessanfragen wie Traceroute und Dig von verschiedenen Standorten weltweit ausführen.
Wie viele Startups brauchten wir eine Finanzierung. Das Glück war auf unserer Seite, als wir VC-Unterstützung erhielten, die es uns ermöglichte, ein Team aufzubauen und Hunderte von VMs (virtuellen Maschinen) zu mieten, um ein globales Netzwerk für On-Demand-Netzwerktests aufzubauen. Dadurch könnten wir neue Technologien entwickeln, um Milliarden von RUM-Datenpunkten zu analysieren und sie für den DNS-basierten Lastausgleich in Echtzeit zu nutzen.
Obwohl dieses Unterfangen nicht wie geplant geklappt hat, waren die gewonnenen Erfahrungen von unschätzbarem Wert und prägen den heutigen Weg von Globalping.
Einige Erkenntnisse:
Aber selbst nach dem unglücklichen Schicksal des Startups erkannten wir immer noch das Potenzial und den Bedarf an genauen, offenen und zuverlässigen Netzwerktests und Leistungsüberwachung. Und so wurde Globalping geboren, eine zweite Chance, Dinge anders zu machen und aus Erfahrungen zu schöpfen, um einen besseren Service für unsere Benutzer und uns selbst zu schaffen. Lassen Sie uns nun mit Ihnen teilen, wie wir das machen.
Wir glauben, dass es eine natürliche Entwicklung war, Globalping zu einem Open-Source-Projekt zu machen. Ausnahmsweise kennen wir das Konzept bereits. Wir betreiben jsDelivr seit etwa 10 Jahren, einen kostenlosen Open-Source-Multi-CDN-Dienst, der mehr als 230 Milliarden monatliche Anfragen bearbeitet.
Wir kannten also bereits die Vor- und Nachteile von Open Source und wussten, was zu tun und was zu vermeiden ist. Je mehr wir darüber nachdachten, desto klarer wurde, dass Globalping Open Source sein musste.
Die Hauptgründe, Globalping Open Source zu machen, waren:
Natürlich hat Open Source auch seine Herausforderungen. Für die Produktentwicklung sind Entwickler, Designer, Vermarkter und Experten für Entwicklerbeziehungen erforderlich. Und obwohl wir von Tech-Experten aus unserer Community unterstützt werden, arbeiten wir immer noch mit einem Kernteam zusammen, das für seine Arbeit entlohnt wird.
Anstatt uns auf VC-Finanzierung zu verlassen, bauen wir jetzt Partnerschaften mit gleichgesinnten Unternehmen auf und suchen Unterstützung von GitHub-Sponsoren, deren Spenden uns am Laufen halten.
Die nächste wichtige Entscheidung war die Technologie, mit der wir Globalping aufbauen wollten. Wir haben uns selbstbewusst für JavaScript entschieden und uns dabei auf unsere Erfahrung im Betrieb großer Echtzeit-JavaScript-Apps verlassen.
Die Vorteile unserer Vertrautheit mit der Sprache haben sich bereits ausgezahlt, sodass wir neue Funktionen schneller entwickeln und Fehler einfacher finden und beheben können als mit weniger vertrauten Sprachen.
Darüber hinaus war JavaScript aufgrund seiner Beliebtheit bei App- und Webentwicklern weltweit eine offensichtliche Wahl für uns. Die Sprache verfügt über ein reichhaltiges und robustes Ökosystem an Tools, Bibliotheken und Paketen, die auf unsere Entwicklungsziele abgestimmt sind. Durch die Nutzung anderer Open-Source-Projekte können wir das Wissen und die Bemühungen der Community nutzen und vermeiden, das Rad neu erfinden zu müssen.
Da JavaScript selbst über eine große Community verfügt, gibt es viele potenzielle Mitwirkende an Globalping. Und da JavaScript-Code größtenteils einfach zu lesen ist, ist es für Neulinge einfacher, sich im Quellcode zurechtzufinden und ihn zu verstehen.
Dadurch können Entwickler schneller Beiträge leisten, was die Motivation hochhält und das Projekt vorantreibt.
Während unser Kernteam kontinuierlich an Globalping arbeitet, freuen wir uns über jeden Beitrag zur Plattform. Durch die Wahl von JavaScript können wir eine offene und kollaborative Umgebung aufrechterhalten, die jeden einlädt, der daran interessiert ist, Globalping zu einer hilfreichen und benutzerfreundlichen Netzwerktestplattform zu machen.
Abschließend möchten wir Ihnen die Globalping-Plattform kurz vorstellen und hoffentlich Ihre Neugier wecken, sie auszuprobieren, um die Fehlerbehebung und Netzwerktests in Ihren Teams zu verbessern!
Erhalten Sie schnellen Zugriff auf Messergebnisse: Wir haben verschiedene Integrationen entwickelt, um den Bedürfnissen verschiedener Benutzer gerecht zu werden, egal ob Netzwerkprofis oder Neulinge. Wenn Sie sich mit Ihrem Terminal am wohlsten fühlen, nutzen Sie unser CLI-Tool . Unser GitHub-Bot und die Slack-App sind großartige Helfer für Teams, die gemeinsam an Netzwerkproblemen arbeiten.
Schließlich können Sie Globalping auch in einer einfachen und benutzerfreundlichen grafischen Oberfläche auf unserer Website verwenden, um Tests durchzuführen, wenn Sie beispielsweise keinen Zugriff auf Ihr übliches Setup haben.
Schreiben Sie Befehle konsistent über alle Integrationen hinweg: Da wir nicht möchten, dass Sie bei jedem Integrationswechsel alles von Grund auf neu lernen, haben wir eine einheitliche Befehlsstruktur implementiert. Im Allgemeinen folgen alle Globalping-Befehle demselben Format:
globalping [command type] [target] from [location] [flags]
Um beispielsweise von Wien und Berlin aus mit zwei Sonden (definiert mit dem Limit-Flag) einen Ping-Befehl an jsdelivr.com auszuführen, schreiben Sie den folgenden Befehl:
globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2
Und so könnte das Ergebnis aussehen:
Erstellen Sie Ihre eigenen Tools mit unserer API: Möchten Sie Ihr eigenes Tool mithilfe der Globalping-Plattform erstellen? Kein Problem – Sie können unsere REST-API (mit großzügigen Einschränkungen) verwenden, um zu erstellen, was Sie wollen!
Werden Sie Teil des Netzwerks: Globalping setzt auf ein weltweit verteiltes Sondennetzwerk, das von unserer Community betrieben wird. Wir freuen uns über jeden, der zu Hause, im Büro oder auf einem Server eine Sonde in Docker einrichtet , um allen Benutzern kostenlos zuverlässige Ergebnisse zu liefern.
Heute freuen wir uns zu sehen, wie sich Globalping weiterentwickelt und wächst, geprägt von unseren Erfahrungen und Erkenntnissen aus der Vergangenheit. Wir hoffen, dass Globalping irgendwann zur Anlaufstelle für alles wird, was mit Internetleistung, Latenz und Betriebszeit zu tun hat.
Wir werden die Funktionen weiter verfeinern und ein großartiges Benutzererlebnis bieten, damit jeder Interessierte die Plattform nutzen kann.