量身定制:InfluxDB如何满足开发者的需求
作者:Barbara Nelson / 产品,用例
2022年12月06日
导航至
InfluxData以构建一个由开发者构建的平台——InfluxDB——而自豪。仅仅“说起来”是不够的。作为一名工程领导者,我认为InfluxData“做到”同样重要。这需要我们对用户有一个全面的理解,了解他们对时序数据的熟悉程度,他们工作的环境以及他们试图解决的问题。只有通过检查这些要素,我们才能提供各种工具和范围,使开发者能够快速创新和构建酷炫的东西。
以下是对我们如何以及为什么努力满足开发者需求幕后的一瞥。
在开发者所处的位置与他们相遇
通常,平台构建者需要尽早决定他们的“商店”类型,并围绕特定的编程语言开发工具。一方面,这完全合理。例如,如果用户依赖于JavaScript,并且你优化了平台来处理JavaScript代码,那么(希望!)这将使应用程序更加高效。但对于不知道或不想使用JavaScript的开发者来说,他们基本上被排除在这个假设的平台之外。
当我们谈论“在开发者所处的位置与他们相遇”时,我们试图避免的就是这种情况。而开发者“所在”的位置取决于他们在时序数据旅程中的位置。
我想通过探讨我们目前拥有的工具和资源,以及我们如何构建新的解决方案来满足用户需求,来阐述一些关于如何让开发者在其熟悉的领域接触我们的想法。
开始使用时间序列数据
我们首先需要了解的是,某人对时间序列数据和时间序列工作负载的熟悉程度。与关系型数据库的世界相比,这些特征在某些关键方面有所不同。例如。(我们不需要深入了解所有细节,但如果您感兴趣,我们提供了一门关于时间序列数据基础的培训课程。)
我们认识到,如今,我们处在一个非常丰富的环境中,有各种工具和包装来处理各种事情。大多数开发者在解决问题时,首先会上网寻找现有的解决方案。但是,将这些组件组合在一起并不像您想象的那么简单。
实际上,这些组件各自都有其特定的细微差别。因为现在很少有开发者从零开始构建东西,这意味着通常需要进行一定程度的改造。开发者必须考虑不同组件带来的权衡,有时他们需要在选择一个需要他们改变整个应用程序或放弃它的包之间做出选择。
这意味着我们的部分工作就是帮助开发者轻松有效地“粘合”这些组件。我们非常重视这样一个事实,即我们有许多开发者在使用各种不同的应用程序,这些应用程序都需要以某种形式使用时间序列数据。在市场上有着如此多的定制应用程序和开发工具,为InfluxDB提供针对开发者的个性化体验,以满足他们个人的偏好至关重要。
如果开发者在构建向最终用户展示数据的应用程序,如来自家用恒温器的气候数据,我们可能会推荐一组与开发者构建后台收集数据并分析数据以做出决策或触发操作的应用程序不同的工具或最佳实践。
说他们的话
我们认为首先考虑的是我们的开发者知道哪些语言。就像在外国国家旅行如果知道当地语言更容易一样,能够在自己舒适的语言环境中进行开发可以加快应用程序开发过程并使其更加容易。
这就是为什么我们提供了十多种语言的客户端库,例如Python、JavaScript、Go、Ruby、C#、R等。开发者无需学习一门全新的语言即可使用InfluxDB,这降低了入门门槛。
将数据放入数据库通常是数据库工作中最具挑战性的方面。这就是为什么我们提供了六种不同的数据收集方法,从拥有300多个插件的Telegraf,可以从几乎任何来源收集数据,到上述客户端库、抓取器、第三方生态系统集成。如果这些都不符合您的要求,您总是可以使用我们的REST API来构建自己的。
我们还考虑开发者在其应用程序构建旅程中的位置以及他们对时间序列数据的舒适程度。我们的想法是适应他们的世界,而不是强迫他们进入我们的世界。他们在什么环境中工作得更舒服?他们的技能组合是什么?这些都是我们在使命中满足开发者需求的考虑因素。
另一个重要的考虑因素是开发者希望将数据放在哪里。他们是否想自己管理时间序列指标和数据库,如果是这样,他们是否在自己的环境中具备必要的安全要求?如果不是,他们可能更希望我们帮助他们在一个云环境中进行管理,但哪个云呢?AWS、Google还是Azure?我们提供InfluxDB服务覆盖这三个主要提供商,以及多个地区。因此,InfluxDB Cloud可以帮助开发者从管理基础设施中解脱出来,使他们能够专注于他们最擅长的领域:构建酷炫的东西。
我们如何持续改进
任何在开发领域的人都知道,行业总是随着开发者的需求和偏好而不断演变。这意味着他们使用的工具也必须随之演变,对于我们来说,这始于直接从用户那里获取关于他们如何使用InfluxDB的直接反馈。
在这方面,我们开发者关系(DevRel)团队的开发者倡导者作为将用户需求报告给更大工程团队的第一阶段过滤器。我们的DevRels收集用户反馈,发现趋势和模式。我们并不承诺解决开发者向我们提到的每一个问题。但我们始终在倾听和学习,了解我们如何减少开发者在使用时间序列数据时可能遇到的摩擦。
在持续改进产品的过程中,可能会有一些试错。我们使用博客文章和社区论坛等工具来测试各种功能和能力的市场,看看哪些能够得到认可。如果围绕一个特定的想法产生了势头,我们就可以回到设计板上,看看我们是否能够构建并实施它。
最终,利用开源使我们能够与更广泛的开发者群体互动,并帮助他们为更广泛的应用场景构建应用程序。这可能是一个在探索和学习时间序列数据的大学学生,一个正在进行真正创新活动的初创公司CTO,或者一个拥有大量时间序列数据并需要更好的管理方式的现有企业。
创建一个满足开发者需求的平台,使我们能够将开发者放在首位,并为他们提供在时间序列之旅中快速前进所需的工具和资源,实现我们一直乐于谈论的Time to Awesome,并推动创新。