For this week's All Things API Interview we sat down with Cory LaNou who is on the core development team for InfluxDB. Prior to InfluxDB Cory was an entrepreneur, starting several companies and finding great success with his latest company, Local Launch that sold to Dex Yellow Pages in 2006.
ALL THINGS API Currently working for InfluxDB, an open sourced time series database, LaNou is one of the team’s core developers. LaNou was initially attracted to the company because it is all written in Go. “Go is something close to my heart and it is a very up and coming, trending language,” shares LaNou. “Time series data is becoming a big problem for modern businesses; so many people are collecting so much data, across all time, your analytics can’t keep up.” InfluxDB is headquartered in San Francisco and has a team of 13, with 3 developers in Denver working out of Industry.
Q&A WITH API EXPERT, CORY LANOU:
Q: Why was InfluxDB written in GO?
A: Go has a real sweet spot in terms of InfluxDB’s performance with APIs. It is really powerful and scalable – there is not a lot of code required to consume. Go is a project from Google – with objectives of not only solving code at scale, but also scaling engineering teams. The old way of product development had developers jumping from different projects and took weeks to ramp up and understand both the language and style of the new project. Go was approached from the standpoint of how to make code more productive. Go was born out of necessity, not only driven by Google’s needs, but by a lot of other companies having that same need. Go is a modern language with a lot of skepticism. It doesn’t have a lot of features other languages have because it isn’t needed. By going one step further and learning Go, I can now honestly say I’m a better developer in other languages.
Q: Can you tell me about your team and your product development strategy?
A: InfluxDB has a highly technical team with a solid developer practice. We have a team that ranges from senior to junior developers and is collaborative and agile. The founders, Paul Dix and Todd Persen are also developers and highly technical, and has allowed the development team to move rapidly. Everyone in the company knows what it takes to get product development done.
Q: Has InfluxDB had any pivots during development?
A: Yes, I think any product development strategy has pivots. For example, the first product was a type of error tracking software and it pivoted to the time series database. The founders determined that while error tracking was important, most of the clients identified with the lack of a system to store time series data, which is inherently what error tracking data is. The time series database was the missing link in the open source community, and an issue InfluxDB wanted to solve.
Q: Can you explain what time series data is, and who uses the product?
A: Time series data is any data that you want to query over time, trend, and analyze. Most people quickly identify log files, analytics, sensor data, financial data, etc. as this type of data. In traditional systems you would usually put all of your data into Mongo or SQL, but you are usually using Terabytes of data and it becomes very expensive and time consuming to use these traditional systems. InfluxDB has simplified the way you look at time series data. For example, time series data trends across time. Say you’re logging 1,000 points a second and you want to down sample to another data block and keep that data around for months. With a tool like InfluxDB you can keep the data around for as long as you want without using all of the disk space. InfluxDB gives people all of the products they need to manage data in one platform. You do not need to search for third party components such as data collectors, graphing libraries, etc. Everything you need to collect, store and analyze time series data is there in one unified platform. As for the product itself, we are currently in beta with Fortune 100 clients. They are testing our product and putting it at scale.
Q: People are writing their own APIs to your platform, how?
A: People are including InfluxDB on their platforms and are using it to monitor their systems or have their clients doing it themselves. As for APIs, InfluxDB has their own API and also supports many different endpoints such as Graphite, Collectd, OpenTSDB, and more.
Q: When you hear the term All Things API, what resonates with you?
A: I was confused at the API problem they were trying to solve. I said to myself, what is that? But the truth is everything has an API. The challenge is more about trying to create a standard platform around APIs, because you can never keep up with the number APIs that are being created.
Q: What is your advice to developers to drive API adoption?
A: The best documentation on the planet. There is nothing harder than getting developer adoption, but if they come to your website and can’t try the product out successfully, you’ll lose them right away. Within 2 minutes developers should be able to consume the APIs and get productive.
Q: Any final takeaways?
A: I was surprised when I looked at Cloud Elements for the first time. As a developer I was like “I can write to an API, so why would I use them?” But I came to realize that as a software developer, if I have to support more than one API that would be a nightmare. It was super easy to use to integrate to Cloud Elements Hubs through a uniform API, and there wasn’t one time the Cloud Elements API broke.