Lorsque vous créez un nouveau produit, vous êtes soudainement confronté à d’innombrables défis et décisions. Malheureusement, il n’existe pas de formule magique pour faire les bons choix, que l’on débute ou que l’on soit un entrepreneur chevronné. Après avoir parcouru ce chemin à plusieurs reprises en équipe, nous comprenons l’enthousiasme et l’inquiétude que cela peut susciter.
Nous sommes une petite équipe qui a récemment lancé Globalping , une plateforme mondiale de test de réseau. Ce projet est spécial car c'est notre deuxième tentative après qu'une startup avec une idée de produit similaire n'ait pas atteint le résultat souhaité. Avec Globalping, nous adoptons une approche différente pour atteindre nos objectifs et notre vision du produit.
Dans cet article de blog, je partagerai les idées et les enseignements tirés de nos expériences avec la startup et comment elles influencent notre approche chez Globalping. En particulier, j'écrirai sur les raisons pour lesquelles nous avons construit une plate-forme open source basée sur JavaScript et comment ces choix ont transformé le projet.
Revenons quelques années en arrière, lorsque nous avons fondé une startup appelée PerfOps. L'idée était de créer une plate-forme SaaS B2B pour optimiser les applications basées sur Internet. Il a utilisé les données RUM (Real User Monitoring) pour collecter des mesures de performances sur les fournisseurs CDN et activer la fonctionnalité d'équilibrage de charge multi-CDN.
En prime, il permettait également aux utilisateurs d'exécuter des requêtes de mesure de réseau telles que traceroute et de creuser depuis différents endroits dans le monde.
Comme beaucoup de startups, nous avions besoin de financement. La chance était de notre côté puisque nous avons reçu le soutien du capital-risque, ce qui nous a permis de constituer une équipe et de louer des centaines de VM (machines virtuelles) pour construire un réseau mondial pour les tests de réseau à la demande. En conséquence, nous pourrions développer de nouvelles technologies pour analyser des milliards de points de données RUM et les utiliser en temps réel dans l’équilibrage de charge basé sur le DNS.
Même si cette entreprise n'a pas fonctionné comme prévu, l'expérience acquise a été inestimable et façonne aujourd'hui le parcours de Globalping.
Quelques points à retenir :
Mais même après le sort malheureux de la startup, nous avons toujours vu le potentiel et la nécessité de tests de réseau et de surveillance des performances précis, ouverts et fiables. C’est ainsi qu’est né Globalping, une seconde chance de faire les choses différemment et de tirer parti des expériences pour créer un meilleur service pour nos utilisateurs et pour nous-mêmes. Maintenant, laissez-nous partager avec vous comment nous procédons.
Nous pensons que faire de Globalping un projet open source était une progression naturelle. Pour une fois, le concept nous est déjà familier. Nous utilisons jsDelivr depuis environ 10 ans, un service multi-CDN gratuit, open source qui répond à plus de 230 milliards de requêtes mensuelles.
Nous connaissions donc déjà les avantages et les inconvénients de l’open source, ce qu’il fallait faire et ce qu’il fallait éviter – plus nous y réfléchissions, plus il était logique que Globalping soit open source.
Les principales raisons de rendre Globalping open source étaient :
Naturellement, l’open source comporte aussi ses défis. Le développement de produits nécessite des développeurs, des concepteurs, des spécialistes du marketing et des experts en relations avec les développeurs. Et même si nous bénéficions du soutien d'experts en technologie de notre communauté, nous travaillons toujours avec une équipe de base rémunérée pour son travail.
Au lieu de compter sur le financement du capital-risque, nous construisons désormais des partenariats avec des entreprises partageant les mêmes idées et recherchons le soutien des sponsors de GitHub, dont les dons nous permettent de continuer à fonctionner.
La prochaine décision importante concernait la technologie avec laquelle nous souhaitions construire Globalping. Nous avons choisi JavaScript en toute confiance, en nous appuyant sur notre expérience dans l'exploitation d'applications JavaScript à grande échelle et en temps réel.
Les avantages de notre familiarité avec le langage ont déjà porté leurs fruits, nous permettant de créer de nouvelles fonctionnalités plus rapidement et de trouver et corriger les bugs plus facilement qu'avec des langages moins familiers.
De plus, la popularité de JavaScript parmi les développeurs d'applications et de sites Web du monde entier en a fait un choix évident pour nous. Le langage dispose d'un écosystème riche et robuste d'outils, de bibliothèques et de packages qui correspondent à nos objectifs de développement. En utilisant d'autres projets open source, nous pouvons tirer parti des connaissances et des efforts de la communauté, évitant ainsi de réinventer la roue.
Étant donné que JavaScript lui-même possède une vaste communauté, il existe de nombreux contributeurs potentiels à Globalping. Et comme le code JavaScript est généralement simple à lire, il est plus facile pour les nouveaux arrivants de naviguer et de comprendre le code source.
En conséquence, les développeurs peuvent contribuer plus rapidement, ce qui maintient la motivation et fait avancer le projet.
En fin de compte, pendant que notre équipe principale travaille en permanence sur Globalping, nous apprécions toute contribution à la plateforme. En choisissant JavaScript, nous pouvons maintenir un environnement ouvert et collaboratif qui invite toute personne intéressée à faire de Globalping une plateforme de test de réseau utile et conviviale.
Enfin, nous aimerions vous présenter brièvement la plateforme Globalping et, espérons-le, susciter votre curiosité à l'essayer pour améliorer le dépannage et les tests réseau dans vos équipes !
Accédez rapidement aux résultats de mesure : nous avons développé une variété d'intégrations pour répondre aux besoins des différents utilisateurs, qu'ils soient des professionnels du réseau ou des débutants. Si vous êtes le plus à l'aise avec votre terminal, utilisez notre outil CLI . Notre bot GitHub et notre application Slack sont d'une grande aide pour les équipes travaillant ensemble sur les problèmes de réseau.
Enfin, vous pouvez également utiliser Globalping dans une interface graphique simple et conviviale sur notre site internet pour réaliser des tests lorsque vous n'avez pas accès à votre configuration habituelle par exemple.
Écrivez des commandes de manière cohérente dans toutes les intégrations : comme nous ne voulons pas que vous appreniez tout à partir de zéro à chaque fois que vous changez d'intégration, nous avons implémenté une structure de commandes uniforme. En général, toutes les commandes Globalping suivent le même format :
globalping [command type] [target] from [location] [flags]
Ainsi, par exemple, pour exécuter un ping sur jsdelivr.com depuis Vienne et Berlin en utilisant deux sondes (définies avec l'indicateur limit), vous écrivez la commande suivante :
globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2
Et voici à quoi pourrait ressembler le résultat :
Créez vos propres outils avec notre API : Vous souhaitez créer votre propre outil en utilisant la plateforme Globalping ? Pas de problème – vous pouvez utiliser notre API REST (avec des limites généreuses) pour créer ce que vous voulez !
Faites partie du réseau : Globalping s'appuie sur un réseau mondial de sondes distribuées et alimentées par notre communauté. Nous sommes heureux d'accueillir toute personne qui configure une sonde dans Docker chez elle, au bureau ou sur ses serveurs pour aider à fournir gratuitement des résultats fiables à tous les utilisateurs.
Aujourd'hui, nous sommes heureux de voir comment Globalping évolue et se développe, façonné par nos expériences et nos apprentissages passés. À terme, nous espérons que Globalping deviendra la plate-forme incontournable pour tout ce qui concerne les performances, la latence et la disponibilité d'Internet.
Nous continuerons à affiner les fonctionnalités et à offrir une expérience utilisateur exceptionnelle afin que toute personne intéressée puisse utiliser la plateforme.