Notebooks, query/code generation and a Visual Studio Code add-in help turn application developers into time series data developers. It's an additional -- and important -- initiative in the open source data world's developer charm offensive.
Time series data is an important construct in analytics these days. While time series use cases were once specialized and esoteric, they're mainstream now. Time series is the bread and butter of Internet of Things (IoT), observability, streaming data and log analytics use cases. In other words, time series data capture, aggregation, analysis and modeling are perhaps the core of digital transformation work. But unlike straight-up relational database applications, time series has not been in the mainstream of developer skill sets. Now, InfluxData, maker of the category-leading time series database InfluxDB, has launched a wide-ranging initiative to fix that.
I've written before about streaming data platforms and attempts by their vendors to make them easier to work with. As a time series database, InfluxDB is less of a streaming platform and more one that can process the continuous data produced by those platforms. Or, as Tim Hall, InfluxData's Vice President, Products, put it in a recent discussion with ZDNet, InfluxDB is used as "...a system of observability for a wide variety of different sources, from IoT to DevOps...we are certainly able to analyze, respond, query, alert....based on...data's arrival and evaluating it against baseline data or other types of thresholds."
But even if InfluxDB is a platform for analyzing streaming data, rather than managing the streaming infrastructure, dev-friendliness from InfluxData will continue to help developers working with streaming, continuous data. And the company provides a browser-based development environment, demoed for ZDNet by Hall, that really makes such coding work fun.
The tooling provided centers around at-your-fingertips code "stubs" for Python, Java, C#, Node.js and other languages for which Influx provides client libraries -- ten in all. The tooling can generate/create and incorporate specific InfluxDB API tokens and buckets. It can also work with, and create configurations for Telegraf, Influx's open source data collection agent, for which modern data platforms (like Kafka, Cassandra, ElasticSearch, Couchbase and Aerospike) and numerous telemetry-producing hardware and operating platforms (like the Apache Web server, Amazon CloudWatch, DC/OS, Docker and even GitHub) have providers.
Beyond mere code, the tooling lets developers design dashboards (like that shown in the figure at the top of this post) that visualize the data. And to generate queries, Influx provides a Data Explorer that provides a point-and-click script builder. Developers can just select the desired InfluxDB bucket, measurements (Influx's analog to tables), fields and filters, and have the corresponding query generated for them. The generated query can then be exported to a dashboard cell or directly modified in an editor providing syntax completion and easy access to the full range of functionality available in the "Flux" programming language. A notebook experience supports the same Data Explorer and script editor, as well as table, graph and note cells, similar to the mixture of code and markdown cells supported by Jupyter notebooks. Alert, task and bucket output cell types are also supported.
Romancing the Code
Visual Studio Code (a.k.a. VS Code) is Microsoft's open source code editor and IDE that runs across platforms, i.e. on Windows, Mac, Linux and, by extension, Chromebooks. Despite its Microsoft lineage and membership in the Visual Studio family of products, it's an extremely "non-partisan" coding tool that works across programming languages and is very popular across numerous developer communities as well. VS Code supports a huge ecosystem of add-ins, allowing it to fit even more tightly into an array of dev platforms.
InfluxData provides a Visual Studio Code add-in that, in turn, includes a Flux code editor with auto-completion, syntax highlighting, in-place execution and query result set viewing; and a schema explorer with which to manage buckets and author or view tasks. Support for creation and execution of API Invocable Scripts (stored, named, parameterized scripts, somewhat comparable to stored procedures) will be forthcoming as well.
Why it's important
All of this news was announced by InfluxData last week, at its InfluxDays North America digital event. So this isn't breaking news, but it's important nonetheless. Ever since the early days of Hadoop, enterprise developers and open source data platform practitioners have had different tool chains and technology stacks and, with them, disparate levels of productivity. Now though, the worlds are coming together, which is good for a number of reasons.
To begin with, the accessibility of these newer data platforms is enhanced, helping developers to be more marketable and new platforms and vendors to grow their ecosystems. Beyond that, and yet by virtue of it, these analytics platforms can become more powerful, simply due to the resulting wider adoption and more ubiquitous implementation. Creating platforms is one kind of innovation; but enabling a broad population of developers to apply aplatform to their own use cases and scenarios is where the magic really happens.