With many PostgreSQL database deployments taking place in cloud environments, software-defined storage increasingly plays a critical role in both database performance and resilience for enterprise applications. As a full-featured, tier-1 relational database management system (RDBMS)2, PostgreSQL is growing rapidly3. DB-Engines ranking tool for popular database management systems, regularly shows PostgreSQL as one of the most popular open source RDBMS over the last several years.4
Enterprises deploying PostgreSQL for critical applications in cloud environments need more than a full feature set. They need both robust performance and resilience for critical data. Ultimately, software-defined storage is essential for achieving both. Like most databases, organizations have multiple methods to provide resiliency, including:
- Application-layer resiliency. With PostgreSQL replication, the database itself manages database resiliency. While this approach offers application awareness, it introduces greater complexity, requiring more in-depth PostgreSQL knowledge (or third-party software) to manage data replication. Moreover, any configured resilience applies only to PostgreSQL. Other applications and databases would need their own resilience methods, adding complexity and duplication.
- Storage-layer resiliency. In contrast, storage-layer resiliency relies on underlying storage services to manage data replication. This approach is usually more straightforward than implementing application-layer resiliency and provides potentially greater flexibility. Storage-layer resiliency protects not only PostgreSQL databases but also other types of databases and applications. It can also offer more control over replication fine-tuning.
Red Hat testing of the latest releases demonstrated storage performance comparable to cloud-native storage, even while OpenShift Data Foundation provided resilience across three Amazon Web Services (AWS) Availability Zones.
Crunchy Data PostgreSQL
PostgreSQL is a popular open source, object-relational database system with more than 20 years of continuous development. For testing, Red Hat engineers chose Crunchy Data PostgreSQL. Crunchy Data provides commercial support for PostgreSQL on a subscription basis, ensuring that enterprises of all sizes have access to certified software packages, updates, bug fixes, security patches, and 24x7x365 technical support from PostgreSQL experts. Crunchy Certified PostgreSQL is a trusted, commercially supported, and Common Criteria EAL 2+ certified distribution of open source PostgreSQL. Crunchy PostgreSQL for Kubernetes is a containerized PostgreSQL deployment that uses the operator pattern for Kubernetes and has achieved the autopilot capability level as part of Red Hat OpenShift Operator Certification.5
Crunchy Data helps enterprises benefit from the power and efficiency of PostgreSQL for critical applications through its suite of open source products and services, offering:
- More secure and high-availability PostgreSQL deployments.
- Elastic, hybrid cloud PostgreSQL solutions on all infrastructures.
- Geospatial, big data, and artificial intelligence (AI) architectures backed by PostgreSQL.
- Certified PostgreSQL installations and automated compliance verification.
Red Hat OpenShift Data Foundation
OpenShift Data Foundation offers more reliable and scalable persistent storage for cloud-native applications like PostgreSQL running in the cloud. It provides agile, scalable, portable, and highly available storage that can be provisioned and deprovisioned on demand. Application teams can dynamically provision PVs for many workload categories. The platform offers:
- Agility to streamline application and development workflows across hybrid cloud environments.
- Scalability to support emerging data-intensive workloads.
- Portability to allow simple data placement and access across cloud environments.
OpenShift Data Foundation features a software-defined storage platform based on Ceph®, which supports the needs of modern stateful applications. The use of the Kubernetes orchestration framework and Kubernetes operators makes OpenShift Data Foundation less complex and easier to install. Operators are software extensions to Kubernetes that use custom resources to automate and manage applications and their components.
Storage-based resiliency options
Within a cloud-based platform, organizations have choices for configuring and deploying storage-based resiliency. These choices can have ramifications for both performance and cost. Additionally, public cloud customers can choose between general-purpose storage classes or higher-performance, direct-attached storage volumes for their PVs. These storage options typically limit recovery from data failures to within a single AWS Availability Zone, which may not satisfy application requirements.6
In contrast, adding OpenShift Data Foundation to AWS storage volumes can provide data failover protection across multiple AWS Availability Zones—independent of the cloud-provider storage class selected. Red Hat testing has shown that this additional resilience can be accomplished while providing consistent performance for small databases. Table 1 summarizes the advantages and disadvantages of different AWS instance and storage classes, both with and without OpenShift Data Foundation.
While Elastic Block Store (EBS) general-purpose (gp2) offers failover within a single AWS Availability Zone, OpenShift Data Foundation adds automatic failover for AWS instances with direct-attached storage—resulting in additional performance and resiliency. AWS provides no storage failover options across multiple Availability Zones. In contrast, OpenShift Data Foundation provides automatic failover across multiple Availability Zones, while ensuring performance for applications.
Table 1. Red Hat OpenShift Data Foundation has performance, failover, and cost implications for single and multiple AWS Availability Zones. Open the full image.