paint-brush
La puissance de l'Open Source et de JavaScript : le parcours de la mondialisationpar@globalping
132 lectures

La puissance de l'Open Source et de JavaScript : le parcours de la mondialisation

par Globalping7m2023/10/05
Read on Terminal Reader

Trop long; Pour lire

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.
featured image - La puissance de l'Open Source et de JavaScript : le parcours de la mondialisation
Globalping HackerNoon profile picture

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.

Réfléchir et apprendre : grandir à partir des expériences passées

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 :

  • La pression atténue la passion : les investissements en capital-risque nous ont poussé à modifier le rythme et les priorités de notre travail. Alors que nous nous concentrions sur le respect des paramètres nécessaires pour garantir le prochain cycle de financement et que nous déplacions nos priorités des petites entreprises et des utilisateurs uniques vers les grandes entreprises, nous avons senti la joie et l'enthousiasme pour notre idée s'estomper.


  • Construire pour les utilisateurs : Développer le produit pour répondre aux attentes des investisseurs ne correspondait souvent pas à notre vision de créer ce dont nos utilisateurs avaient besoin. Il est important de se concentrer sur ce que veulent et ce dont les utilisateurs ont besoin, à condition de comprendre le secteur et le marché, ce que nos investisseurs n'avaient aucune expérience et qui ont été poussés à améliorer différentes mesures et priorités qui étaient incompatibles.


  • Les données RUM ne sont pas fiables . Bien qu'utiles en grande quantité, il est rapidement devenu évident que la plupart des données de surveillance des utilisateurs réels (RUM) étaient problématiques et n'étaient pas idéales pour déboguer les problèmes de réseau. Vous ne pourrez jamais savoir si le problème vient du CDN ou du client exécutant le test. De plus, les données RUM ne sont pas reproductibles ; une fois qu'un test est exécuté, il n'est pas possible de le réexécuter à partir du même emplacement pour évaluer l'impact de vos modifications.


  • Les boîtes noires n'aident pas . En tant qu'entreprise soutenue par du capital-risque, nous devions garder tout le code et toutes les données secrets et cachés au public. Nos utilisateurs n'ont jamais pu vérifier l'authenticité et l'exactitude des données qui leur sont présentées. De plus, n’importe qui pourrait prétendre que nous avons modifié manuellement les classements de performances en faveur des clients les mieux rémunérés sans pouvoir prouver le contraire.


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.

Adopter l'Open Source et donner la priorité aux utilisateurs

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 :

  • Tirer parti de la communauté : La plupart des personnes qui contribuent au projet l'utilisent également. Ils aident donc à construire leur propre outil et à obtenir les fonctionnalités souhaitées en apportant leurs compétences ou simplement en donnant leur avis. De plus, Globalping grandit avec sa communauté car au lieu de louer des machines virtuelles pour construire le réseau de test, nous comptons sur la communauté pour héberger les sondes Globalping chez elles et au bureau.


  • Utiliser jsDelivr : Construire une communauté ne se fait pas du jour au lendemain. Heureusement, nous avons déjà une grande communauté qui soutient notre autre projet, jsDelivr. De nombreux utilisateurs et sympathisants existants peuvent rejoindre Globalping en raison du chevauchement technique : jsDelivr fournit une infrastructure distribuée à l'échelle mondiale, et Globalping est un moyen de surveiller, tester, déboguer et comparer de tels systèmes globaux.


  • Construire pour tous : La pression de la croissance et du profit étant réduite, nous pouvons désormais nous concentrer sur la construction d'une plateforme accessible à tous. La plateforme est gratuite, avec des limites généreuses, offrant les mêmes fonctionnalités à tout le monde, qu'il s'agisse d'une grande entreprise ou d'un étudiant qui vient d'apprendre comment fonctionne Internet.


  • Être transparent : L'Open source rend notre travail transparent et visible pour tous. Tout le monde peut consulter notre code et notre logique, qu'il s'agisse de nos sondes ou de notre API principale. Cela nous aide à valider nos affirmations en matière de sécurité et de confidentialité et à rassurer les utilisateurs sur le fait que nous sommes équitables et que nous ne vendons pas d'évaluations ni n'utilisons d'algorithmes biaisés pour calculer les performances du CDN. De plus, toute personne ou entreprise rencontrant un problème avec le code ou la fonctionnalité peut soumettre un correctif, demandant d'ajouter sa mise à jour ou son correctif.


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.

Choisir JavaScript pour développer Globalping

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.

Utiliser Globalping vous-même ou dans votre équipe

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 :

ping depuis n'importe où dans le monde en utilisant Globalping


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.

Regarder vers l’avenir : construire la mondialisation ensemble

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.