With the growing Kubernetes adoption and community contribution, Kubernetes has evolved as the leading platform for every type of application, including stateful applications. In fact, in a recent Diamanti survey of IT decision-makers, databases emerged as one of the top container use cases. A lot of improvements from the Kubernetes community, such as storage class, persistent volumes (PV), and container storage interface (CSI), have helped accelerate the deployment of stateful applications on Kubernetes. The operator framework has further greatly simplified stateful application deployment. However, stateful application management requires complex, multistep processes for provisioning, failover, backup/restore, and many other tasks, in addition to the Kubernetes provided constructs. The performance achieved by applications is bound by the underlying infrastructure.
The Diamanti platform not only simplifies the stateful application deployment and management by inherently supporting easy provisioning and providing many essential data services but also supercharges them to achieve extreme performance. Some examples of stateful applications include databases, messaging queues, cache, and object-store. In this blog, we will focus on the benefits of deploying PostgreSQL on the Diamanti platform.
With Diamanti, PostgreSQL can be deployed and scaled within seconds, thus providing unmatched simplicity. Check out this video to see how PostgreSQL can be deployed and scaled instantly in a few seconds on the Diamanti platform.
The features offered by cloud native storage are critical for data protection. The Diamanti platform lets you run secondary database workloads such as backups without impacting primary database workloads by providing enterprise-grade data services to help protect PostgreSQL data. In addition to the data services, Diamanti Spektra Management Console provides easy scalability for PostgreSQL. The CNCF webinar provides more details on utilizing these data services for stateful applications.
The Diamanti platform secures data in two ways: Isolation and Encryption.
Isolation: Most of the traditional storage solutions rely on host networks for storage data traffic. This data traffic competes with regular network traffic and imposes a security risk. The Diamanti platform provides complete isolation of storage and network traffic at the PCIe level using SR-IOV and separation of NVMe queues on a per-container basis. These isolation techniques help keep the application data more secure.
Encryption: The Diamanti platform provides software (volume encryption) and hardware (self-encrypting drives) security measures. To learn more about these measures, check out this blog on how to Secure Modern Applications with Diamanti.
Diamanti Ultima enables applications to achieve maximum performance out of the infrastructure. Since storage and networking are offloaded to dedicated PCIe cards, the CPU usage is kept to a minimum and can be completely utilized by the applications. IO wait time, which is critical for any stateful application, is also near zero on the Diamanti platform.
In addition to maximizing resource utilization, Diamanti Ultima also guarantees quality of service (QoS) for applications. This not only helps in meeting SLAs but also helps in avoiding noisy neighbor problems which are commonly faced by VM based platforms.
Diamanti’s intelligent storage architecture enables applications to achieve 1 million IOPS per node with sub-100 microseconds latency. All these factors help PostgreSQL achieve extremely high TPS with configurable performance tiers (For example: high, medium and best-effort) as shown below.
With only 1 high, 20 medium and 23 best-effort PostgreSQL instances, you can achieve a TPS of 15K at 1 ms latency for select-query-only workloads and TPS of 7.4K at 2.1 ms latency for TPC-B workloads. Achieving greater performance is just a matter of adjusting QoS. If high were to be defined as a minimum of 100K IOPS (as opposed to the default value of 15K IOPS), then TPS and latency numbers can be improved further, allowing you to optimize performance for your most important database workloads without sacrificing the performance of workloads in the medium tier.
Applications can be configured on Diamanti to run with different QoS tiers on the same cluster without over-provisioning. Thus, with the Diamanti platform, database management operations such as provisioning, scaling, backup/restore and guaranteeing high availability are streamlined for PostgreSQL. For a deep dive on how to instantly deploy, scale and manage PostgreSQL, refer to this Solution Design Guide.
The Diamanti platform provides the ease of deploying stateful applications, such as PostgreSQL, in seconds. It provides enterprise-grade data services and security measures to protect application data. Additionally, the Diamanti platform also helps you get the maximum performance from your infrastructure by guaranteeing QoS and achieving high performance at extremely low latency. All these contribute to making the Diamanti platform the go-to platform for stateful applications. For more details, check out the webinar on how to Supercharge Stateful Applications in Kubernetes. Interested in enabling Database-as-a-Service (DBaaS) for your organization? See how you can easily do it on the Diamanti platform.
Diamanti helps enterprises improve the performance of containerized applications by 10x to 30x while saving on the Total Cost of Ownership (TCO). To learn more, register for this upcoming webinar on how to Reduce Kubernetes TCO with Purpose-Built Infrastructure.