Thomas Vachon: Principal Operations Architect at SessionM
Thanks for joining us to talk about your Apache Cassandra use case. What does SessionM do for its customers?
SessionM is a mobile rewards platform funded by advertisers. Developers put our platform in their apps and advertisers get paid to engage with power users in those apps. The users get rewarded with mPoints for performing actions inside the apps like checking the weather. Then they can take all these mPoints and redeem them for real world goods like Amazon gift cards or even donate to charities such as the Wounded Warriors project.
Can you give a real world example of an app that your customers have used?
Let’s say you use The Weather Channel app on Android and check the blizzard forecast or the hurricane forecast depending on where you live. A little bar will appear across the bottom that says, “Achievement Unlocked. Claim 5 mPoints.” That brings you to the point where you can enter a quiz, watch a video, tell us a little bit more about yourself, or we give you extra points because you’ve been around a long time. These points then accumulate over time, and you can participate in the sweepstakes, receive the gift cards or donate to charity.
So how do you use Cassandra with DataStax Enterprise?
Cassandra is our primary data store for almost all non-persistent data and non-configuration data. User profiles, the devices for each User, real-time counters, everything that keeps an ad platform running and running fast, we do with Cassandra.
What was your original motivation for using Cassandra?
Our original motivation for using Cassandra was to avoid using MongoDB. Beyond that it was having the multi-master system, high tolerance and being able to scale in the future. Years ago we had the vision that we would need multiple, physical locations, which is something we are absolutely doing now – and Cassandra is great for this type of scenario.
When did you start using Cassandra, and can you maybe take us through the evolution of your infrastructure over the last years?
We started using Cassandra at the inception of the company in May 2011. At that time we were on version 0.8, and we’ve been with DataStax since 0.8, straight up to the current version of 1.2 that we’re using. We came in with absolutely no knowledge of Cassandra or really its inner-workings beyond the white papers. We started out in Amazon but we outgrew those very quickly. We added more but they didn’t work very well. We have multiple data centers with multiple nodes in each and generate no less than 6,000 events per second across a cluster, even at our lowest point in the day.
Did you start out in multiple data centers, or did you evolve to that point?
We started in multiple racks via the EC2’s snitch, but we moved to multiple data centers in early 2013.
Since you’ve been using this for quite a long time now, what has your view of the community been?
We don’t interact with the community probably as much as we should. We rely on commercial support for a lot of our issues. However, we actually do host the Boston Cassandra meetups most of the time in our office. The community is very responsive.
The people who know Cassandra, know Cassandra very well. There seems to be a very big traction in the community, at least in Boston, of going away from Mongo towards Cassandra due to its inherent scalability and fault tolerance.