May 27th, 2014


“Servers can disappear at any moment…we need a way to ensure high availability.”

– Matt Mankins, CTO at Fast Company

Matt Mankins

Matt Mankins CTO at Fast Company


Fast Company 

Fast Company covers business and innovation online and in a monthly print magazine. I’m the CTO.

Screen Shot 2014-05-27 at 1.54.49 PM


Always on

Using AWS we know that servers can disappear at any moment. (Even if we didn’t use AWS this would be the case.) Because our web service runs on every request we need a way to ensure high availability.

We needed something that was able to handle many writes, have consistent read performance, was fault tolerant for AWS, and was flexible enough to allow us to evolve our usage without completely starting over. We looked at many different DBs, from Dynamo to all Redis, to Couch, to whatever you might imagine. All of them had a few features that were interesting.


User events and comments

We use Cassandra to store user events–a generic term that encompasses everything from website visits to comments.  
Screen Shot 2014-05-27 at 1.54.29 PM
This was a completely new project. In this case we do several writes per visitor access.

Our second use case was to convert comments from Disqus to our own commenting platform that is backed by Cassandra. The comments data is small enough to fit into ram, but managing the persistence and standardizing access patterns led us to re-use Cassandra.


Deployment details

We’re using version 2.0.3 in production. Our application stack is Node.JS on the front/middle tiers and Cassandra in conjunction with Solr and Redis on the back. All of this runs on AWS and is managed via Chef.