September 25, 2024

Introducing Harness Database DevOps

Table of Contents

Harness Database DevOps is a new module that seamlessly integrates database changes into CI/CD pipelines, automating schema management and governance. It provides full visibility into database changes across environments, ensuring reliable rollbacks and compliance with centralized policies. With GitOps workflows and support for major databases, it enables developers and DBAs to collaborate more effectively, reducing bottlenecks and deployment risks.

We are thrilled to introduce the beta release of Harness Database DevOps, a new module designed to integrate database changes into your CI/CD pipeline seamlessly. Managing database changes can often be a bottleneck. Manual scripting, validation, and deployment of database changes are prone to errors and inconsistencies, leading to potential downtime and deployment failures. Database DevOps addresses these challenges so companies can finally treat database code like application code.

Why Database DevOps?

Database changes are a critical component of the software delivery lifecycle, yet they often lag in automation and integration. Traditional methods of managing database changes involve manual processes that are time-consuming and error-prone. This disconnect between application code deployment and database changes creates silos, causing delays and communication breakdowns.

Harness Database DevOps provides a unified solution that automates database change validation, deployment, and governance. By treating database changes as an integral part of the CI/CD pipeline, we ensure consistency, reliability, and faster delivery of value to your customers. Harness Database DevOps is more than just a tool; it’s a step towards a more integrated, automated, and efficient software delivery process.

Key Features

Orchestrate Database Changes

Harness Database DevOps allows you to manage your database like you manage your application code. You can check your schema changes into Git alongside your application code, ensuring both are versioned together. Harness Database DevOps provides the world’s first CI/CD pipeline with native database awareness, eliminating the need for separate processes and reducing the risk of deployment failures. Customers who leverage both Harness Database DevOps and Harness CD can take this one step further–deploying the database changes and application code changes in a single unified pipeline.

Harness Database DevOps enables you to leverage GitOps workflows when applying changes to your database schemas. Whether you manage your Git structure with a branch per environment or a folder per environment on a single branch, Database DevOps has you covered. Harness Database DevOps natively supports branch-per-environment GitOps structures such as those commonly used with ArgoCD and Vercel. For customers who prefer mainline development, Harness Database DevOps supports associating environments with a context to control which migrations are run against which environments.

Database DevOps pipeline example

Harness Database DevOps natively supports rollbacks, allowing you to revert to a previous state if a migration causes issues. This feature provides an added layer of safety, ensuring that you can quickly recover from any unforeseen problems. Many database operations can rollback by default, but custom rollback logic can be defined if desired.

Increased visibility across all environments

Quote from Harness customer on value of solution

Due to the manual processes surrounding database migration, many organizations lack visibility into which database changes have been deployed to which environments. Sometimes, environments are missed, leading to unexpected problems and downtime. Harness Database DevOps addresses this challenge by providing a unified environment overview that offers clear insights into the state of database changes across all environments.

With Harness Database DevOps, you can easily compare database schemas between different environments, ensuring that all necessary changes have been applied.

Dashboard of database environment migration states

The problems of visibility also extend into a lack of understanding of recent database changes. When an incident occurs, on call engineers often can not readily identify that a database change recently occurred. To help, Harness Harness Database DevOps provides visibility into all recent database changes. If a database change does have a negative consequence this allows the on-call engineer to identify it so that they can quickly roll back.

Overview of Harness Database DevOps including most recent deployments, executions, and migration states

Governance and Compliance

Harness Database DevOps includes a set of governance controls to ensure that all policies relating to the database are consistently followed. In addition to allowing integration of manual approvals into your pipeline, Database DevOps can automatically analyze the SQL that will be applied by a particular migration and ensure that it conforms to a set of centrally defined policies. This allows you to empower your developers to ship software more frequently while ensuring they stay safe.

Your DBA can centrally define policies that all database deployment will be tested against. These policies can analyze the requested change, as well as details such as database type and name from the database instance the changes will be run against. This granular control enables centralized enforcement while also permitting some operations to be allowed in development and test environments, while blocking them in production.

Example policy to prevent dropping data
Policy execution example

Supported Databases

Logos of supported databases

Today Harness Database DevOps supports:

  • Microsoft SQL Server 
  • MongoDB
  • MySQL 
  • Oracle Database 
  • PostgreSQL 

More are on the way and prioritized based on the needs of our design partners.

Join Us on This Journey

Harness has been discussing the challenges unique to stateful applications with our customers for several years. Since we started building Database DevOps we’ve worked with over 30 customers to define the ideal solution. These customers have helped design our UIs, provided valuable feedback throughout our prototype and alpha phases, and regularly use Database DevOps to deploy their schema migrations. 

As we enter public beta, we invite you to join us as a design partner to shape the future of Database DevOps. Your insights and feedback are invaluable as we refine and expand the capabilities of this module. Together, we can make database changes as seamless and reliable as application code deployments. To join the beta, sign up here for a demo, and we’ll get you started. To learn more, view our product page, check out the documentation on the developer hub, watch brand new demo videos on our YouTube playlist, or come to our session at KubeCon this November.

Database DevOps