DataStax is the company behind the massively scalable, highly available, cloud-native NoSQL data platform built on Apache Cassandra™. DataStax gives users and enterprises the freedom to run data in any cloud at global scale with zero downtime and zero lock-in.
Developer Self-Service Feature Branching
The Cloud Services and Infrastructure team led by Frank Moley was tasked with empowering DataStax Astra engineers with self-service feature branching deployment capabilities to accelerate velocity and time-to-market.
DataStax Astra is a database-as-a-service built on Apache Cassandra and designed from the ground up to run anywhere, on any cloud, in any data-center, and in every possible combination.
We needed a solution that would allow us to focus on implementing pipelines versus managing the platform that provided them.Frank Moley | Engineering Manager | DataStax
Challenges with Operating Spinnaker For CD
Over the past year, Frank’s team had self-hosted and self-managed the open-source project Spinnaker prior to their feature branching initiative.
“In the end, the overhead of managing Spinnaker became unworkable for the team,” said Frank. “We needed a solution that would allow us to focus on implementing pipelines versus managing the platform that provided them.”
In addition, debugging and troubleshooting failed deployments could often take 4-5 hours when changes were made. It became difficult to understand and trust what versions of services were running on specific clusters and environments.
DataStax CD requirements changed from basic containerized Kubernetes deployments to dynamic feature branching deployments, where engineers could deploy to their own namespaces within Kubernetes clusters.
With Spinnaker, onboarding new Astra teams/services could take several hours in addition to implementing canary deployments and automatic rollbacks, which was estimated to be several weeks of work.
Spinnaker wasn’t a good fit for our CD requirements around feature branching.Frank Moley | Engineering Manager | DataStax
Plug and Play Continuous Delivery With Harness
Harness Continuous Delivery as-a-Service allowed the DataStax Astra team to focus on implementing pipelines vs. managing the CD platform that provided those pipelines.
GitOps and GitSync capabilities combined with pipeline templates meant deployments could be managed as code with repeatable feature branching processes and rapid onboarding for development teams.
Native integrations with HashiCorp Terraform meant dynamic infrastructure provisioning, along with seamless integration of AWS secrets manager into deployment pipelines, meant dependencies with Jenkins could be eliminated altogether.
We didn’t have to change anything with our existing CI/CD process, Harness was plug & play and just worked out-of-the-box.Frank Moley | Engineering Manager | DataStax
Today, troubleshooting deployments with Harness now takes less than a minute with granular transparency of deployment execution.
Audit trails also mean teams can understand and trust what versions of services are running on any cluster or environment in seconds.
Franks team also hopes to implement Canary deployments and automatic rollback within days so they can perform progressive delivery across their environments.
With Harness, we were able to reduce engineering TOIL by 20-30%.Frank Moley | Engineering Manager | DataStax
Best Practice Continuous Delivery Across 25-30 Engineers
With Harness, Frank’s team achieved the following results:
- DataStax Astra team has implemented best-practice Continuous Delivery across 25-30 engineers
- Reduced engineering TOIL (20-30% of engineer time) associated with managing old CD platform which more than paid for the cost of Harness
- Reduced onboarding time of new services from a couple of hours to a couple of minutes
- Reduced deployment troubleshooting by 98% from 1 hour to under 1 minute
- Reduced time of implementing canary deployments and automatic rollback from several weeks to days