paint-brush
Die Macht von Open Source und JavaScript: Die Reise des Globalpingvon@globalping
132 Lesungen

Die Macht von Open Source und JavaScript: Die Reise des Globalping

von Globalping7m2023/10/05
Read on Terminal Reader

Zu lang; Lesen

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.
featured image - Die Macht von Open Source und JavaScript: Die Reise des Globalping
Globalping HackerNoon profile picture

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.

Reflektieren und lernen: Aus vergangenen Erfahrungen wachsen

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:

  • Druck dämpft Leidenschaft : VC-Investitionen drängten uns dazu, das Tempo und die Prioritäten unserer Arbeit zu ändern. Als wir uns darauf konzentrierten, die Kriterien zu erfüllen, um die nächste Finanzierungsrunde zu sichern, und unsere Prioritäten von kleinen Unternehmen und Einzelbenutzern auf größere Unternehmen verlagerten, spürten wir, wie die Freude und der Enthusiasmus für unsere Idee nachließen.


  • Bauen für Benutzer : Die Entwicklung des Produkts, um die Erwartungen der Anleger zu erfüllen, entsprach oft nicht unserer Vision, das zu entwickeln, was unsere Benutzer brauchten. Es ist wichtig, sich auf die Wünsche und Bedürfnisse der Benutzer zu konzentrieren, solange man die Branche und den Markt versteht. Unsere Investoren hatten damit keine Erfahrung und drängten darauf, verschiedene Kennzahlen und Prioritäten zu verbessern, die nicht kompatibel waren.


  • RUM-Daten sind unzuverlässig . Obwohl sie in großen Mengen nützlich waren, stellte sich schnell heraus, dass die meisten RUM-Daten (Real User Monitoring) problematisch und nicht ideal für die Fehlerbehebung bei Netzwerkproblemen waren. Man konnte nie wissen, ob das Problem beim CDN oder beim Client lag, der den Test ausführte. Außerdem sind RUM-Daten nicht reproduzierbar. Sobald ein Test ausgeführt wurde, gibt es keine Möglichkeit, ihn am selben Ort erneut auszuführen, um die Auswirkungen Ihrer Änderungen zu bewerten.


  • Blackboxen helfen nicht . Als von VC unterstütztes Unternehmen mussten wir den gesamten Code und die Daten geheim halten und vor der Öffentlichkeit verbergen. Unsere Nutzer konnten die Authentizität und Richtigkeit der ihnen angezeigten Daten nie überprüfen. Darüber hinaus könnte jeder behaupten, wir hätten die Leistungsrankings manuell zugunsten gut zahlender Kunden geändert, ohne das Gegenteil beweisen zu können.


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.

Open-Source nutzen und Benutzer an die erste Stelle setzen

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:

  • Nutzung der Community : Die meisten Menschen, die zum Projekt beitragen, nutzen es auch. Sie helfen also dabei, ihr eigenes Tool zu entwickeln und die gewünschten Funktionen zu erhalten, indem sie ihre Fähigkeiten einbringen oder einfach Feedback geben. Außerdem wächst Globalping mit seiner Community, denn anstatt VMs für den Aufbau des Testnetzwerks zu mieten, verlassen wir uns darauf, dass die Community Globalping-Proben in ihren Häusern und Büros hostet.


  • Verwendung von jsDelivr : Der Aufbau einer Community geschieht nicht über Nacht. Glücklicherweise haben wir bereits eine großartige Community, die unser anderes Projekt, jsDelivr, unterstützt. Aufgrund der technischen Überschneidungen können viele bestehende Benutzer und Unterstützer Globalping beitreten: jsDelivr bietet eine global verteilte Infrastruktur, und Globalping ist eine Möglichkeit, solche globalen Systeme zu überwachen, zu testen, zu debuggen und zu vergleichen.


  • Bauen für alle : Nachdem der Wachstums- und Gewinndruck nachgelassen hat, können wir uns nun auf den Aufbau einer Plattform konzentrieren, die für alle zugänglich ist. Die Plattform ist kostenlos, mit großzügigen Limits und bietet allen die gleichen Funktionen, egal ob es sich um ein großes Unternehmen oder einen Studenten handelt, der gerade erst lernt, wie das Internet funktioniert.


  • Transparenz : Open Source macht unsere Arbeit transparent und für alle sichtbar. Jeder kann unseren Code und unsere Logik überprüfen, sei es unsere Sonden oder die Kern-API. Dies hilft uns, unsere Sicherheits- und Datenschutzansprüche zu überprüfen und den Benutzern zu versichern, dass wir fair sind und keine Bewertungen verkaufen oder voreingenommene Algorithmen zur Berechnung der CDN-Leistung verwenden. Außerdem kann jede Person oder Firma, die ein Problem mit dem Code oder der Funktionalität feststellt, einen Patch einreichen und darum bitten, ihr Update oder ihren Fix hinzuzufügen.


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.

Auswahl von JavaScript zur Entwicklung von Globalping

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.

Nutzen Sie Globalping selbst oder in Ihrem Team

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:

Pingen Sie mit Globalping von überall auf der Welt


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.

Blick nach vorn: Gemeinsam Globalisierung aufbauen

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.