在构建新产品时,您突然面临无数的挑战和决策。遗憾的是,无论您是刚刚起步还是经验丰富的企业家,都没有神奇的公式可以做出正确的选择。作为一个团队多次走过这条路,我们理解它可能带来的兴奋和担忧。
我们是一个小团队,最近推出了Globalping ,一个全球网络测试平台。这个项目很特别,因为这是我们在类似产品理念的初创公司未能达到预期结果后的第二次尝试。通过 Globalping,我们正在采取不同的方法来实现我们的产品目标和愿景。
在这篇博文中,我将分享我们在这家初创公司的经历中获得的见解和经验教训,以及它们如何影响我们在 Globalping 的方法。我将特别介绍我们为何构建基于 JavaScript 的开源平台以及这些选择如何改变了项目。
让我们回到几年前,我们创立了一家名为 PerfOps 的初创公司。这个想法是建立一个 B2B SaaS 平台来优化基于互联网的应用程序。它使用 RUM(真实用户监控)数据来收集 CDN 提供商的性能指标并启用多 CDN 负载平衡功能。
作为奖励,它还允许用户从全球不同位置运行网络测量请求,例如跟踪路由和挖掘。
像许多初创公司一样,我们需要资金。幸运的是,我们获得了风险投资的支持,使我们能够组建一个团队并租用数百台 VM(虚拟机)来构建全球网络以进行按需网络测试。因此,我们可以开发新技术来分析数十亿个 RUM 数据点,并将它们实时用于基于 DNS 的负载平衡。
虽然这次冒险没有取得预期的成果,但所获得的经验是无价的,并塑造了 Globalping 今天的道路。
一些要点:
但即使在这家初创公司遭遇不幸之后,我们仍然看到了准确、开放、可靠的网络测试和性能监控的潜力和需求。因此,Globalping 诞生了,这是我们以不同的方式做事并汲取经验的第二次机会,为我们的用户和我们自己创造更好的服务。现在,让我们与您分享我们是如何做到这一点的。
我们相信,让 Globalping 成为一个开源项目是一个自然的过程。这一次,我们已经熟悉了这个概念。我们运行jsDelivr已有大约 10 年了,这是一项免费、开源、多 CDN 服务,每月处理超过 2300 亿次请求。
因此,我们已经知道开源的利弊、该做什么、该避免什么——我们思考得越多,就越觉得 Globalping 必须开源是有道理的。
Globalping 开源的主要原因是:
当然,开源也有其挑战。产品开发需要开发人员、设计师、营销人员和开发人员关系专家。虽然我们得到了社区技术专家的支持,但我们仍然与核心团队合作,他们的工作得到了报酬。
我们现在不再依赖风险投资资金,而是与志同道合的公司建立合作伙伴关系,并寻求 GitHub 赞助商的支持,他们的捐款让我们得以运转。
下一个重要的决定是我们想要用来构建 Globalping 的技术。凭借我们在操作大型实时 JavaScript 应用程序方面的经验,我们自信地选择了 JavaScript。
我们对语言的熟悉所带来的好处已经得到了回报,与不太熟悉的语言相比,我们能够更快地构建新功能,更容易地发现和修复错误。
此外, JavaScript 在全球应用程序和 Web 开发人员中的流行使其成为我们显而易见的选择。该语言拥有丰富而强大的工具、库和包生态系统,与我们的开发目标相一致。通过使用其他开源项目,我们可以利用社区的知识和努力,避免重新发明轮子。
由于 JavaScript 本身拥有庞大的社区,因此 Globalping 有许多潜在的贡献者。而且由于 JavaScript 代码大多易于阅读,因此新手可以更轻松地浏览和理解源代码。
因此,开发人员可以更快地做出贡献,从而保持动力并推动项目向前发展。
最终,虽然我们的核心团队持续致力于 Globalping,但我们欢迎对该平台做出任何贡献。通过选择 JavaScript,我们可以维护一个开放和协作的环境,邀请任何有兴趣使 Globalping 成为有用且用户友好的网络测试平台的人。
最后,我们想向您简要介绍 Globalping 平台,并希望激发您的好奇心,尝试使用它来改进团队中的故障排除和网络测试!
快速访问测量结果:我们开发了各种集成来满足不同用户的需求,无论他们是网络专家还是新手。如果您对终端最熟悉,请使用我们的CLI 工具。我们的GitHub 机器人和Slack 应用程序是团队共同解决网络问题的好帮手。
最后,例如,当您无法访问常用设置时,您还可以在我们网站上的简单且用户友好的图形界面中使用 Globalping 来运行测试。
跨集成一致地编写命令:由于我们不希望您每次切换集成时都从头开始学习所有内容,因此我们实现了统一的命令结构。一般来说,所有 Globalping 命令都遵循相同的格式:
globalping [command type] [target] from [location] [flags]
因此,例如,要使用两个探测器(使用 limit 标志定义)从维也纳和柏林运行 ping 到jsdelivr.com ,请编写以下命令:
globalping ping jsdelivr.com from "Vienna, Berlin" --limit 2
结果可能是这样的:
使用我们的 API 创建您自己的工具:想要使用 Globalping 平台构建您自己的工具吗?没问题 – 您可以使用我们的 REST API(有很大的限制)来创建您想要的任何内容!
成为网络的一部分: Globalping 依赖于由我们社区提供支持的全球分布式探测器网络。我们很高兴欢迎任何在家里、办公室或服务器上设置 Docker 探测器的人,以帮助免费向所有用户提供可靠的结果。
今天,我们很高兴看到Globalping在我们过去的经验和学习的基础上如何发展和成长。最终,我们希望 Globalping 能够成为与互联网性能、延迟和正常运行时间相关的任何事物的首选平台。
我们将继续完善功能并提供出色的用户体验,以便任何感兴趣的人都可以使用该平台。