Josep Blanquer: Senior Systems Architect at RightScale.
Josep, thanks for taking the time to talk with us today. A lot of folks know RightScale, but for those that don’t, why don’t you give them a quick overview of what you guys do?
RightScale is a SaaS service and cloud management solution, which allows you to manage all the lifecycle aspects of your server infrastructure. This includes hardware, software, integration, application tiers, monitoring, auto-scaling, reporting, single sign on and much more.
Further, we’re a multi-cloud solution, which means you can manage and control all your servers with a single pane of glass and then decide which public cloud providers and private cloud systems you want to use.
You guys make it pretty easy for someone to create and manage large Cassandra and DataStax Enterprise clusters on public or private clouds. Tell us a little about how you do that.
We provide server templates(TM) that allow even novice users to quickly create and deploy either open source Cassandra clusters, or DataStax Enterprise clusters that consist of Cassandra, Hadoop, and Solr. They can have a cluster up and running in literally 5 minutes if they wish.
Now you guys also use Cassandra for your own internal operations don’t you?
Yes we do. We have a number of different use cases that are great fits for Cassandra. For example, we have to provide notifications via our customer facing user interface. We use Cassandra to serve up that data and use the time-to-live (TTL) feature to retain only the last 10 minutes worth of data/notifications.
Another user case involves the storage of metadata for servers, like tags and resources using those tags/servers.
A third use case revolves around our routing tables, which absolutely demands continuous availability across multiple geographic locations. This allows our customers to send messages to other instances they have no matter where those instances are and regardless of what cloud they are on. This data is replicated via Cassandra to 5 or so different data centers around the globe, which keeps our service always up and available even in the event of full cloud region failures.
What are the primary reasons you use Cassandra for these and other applications at RightScale?
For us, the primary motivating factors are continuous availability and multi-data center support. A big win is also being able to easily tweak the replication factor for each application and control how much and where replication occurs. We also like the fact that we can trust Cassandra; when we need to write data, we don’t have to worry that it’s going to get written and be there no matter what.
Did you try other databases before Cassandra?
Yes. We use MySQL for many things including cases where we need ACID transactions, or complex joins like in reporting, but the use cases I’ve described just weren’t being served well by MySQL; it just didn’t offer us the continuous availability we need. We’re trying to move away any existing data or new data to Cassandra that doesn’t require ACID semantics or a lot of data denormalization.
What advice would you give someone who is thinking about using Cassandra?
Cassandra doesn’t have any steep learning curve for getting a cluster up and running; that’s fast and easy. What you should expect, though, in production is the need for perhaps more manual troubleshooting that you might have with some of the major RDBMS products. Cassandra is getting better, but there are more features we’d like to have to more quickly diagnose and troubleshoot issues. Fortunately, they’re on the short term Cassandra roadmap so we’re looking forward to having those soon.
Josep, thanks for the time!
Glad to do it.