Since the beginning of 2021, I’ve been super-focused on the idea of running databases on Kubernetes, and specifically Cassandra and the K8ssandra open source project. Over the past few months, I’ve formed a strong opinion: we are now at a point as an industry at which stateful workloads are not just “ok” to run on Kubernetes, but we actually need to move aggressively toward running all our cloud workloads on Kubernetes. Standardizing on Kubernetes as a platform will be an accelerator, enabling us to worry less about infrastructure and more about new capabilities.

As you can probably guess from the…


Katacoda scenarios now available on O’Reilly Learning site

It’s been almost 4 months since the release of Cassandra: The Definitive Guide, 3rd edition. The response to the book has been great and I’m really grateful to my employer, DataStax, for sponsoring the book and making a digital copy available for free.

I’m writing to share about a new companion project I’ve had the chance to create. If you’ve read the book, you’ve seen that it contains quite a few code samples in CQL, Java, and more. It’s always been my desire to make it simple for readers to leverage these code samples without having to type out each…


My toolset for Cassandra: The Definitive Guide, 3rd Ed

Last night I completed the first draft of the final chapter of the 3rd edition of Cassandra: The Definitive Guide for O’Reilly (early access chapters available at the link). That might explain where all my writing energy has been invested lately :).

Now that I get a short pause while my reviewers take aim at the text, I thought it was about time to get back to blogging. I received a question about the image in that tweet above which inspired me to write this post:

What tool do you use for writing the book?

Great question! …


Porting a Java microservice to use an Apache Cassandra DB as a Service

In case you haven’t heard, DataStax has announced a free Beta for our Apache Cassandra as a Service offering, known as Apollo. Apollo is the first service to be released on our cloud platform known as Constellation.

I wanted to share a few of my first impressions and tips on using Apollo. I’ll provide a quick disclaimer up front that since this is a Beta, some of the details and links I share will be subject to change.

As part of the Beta you can create clusters in both Constellation (deployed on Amazon Web Services) and Google Cloud Platform…


Continuing upgrades on KillrVideo Python

In a previous series I wrapped up a couple of months ago, I shared how I had created a microservice implementation in Python for the KillrVideo application, a reference application my team built to demonstrate best practices for developing with Apache Cassandra and DataStax Enterprise.

The response to this series has been great, as I published it first on my Medium blog and then crossposted to the DataStax Developer Blog. While the whole series has been well received, “Cassandra with Python: Simple to Complex” has become my most popular post.

In the final post in the series, I described how…


Part 9 — concluding a series on the KillrVideo Python implementation

In this series I’ve been sharing how I built my first Python application with Apache Cassandra — a Python implementation of the KillrVideo microservice tier. As I reached the end of the project, I was able to share at the recent DataStax Accelerate conference some lessons learned. Here are my slides from that presentation:

You can access the presentation recording (slides and audio) via the Accelerate website (registration required) — my talk is part of the “Building Modern Applications” track.

For the final post in this series, I thought I would summarize some of the lessons learned that I…


Part 8 of a series on the KillrVideo Python implementation

Over the past couple of months I’ve been blogging about building a Python application with Apache Cassandra — specifically a Python implementation of the KillrVideo microservice tier — and we’re getting close to the end!

In the first few posts I shared about why I started this project, how I incorporated GRPC and Etcd, and the testing approach. Then we looked at implementing the KillrVideo Python services, including simple and more complex data access using various features of the DataStax Python Driver. In the most recent post I shared how I introduced Kafka into the architecture in order to pass…


Part 7 of a series on the KillrVideo Python implementation

This is the latest installment of a series about building a Python application with Apache Cassandra — specifically a Python implementation of the KillrVideo microservice tier. In the first few posts I shared about why I started this project, how I incorporated GRPC and Etcd, and the testing approach. In the most recent two posts I’ve taken you on a guided tour of the data access code for most of the KillrVideo Python services, including simple examples using the cqlengine mapper, and more complex Cassandra data access using other features of the DataStax Python Driver.

The final service to implement…


Pt. 6 of a series on the KillrVideo Python project

This is the latest installment of a series about building a Python application with Apache Cassandra — specifically a Python implementation of the KillrVideo microservice tier. In previous posts I shared what motivated this project, how I started with infrastructure including GRPC and Etcd, the testing approach, and most recently, how I began implementing data access using Cassandra.

In this post we’ll look at some additional examples of data access using the DataStax Python Driver, ranging from the simple to the complex. …


Pt. 5 of a series on the KillrVideo Python project

Over the first few posts of this series, I’ve been sharing about my experience building a Python implementation of the KillrVideo microservice tier. In the previous posts I shared why I started this project, about building GRPC service stubs, advertising the endpoints in etcd, and setting up integration tests to exercise the service APIs.

So it took four posts to describe all of the setup prior to implementing any business logic or data access code! All that work made me wonder if maybe the rest would be easy in comparison.

This post is all about writing the business logic and…

Jeff Carpenter

I’m a software engineer who is passionate about distributed systems, architecture, and helping developers succeed. Opinions are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store