Skip to main content

OpenStack Trove

OpenStack Trove is a Database-as-a-Service (DBaaS) (database services) component that manages and automates lifecycle operations for relational and non-relational databases within OpenStack clouds.

  • Provisioning and management of database instances as OpenStack resources (database services)
  • Support for multiple database back ends through a pluggable datastore model (database services)
  • Integration with core OpenStack services such as Nova, Cinder, Neutron, and Keystone (cloud infrastructure)
  • Operations for backup, restore, scaling, and configuration of database instances (data management)
  • Multi-tenant database service with API-based control and policy integration (cloud platform services)

More About Trove

OpenStack Trove is a Database-as-a-Service (DBaaS) (database services) project that provides managed database capabilities on top of OpenStack infrastructure. It addresses the problem of provisioning, operating, and maintaining databases in a cloud environment by exposing database lifecycle management through a consistent Application Programming Interface (API) and integration with other OpenStack components.

Trove abstracts database engines as “datastores,” which are implemented via a pluggable architecture (database services). Each datastore corresponds to a specific database technology and version, and Trove coordinates the creation and management of database instances using underlying compute, block storage, and networking resources from services such as Nova (compute), Cinder (block storage), and Neutron (networking). Authentication and authorization are handled through Keystone (identity and access), aligning Trove with the wider OpenStack security and multi-tenancy model.

The service exposes a RESTful API (API services) that allows operators and application teams to provision new database instances, configure parameters, perform backups, and execute restore operations. Trove supports operations such as resizing instances, managing storage volumes, and administering users and databases within the managed engines (database administration). Backups are coordinated with OpenStack storage services, enabling point-in-time recovery and data protection policies within OpenStack-based clouds (data protection).

In enterprise and institutional environments, Trove is used to offer database platforms as on-demand services within private or public OpenStack deployments (cloud platform services). Cloud operators can define datastores and associated configurations that align with organizational standards, while application teams consume these databases via self-service workflows, typically through the OpenStack dashboard (Horizon) or programmatic integration. This model supports separation between infrastructure operations and application development teams while using the same OpenStack control plane.

Architecturally, Trove runs as a controller service interacting with OpenStack message queues, databases, and other control-plane services (cloud orchestration). It deploys and manages guest agents on database instances, which handle configuration and operational tasks inside the database virtual machines or instances. This design allows Trove to enforce consistent management workflows across different database technologies while delegating engine-specific operations to the datastore and guest agent implementations.

From a technical categorization perspective, Trove fits into database-as-a-service, cloud database management, and OpenStack application services (cloud platform services). Its interoperability with core OpenStack projects and its extensible datastore model enable operators to support multiple database engines under a single management framework, aligning database operations with existing OpenStack-based infrastructure management practices.