BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News OpenEverest: Open Source Platform for Database Automation

OpenEverest: Open Source Platform for Database Automation

Listen to this article -  0:00

Percona recently announced OpenEverest, an open-source platform for automated database provisioning and management that supports multiple database technologies. Launched initially as Percona Everest, OpenEverest can be hosted on any Kubernetes infrastructure, in the cloud, or on-premises.

The main goal of the project is to avoid vendor lock-in while still providing an automated private DBaaS. Built on top of Kubernetes operators, it aims to avoid complex deployments that depend on a single cloud provider's technology. OpenEverest is modular, allowing developers and DBAs to combine different databases, storage systems, and deployment methods to meet specific requirements.

OpenEverest Console

Source: OpenEverest documentation

Its core functions as a plugin system, supporting features such as GKE Autopilot and pod scheduling policies. Sergey Pronin, maintainer of OpenEverest and founder of Solarica, explains:

Right now, we’re focused on database management, but the real vision is bigger than that. We’re creating a modular foundation where you can seamlessly plug in additional data engines, connect with your entire operational stack, and tackle a broader range of data infrastructure challenges.

The project simplifies operational tasks such as software updates, monitoring, storage scaling, and external access configuration through its web UI and REST API. The DatabaseCluster, DatabaseClusterBackup, and DatabaseClusterRestore custom resource definitions define how OpenEverest declaratively provisions database clusters and manages their backups and restores in Kubernetes, enabling these operations to be handled as native, versioned Kubernetes objects and hiding most of the differences specific to the database operator.

When Percona introduced the beta of the project, the response from the community was mixed, sparking a debate on Hacker News about whether running database clusters on Kubernetes was a good idea: some were skepical about using Kubernetes for data workloads, others highlighted the benefits of managed backups, clustering, scaling, upgrading, tuning, while one user noted that "Kubernetes is bad for running databases" is a very outdated belief.

Today, the project supports deploying and managing MySQL, PostgreSQL, and MongoDB database clusters using the respective Percona operators for each engine. It handles database provisioning and scaling, backups and disaster recovery, role-based access control, and flexible resource allocation on Kubernetes. The latest release, OpenEverest v1.11.0, adds support for PostgreSQL 18.1 and more flexible networking with NodePort support.

Support for tools such as ClickHouse, Vitess, DocumentDB, Valkey, and integrations with Prometheus and other observability platforms is in the works. According to the vision page, the long-term goal is to provide a flexible open source option for building and operating data platforms, leveraging Kubernetes' popularity: "According to the Data on Kubernetes survey, 50% of organizations already run data workloads on Kubernetes in production." Pronin clarifies the transition from a single-vendor solution:

The project is transitioning to become OpenEverest, an independent open source project with open governance and a thriving, multi-vendor community. (...) OpenEverest will operate with transparent, community-driven governance, moving away from single-vendor control.

The team plans to donate the project to the CNCF to ensure long-term independence while continuing to guide it through the incubation process. OpenEverest is not the only option for managing database clusters on Kubernetes. KubeBlocks is an open-source operator (AGPL-3.0 license) designed to manage multiple database types through a unified API, currently supporting 35 database engines, significantly more than OpenEverest, while KubeDB is a database management platform that supports various databases but is no longer fully open source. Furthermore, database-specific operators such as StackGres target a single popular open-source database and provide deep feature sets for that engine.

OpenEverest is licensed under the Apache License 2.0.

About the Author

Rate this Article

Adoption
Style

BT