How WellAware is using DataStax Astra DB. Q&A with Aaron Ploetz
“One of the aspects DataStax Astra DB improves upon (over Cassandra) is client connection security. To connect, all customers need to do is download their secure cloud bundle file, and the newer drivers take it from there. However, applications built on drivers that haven’t been updated to use a secure cloud bundle need a little more configuration.”
Q1. You mentioned that the problems for WellAware were increasing latency and slow scalability. Can you please elaborate a bit on this?
The database management system (DBMS) they used prior to Apache Cassandra was simply not designed to support the storage and throughput requirements that WellAware needed. Typically when this happens, more compute resources can be provisioned to a DBMS via a process known as scaling. Unfortunately, many DBMSs are limited in that “vertical” scaling (adding more CPUs, RAM, disk, etc) is the only option. Vertically-scaled systems tend to reach their max limit of resources fairly quickly, so it’s a short-term solution.
By switching to Cassandra, WellAware was able to quickly add resources to their database through “horizontal” scaling. With horizontal scaling, additional server instances are added to a database cluster, enabling each instance to be responsible for a smaller amount of data and traffic. This improves throughput and decreases latency at the database level, as many more data requests can be processed concurrently.
Q2. Why did it take too much time to read and write the high-density data?
Similar to the previous answer, the problem was an inability to scale to meet throughput demands. The pre-Cassandra DBMS wasn’t able to meet those requirements, and essentially became a bottleneck of data request contention.
Q3. How exactly did you help the company?
Now that WellAware is on DataStax Astra DB, the scaling process happens automatically, so their database resources are provisioned proportionally to their current levels of traffic. This way their software engineers can concentrate on supporting their business, and not have to worry about managing a database.
Q4. You write that “the actual conversion from the application side only required minimal code changes in the connection setup. But it was also critical that WellAware maintained its 99% uptime promise during the migration.” Can you please elaborate a bit on this? What code changes were necessary? How did the company handle the update/upgrade process for their business?
One of the aspects DataStax Astra DB improves upon (over Cassandra) is client connection security. To connect, all customers need to do is download their secure cloud bundle file, and the newer drivers take it from there. However, applications built on drivers that haven’t been updated to use a secure cloud bundle need a little more configuration.
This is where our lightweight cql-proxy tool comes into play. During migration periods, cql-proxy is used as an intermediary between Astra DB and Cassandra. This way, applications just need to point to cql-proxy like it’s an ordinary Cassandra node. Cql-proxy handles any differences in security configuration and ensures that data operations continue to flow between the application and Astra DB.
Q5. In the blog post, it is written that “DataStax team came prepared with a plan for WellAware to discuss. Multiple engaged DataStax employees helped us and checked in with us through the whole process. It did take some time, but it went smoothly and without any impact on our business.” Can you give a bit more information here?
Yeah, our Astra DB Success Team is pretty awesome. They implemented a migration plan that ensured WellAware’s important systems stayed up and running. Using the Zero Downtime Migration Tool (mentioned above), they were able to do the “heavy lifting” of moving their data, while implementing cql-proxy to ensure that current requests were completed.
Q6. What are the main lessons learned for this use case?
Daily database operations and management can be tricky by themselves when you have staffing challenges; add the need to improve your fundamental storage tech by migrating to a new product, and the challenges multiply. WellAware and other companies like them don’t have to go on that journey alone. One thing I feel that DataStax does very well is to treat our customers as partners and keep good lines of communication open. This way we can solve potential issues quickly, with solutions that everyone understands.
This case also demonstrates that cloud-based DBaaS solutions are mature enough to support critical infrastructure. Twenty years ago it was difficult to foresee that mission-critical databases would be run anywhere but on-premise. DataStax Astra DB makes that a reality.
Aaron Ploetz has been a professional software developer since 1997, and has several years of experience working on and leading DevOps teams for startups and Fortune 50 enterprises. Aaron continues to contribute to the software community by answering over 1000 StackOverflow questions from other developers (mostly in the Cassandra tag, see his profile here) and has worked as an author on the books Seven NoSQL Databases in a Week and Mastering Apache Cassandra 3.x (3rd edition).
Sponsored by DataStax.