Why in a Hybrid Cloud World, Developers Need Apache Cassandra™
date: July 9, 2019
Say what you’ll say about fads or trends, cloud is here to stay, and for many companies “the cloud” has now evolved into “hybrid cloud.”
But most organizations didn’t expect to be in hybrid cloud, and now that they’re here their application developers are facing issues they’ve never faced before—issues that require a powerful, flexible, always-on database like Apache Cassandra to resolve.
But before we discuss why Cassandra is such an ideal database for hybrid cloud, we need to understand the how and the why of entire organizations ending up with a hybrid cloud infrastructure when they never set out to be there in the first place.
The Three Ways Companies Commonly End Up in Hybrid Cloud
1. All-In! Uh … Wait a Second
In recent years, many companies have announced going all-in on cloud, but if you've been around for a while, you know that multi-year projects rarely end as originally conceived.
What typically happens is something changes the equation and that “all-in” never quite materializes. Leadership changes. Priorities change. And before you know it you're in a completely new world and stuck with new technical debt.
A few years ago, Target, after going all-in on Amazon Web Services (AWS), announced they’d be migrating all workloads to Google Cloud. This was strictly a competitive decision, not a technical one. The result? The entire operation had to be migrated to another cloud provider, but in reality the chances of everything being completely moved over were probably small.
2. Not Us! (Uh … Wait a Second)
What about companies that claim that they will never be in the cloud?
Again, experience has shown us that eventually some parts of the company will find their way to a cloud. Maybe they’ll just do some development and testing at first, then a little bit more, and then a lot more, until they find they have equal amounts of cloud and on-premises workloads in a phenomenon known by some as “cloud leakage.”
3. Till Marriage Do Us Part
The third common way companies tend to find themselves in hybrid cloud situations is via a merger or acquisition. There they are, happily managing their infrastructure in a single cloud or on premises, and then they acquire a company with a completely different environment, leaving them with the choice to either migrate everything from the other company’s environment to theirs or just learn to live with it.
Most of the time, as technical debt goes, companies just live with it for the short term and then slowly start migrating things over.
Either way—they’ve just landed themselves in hybrid cloud.
Cassandra to the Rescue
By the time most companies realize they’re using hybrid cloud, they haven’t even begun to make the deep technological revamps they need to make at the database level to make hybrid cloud work. They’re probably still using legacy technology, or they’re using outdated NoSQL technology designed around the time “hybrid” primarily referred to gas-saving cars.
Here’s the thing: it’s not too late for these companies, and it’s certainly not over. In fact, the game—or journey—is just beginning. They just need to make the right choices.
Cassandra was purpose-built for the type of workloads that hybrid cloud demands, because it offers:
- Masterless/shared-nothing architecture
- Low latency
- Flexible consistency guarantees
What do these give organizations?
For one—the ability to withstand a single server failure (hard enough for most databases). With Cassandra’s architecture, a company can withstand an entire data center outage with no data loss. More importantly, those data centers could be a cloud data center and an on-premises data center, or even multiple cloud data centers. Companies can create highly resilient architectures that are in lockstep with how Cassandra was built from the beginning.
Highly replicated systems, such as Cassandra’s, also have the added benefit of providing better ways to manage latency. By keeping data as close to users as possible, they get a much better experience. Users in India should not feel the latency hit for a request destined for a server in North America. An added benefit of this is potentially better compliance with local regulations.
Also, because Cassandra is a replicated database designed for developers building applications, it gives companies a variety of choices when it comes to managing consistency. They can dial down to weak consistency, which requires very little coordination and can be very fast, or bring it up to exclusively strong coordinated consistency to guarantee they are the only ones writing a record into the database.
In short: Cassandra provides the flexibility and control developers need to maintain data integrity as well as latency and distribution.
Hybrid Cloud Use Cases
Now that you’ve got Cassandra on your side and working for you—what can you do with all of this power? Most workloads that run on a relational database can also run on Cassandra because that's what it’s designed to do.
But what about specific use cases that are far better suited to Cassandra and hybrid cloud?
1. State Management
One use case that’s particularly hard with relational databases or even cloud vendor databases is state management across multiple data centers. Pushing state down to the data layer and letting Cassandra do its own replication, as it's designed to do, will give you an enormous amount of flexibility as you choose how to deploy your applications.
Another hybrid cloud use case is distributed microservices.
Imagine you have a common tier of microservices deployed with the same API to multiple places. There are organizations doing that now with Cassandra. Think about a single database spanning clouds and on-premises data centers with the data common to every API consumer, where having a SET operation in AWS is now available in a GET from an on-premises application. These aren’t exotic additions to an existing database or things that require a lot of glue code to make work: they’re how Cassandra works in its most basic form and why Cassandra gives organizations that use it a clear competitive advantage.
Make Hybrid Cloud the Solution—Not the Problem
Let’s be honest: Hybrid cloud is the kind of thing most developers don’t want to think about because they want to see it as someone else's problem.
But the reality is: hybrid cloud is their problem, but it’s also their solution, if they are using the right technology to support it.
Cassandra was designed for hybrid cloud and for the current and future application development world developers are going to have to deal with.
DataStax engineers have contributed the majority of code commits to Cassandra and have more experience than anyone else deploying large Cassandra projects. That’s why we can confidently say that we are the Cassandra experts. But don’t just take our word for it; listen to some of our customers.