Tables of Contents
- Treasure Data Helps Cloud 9 Understand the Users Better
- Our Setup: Node.js + Treasure Data + Heroku
- Why Treasure Data: Simple Yet Flexible
Why do we use Treasure Data? Because it helps us make data-driven product decisions.
For example, we recently revisited how our customers interact with Cloud9 IDE’s workspaces. After we interviewed several customers, we came up with a number of questions about workspace usage. Because we were already logging anonymized user activity data on Treasure Data, getting answers to our questions were only a few queries away.
The query results were illuminating. Our customers were using workspaces in ways we never expected. In fact, the usage was so unexpected that our findings convinced us to shift our focus to a different customer segment.
As a data-driven company, we want to base our product decisions on data whenever possible. Also, as a fast-growing start-up, we must ship our product as quickly as possible. Treasure Data was a great fit for us because it allowed us to achieve these two goals at the same time.
Our setup takes advantage of our in-house engineering talent as well as third-party services where it makes sense.
We built our own solution to capture all our logs from servers and clients called “Metric Server”: Metric Server, written in Node.js, listens to incoming logs (JSON blobs) from our IDE servers/clients and sends them to TreasureData via td-agent, using the fluent-logger library.
The activity data in TreasureData is processed via daily scheduled jobs on Treasure Data, and the results are written to summary tables on a Heroku-hosted PostgreSQL database. This database is used to serve data quickly to our dashboard.
I’d recommend TreasureData to friends because it’s a turn-key Big Data solution with simple yet flexible ways of importing your data, and because transforming that data into insights in various formats is quick and effortless.