What Apache Cassandra™ Developers Want
Also contributed by:
David Jones-Gilardi, Developer Advocate, DataStax
The DataStax Developer Relations team has been on the road a lot lately, meeting our developer communities at events like Developer Days and industry conferences. We’ve had so many great conversations that we thought we’d share some of the highlights with you.
One of the fun things we were able to do at conferences we attended in 2018 was to use some “conversation starters”. We asked our booth visitors at Strata NYC and AWS re:Invent to contribute to a community comment block (aka sticky notes on our booth wall). We had four prompts on the post its:
These questions are a great way to get a “gut reaction” and then use that as a gateway to more in-depth conversations. Below, we explore some of the results.
Why Developers Choose Cassandra
One of the trends we weren’t surprised by was the number of developers who use Cassandra or know of some usage of Cassandra within their organization. It seems like everyone has at least a bit of Cassandra running somewhere - at least in most medium- to large-size enterprises. There always seems to be a use case that requires the combination of scale, performance, uptime, and distribution that Cassandra provides.
As you can see from the chart below, the developers we talked to had a hard time deciding which of these attributes was the most important, leading us to believe that they’re all important!
I need Apache Cassandra because...
Amanda spoke with several people that stressed the importance of uptime. These developers loved the fact that Apache Cassandra and DataStax can lose nodes - or even entire data centers - and they don’t have to stress!
How Developers Are Using Cassandra
While not every use case requires the massive scale, high availability, and performance that draw people to Cassandra, we continue to be amazed at the breadth of industries and applications where we see it being used. The word cloud below showcases the kinds of use cases where Cassandra excels - Financial and customer data, IoT and Sensor systems, logging and metrics, metadata storage. We see it used in a variety of places in the application stack, whether as a frontend cache, as a part of an analytics solution when paired with Spark, or as part of a data warehouse solution.
My Apache Cassandra Use Case Is...
Hybrid-cloud and Multi-Cloud Challenges
We hear over and over and again about developers using Cassandra and DataStax Enterprise in hybrid-cloud and multi-cloud deployments. While Cassandra is great at replicating data across multiple data centers, there are definitely challenges associated with these types of architectures. The figure below highlights some of the key challenges, including latency and other performance factors, security, and administration. Many or most of these challenges are centered around networking, as we’ve discussed.
Hybrid/ Multicloud is a pain because...
Both David and Amanda talked with a number of people struggling with latency between data centers and between cloud providers and how to select consistency levels on queries that don’t impact the critical path.
Developers Are Still Intimidated By Database Security
The last question we asked generated the most passionate response. The topic? Database security, of course! While there were a few folks that expressed confidence that they have things under control, the overriding emotions that came through loud and clear were fear and uncertainty, as shown in the word cloud below:
When I think about Database security, I feel...
When you think about it, the concern over database security makes total sense, given the number of high profile data breaches that continue to show up in the headlines. While security is an enterprise-wide problem, the data tier is certainly a key part of the solution, since that is where the asset hackers want ultimately resides.
We had a number of great conversations with conference attendees about Cassandra security options, the advanced security features available in DataStax Enterprise, even down to one detailed discussion David had regarding how to automate the configuration of unique security certificates for each node in a cluster.
So Many Application Development Questions!
As we mentioned, the sticky notes above were just the start of many great conversations. As we talked about using Cassandra and DSE, we encountered a lot of questions about application development that came up again and again, on topics like:
- Getting started with DataStax drivers in various languages
- Popular application development frameworks like Spring and JHipster
- Using Cassandra and DataStax alongside other technologies including Kafka and Spark
- How to test applications using Cassandra and DataStax
We gathered up the most common questions and will be devoting our attention this spring to getting developers the information they need. This week we’re starting a Distributed Data Show series on application development that will take us through the next three months (at least!) and many of our upcoming blog posts will focus on these topics as well.