January 5th, 2013


Charles Lamanna | CEO


What does Microsoft Azure do with MetricsHub?

Microsoft Azure with MetricsHub offers public cloud monitoring that keeps web applications up and running for the lowest possible cost.  Customers can use rules based on trends in business metrics — e.g. a growing number of pending email deliveries — to increase their capacity or change their service configuration.  


How are you using C*?

We use Cassandra for recording time series information (e.g. metrics) as well as special events (e.g. server failure) for our customers. We have a multi-tenant Cassandra cluster for this. We record over 16 data points per server per second, 24 hours a day, 7 days a week. We use Cassandra to store and crunch this data. 


What made you choose C*?

Our primary motivators were: (1) easy to use and scale; (2) no single point of failure (i.e. reliable and resilient to failure); and (3) supported by Windows Azure networking configuration (e.g. Mongo DB has issues). The metric data we store for our customers is very high volume and is our most valuable asset — we needed high availability and high scalability. 


What tips do you have for someone getting started with C*?

Find a good tutorial and follow it. Additionally, I would recommend spending the time getting your data patterns right so that you do not have to change it over time — for instance, we have not had to change our data patterns since we first launched which has made the majority of our development “stateless” and therefore very easy to iterate on. 


What tutorial did you use?  Got a good link?

No good tutorial really existed for Windows Azure — but I wrote one here :).


Are you running C* in the cloud or your own DC?

Running in the public cloud (Windows Azure).


Anything you’d like to throw out there?

Technologies like Cassandra and the public cloud are democratizing large scale web development. Being up & running with a big data cluster in less than a day would have seemed impossible a few years ago… and no, IMO MySQL sharding does not count 🙂