Illustration Image
Company: Yelp
Industry: Social Media and Networking
Functional Use Case: Data Store

This use case is based on an article originally published here.

Yelp’s infrastructure for Cassandra had been deployed on AWS EC2 and ASG (Autoscaling Group) for several years. Yelp’s platform as a service (PaaSTA) had been transitioning from Mesos to Kubernetes, providing an opportunity to explore the orchestration of Cassandra on Kubernetes.

The team’s objectives were to migrate Yelp’s Cassandra clusters from EC2-based management to Kubernetes-based orchestration and leverage the Kubernetes operator for Cassandra to capture database and infrastructure-specific requirements and operationalize learnings. There was a requirement to maintain the integrity and performance of the clusters during the migration process.

Solution and Results

Yelp developed a custom Cassandra operator that runs on Kubernetes and Yelp PaaSTA, with one operator per production region. The operator manages Cassandra clusters through Custom Resources and Statefulsets. Key responsibilities of the Cassandra operator include reconciling runtime state with cluster specification, scaling clusters safely, lifecycle management, coordinating with operators in other regions, and managing TLS credentials.

Yelp successfully migrated most of its production Cassandra clusters to Kubernetes, with the remaining migrations in progress. The transition to Kubernetes-based orchestration has reduced operational toil and improved the overall management of Cassandra clusters at Yelp. The custom Cassandra operator has enabled efficient and safe management of the clusters, ensuring they meet the desired specifications and requirements.

Future Plans

The team had plans to explore zero-downtime migration strategies, anti-affinity for availability, CI/CD pipeline for Cassandra deployments, and fleet management with Clusterman. They also hoped to continue refining and enhancing the Cassandra operator for better management and performance of the clusters.

Read the original article for this use case here:

Stack Includes: Apache Cassandra

Want to share your use case?

Planet Cassandra is the home page for the Cassandra Community, where everyone in the community can share their use cases.

Show off what you've done & help others learn following your example & contribution.

Become part of our
growing community!
Welcome to Planet Cassandra, a community for Apache Cassandra®! We're a passionate and dedicated group of users, developers, and enthusiasts who are working together to make Cassandra the best it can be. Whether you're just getting started with Cassandra or you're an experienced user, there's a place for you in our community.
A dinosaur
Planet Cassandra is a service for the Apache Cassandra® user community to share with each other. From tutorials and guides, to discussions and updates, we're here to help you get the most out of Cassandra. Connect with us and become part of our growing community today.
© 2009-2023 The Apache Software Foundation under the terms of the Apache License 2.0. Apache, the Apache feather logo, Apache Cassandra, Cassandra, and the Cassandra logo, are either registered trademarks or trademarks of The Apache Software Foundation.

Get Involved with Planet Cassandra!

We believe that the power of the Planet Cassandra community lies in the contributions of its members. Do you have content, articles, videos, or use cases you want to share with the world?