满足定制需求:InfluxDB 如何在开发者所在地满足他们的需求

导航至

在 InfluxData,我们以构建一个平台 InfluxDB 为傲——由开发者为开发者而构建。仅仅“说说而已”是不够的。作为一名工程领导者,对我来说,InfluxData 也“说到做到”非常重要。这需要对我们的用户、他们对时间序列的熟悉程度、他们工作的环境以及他们试图解决的问题有一个全面的理解。只有通过检查这些要素中的每一个,我们才能提供种类和范围广泛的工具,使开发者能够快速创新和构建很酷的东西。

以下是对我们如何以及为何努力满足开发者需求的幕后观察。

在开发者所在地满足他们的需求

通常,平台构建者需要在早期决定他们是哪种“商店”,并围绕特定的编程语言开发工具。一方面,这完全有道理。例如,如果用户依赖 JavaScript,并且您优化了您的平台来处理 JavaScript 代码,那么这(希望!)会使应用程序更有效率。但是,那些不了解或不想使用 JavaScript 的开发者呢?他们基本上被排除在使用这个虚构的平台之外。

当我们谈论“在开发者所在地满足他们的需求”时,这就是我们试图避免的情况。开发者“所在地”因他们在时间序列数据旅程中所处的位置而异。

我想通过查看我们目前有哪些工具和资源来实现这个目标,以及我们如何构建新的解决方案来满足用户群的需求,来阐述我们关于在开发者所在地满足他们需求的一些想法。

开始使用时间序列数据

我们需要理解的第一件事是某人对时间序列数据和时间序列工作负载的熟悉程度。这些的特点在某些关键方面与关系数据库的世界不同。例如。(我们不需要深入了解所有细节,但如果您有兴趣,我们提供了一个关于时间序列数据基础知识的培训课程。)

我们认识到,如今,我们处在一个非常丰富的环境中,这里有工具和软件包可以做各种各样的事情。大多数开发者在解决问题时,他们做的第一件事就是上网寻找已经存在的解决方案。但是,将这些碎片组合在一起并不总是像您想象的那么简单。

实际上,这些碎片中的每一块都有其自身的细微差别。因为开发者如今很少从头开始构建东西,这意味着通常需要进行一定量的改造。开发者必须考虑不同碎片带来的权衡,有时他们需要在选择一个需要他们更改应用程序其余部分的软件包,或者不使用它之间做出选择。

这意味着我们工作的一部分是帮助开发者轻松高效地将事物“粘合”在一起。我们非常认真地考虑了这样一个事实,即我们有很多开发者,他们有很多不同的应用程序,所有这些应用程序都需要以某种方式、形式或形状使用时间序列数据。由于市场上有如此多的定制应用程序和开发工具,因此 InfluxDB 为开发者提供根据其个人偏好量身定制的定制体验至关重要。

如果开发者正在构建一个向最终用户呈现数据的应用程序,例如来自家用恒温器的气候数据,我们可能会推荐一组特定的工具或最佳实践,这与构建在幕后收集数据并分析该数据以做出决策或触发操作的应用程序的开发者不同。

使用他们的语言

我们考虑的首要因素之一是我们的开发者知道哪些语言。就像如果您知道当地语言,在异国他乡旅行会更容易一样,能够使用您熟悉的语言进行开发可以使应用程序开发过程更快更轻松。

这就是为什么我们提供十几种语言的客户端库,例如 Python、JavaScript、Go、Ruby、C#、R 等。开发者无需学习全新的语言即可使用 InfluxDB,这降低了入门门槛。

将数据导入数据库通常是使用数据库最具挑战性的方面。这就是为什么我们为数据采集提供六种不同的方法,从 Telegraf(它有 300 多个插件,可以从几乎任何来源收集数据)到前面提到的客户端库,再到抓取器和第三方生态系统集成。而且,如果这些都不适合您,您可以随时使用我们的 REST API 并构建自己的。

我们还会考虑开发者在他们的应用程序构建旅程中所处的位置以及他们对时间序列数据的熟悉程度。我们的想法是融入他们的世界,而不是强迫他们进入我们的世界。他们喜欢在什么环境中工作?他们的技能是什么?这些都是我们在实现“在开发者所在地满足他们的需求”这一使命时会考虑的事情。

另一个主要考虑因素是开发者希望他们的数据在哪里。他们是否希望自己管理时间序列指标和数据库,如果是这样,他们自己的环境中是否具有必要的安全要求?如果不是,也许他们更希望我们在云环境中帮助管理,但是哪个云?AWS、Google 还是 Azure?我们在所有这三个主要提供商以及多个地区提供 InfluxDB。因此,InfluxDB Cloud 将开发者从管理基础设施中解放出来,让他们能够专注于他们最擅长的事情:构建很酷的东西。

我们如何持续改进

开发领域的任何人都知道,该行业随着开发者的需求和偏好的变化而不断发展。这意味着他们使用的工具也必须发展,而对我们来说,这始于直接从用户那里获得关于他们希望如何使用 InfluxDB 的反馈。

在这方面,我们开发者关系 (DevRel) 团队的开发者倡导者充当将用户需求报告回更大的工程团队的第一阶段过滤器。我们的 DevRel 收集用户反馈并发现趋势和模式。我们不承诺解决开发者向我们提出的每一个问题。但是,我们始终在倾听和学习我们可以做些什么来减少开发者在使用时间序列数据作为其应用程序核心时可能面临的摩擦。

在不断改进产品方面,可能需要进行一些试错。我们使用博客文章和社区论坛等工具来测试各种特性和功能,看看哪些可行。如果围绕某个特定想法形成了势头,我们就可以回到绘图板,看看这是否是我们能够构建和实现的东西。

最终,利用开源使我们能够与更广泛的开发者群体互动,并帮助他们为更广泛的用例构建应用程序。可能是一个正在摆弄和学习时间序列数据的大学生,一个正在做一些真正创新的初创公司 CTO,或者是一个拥有大量时间序列数据并且需要更好的管理方式的现有企业。

创建一个在开发者所在地满足他们需求的平台使我们能够将开发者放在首位,并为他们提供必要的工具和资源,以快速推进他们的时间序列之旅,实现我们一直喜欢谈论的“卓越时刻”,并推动创新。