• Thread Author

PostgreSQL has unequivocally become a frontrunner among database solutions tailored for cloud-native, containerized environments, with adoption rapidly accelerating in the Kubernetes ecosystem. A recent Kubernetes in the Wild 2025 report reveals that PostgreSQL now powers 36% of all database workloads operating on Kubernetes clusters—a substantial 6-point increase over the past three years. This statistic reflects more than just a trend: it highlights a broader trust in PostgreSQL's maturity, extensibility, and its fit for the demands of modern infrastructure.

The Promise and Complexity of PostgreSQL on Kubernetes​

As organizations modernize their data layers and scale applications, Kubernetes has emerged as the platform of choice for orchestrating not only stateless microservices but increasingly, critical stateful workloads. PostgreSQL, with its robust feature set and active open-source community, now figures prominently in this transition. The appeal lies in PostgreSQL’s reliability, performance optimizations, and the active ecosystem of operators and tooling built around it.
However, operating data-intensive PostgreSQL workloads within Kubernetes presents distinct architectural and operational challenges. Unlike stateless applications, databases are sensitive to latency, data loss, network partitions, and the nuances of persistent storage. Achieving optimal PostgreSQL performance on Kubernetes demands careful management of primitives like StatefulSets, persistent volumes, database configurations, and replication architectures. These technical complexities have, historically, acted as barriers for enterprises considering Kubernetes-native databases for mission-critical workloads.

Innovative Options: Azure’s Dual Approach to PostgreSQL Storage​

Microsoft Azure is at the forefront of addressing these challenges, offering enterprise customers two highly differentiated storage strategies for running PostgreSQL in Azure Kubernetes Service (AKS):
  1. High-Performance Local NVMe Backed by Azure Container Storage
  2. Optimized Price-Performance with Premium SSD v2
Each storage option is tailored to unique performance profiles, cost sensitivities, and workload characteristics.

1. Local NVMe for Ultra-Low Latency and High Throughput​

Some PostgreSQL deployments, such as those found in payment processing, gaming backends, or real-time analytics, demand not only transactional integrity but also ultra-low latency and massive parallel IOPS. Azure responds to this need with local NVMe attached directly to Azure VM SKUs, orchestrated via a managed Azure Container Storage solution.
Historically, harnessing local NVMe with Kubernetes required manual RAID configurations and static volume management. Azure Container Storage simplifies this, allowing dynamic provisioning of high-performance block storage, seamlessly integrated into the Kubernetes environment. Developers can now request persistent volumes through Kubernetes APIs, with Azure dynamically assigning available local NVMe capacity behind the scenes.

Benchmark Insights​

Real-world benchmarks underscore the performance advantage of this approach. On Standard_L16s_v3 VMs, PostgreSQL achieved nearly 15,000 transactions per second (TPS) at single-digit millisecond latency. When scaled upward to Standard_L64s_v3, TPS figures exceeded 26,000, still maintaining impressively low latency. These results position Azure’s local NVMe solution as a category leader for write-intensive, latency-sensitive PostgreSQL workloads.
Equally important, Azure Container Storage adds versatility, supporting not just local NVMe but also Azure Disk and Elastic SAN (currently in preview). This enables organizations to blend storage durability, scale, and cost controls—all under a common Kubernetes-native management plane.

2. Premium SSD v2 for Flexible, Cost-Efficient Scaling​

Most production workloads require a delicately balanced compromise between performance and operational cost. Azure Premium SSD v2 is designed squarely to satisfy this reality, boasting flexible scaling where IOPS, throughput, and size can be configured independently of each other. This modularity is invaluable for multi-tenant SaaS environments, platforms with unpredictable traffic, or rapidly scaling business applications.
Premium SSD v2 delivers up to 80,000 IOPS and 1,200 MB/s per volume, making it well-suited for demanding PostgreSQL deployments. Unlike local NVMe, which is directly tied to specific VM capacity and incurs higher costs at large scale, Premium SSD v2 allows granular cost control by matching persistent volumes to current database demands—minimizing overprovisioned resources and optimizing infrastructure spend.

Benchmark Insights​

In benchmark head-to-head testing, Premium SSD v2 with 32 GiB disks (configured at 3000 IOPS and 125 MB/s throughput on Standard_D16d_v5 VM SKUs), delivered 8,600 TPS with 7.417 ms average latency. While not as blisteringly fast as the local NVMe solution, Premium SSD v2's performance is more than sufficient for a broad range of mission-critical production workloads where elastic cost controls and scale take precedence.

Comparative Table: NVMe vs. Premium SSD v2 for PostgreSQL on AKS​

Storage OptionVM SKUTPS (Benchmark)Latency (ms)Max IOPSMax ThroughputScalabilityRedundancyPrice/Value
Local NVMe (Azure Container Storage)Standard_L16s_v314,8124.321Up to VM specsUp to VM specsTied to VM SKU, fixedReplica-based HA, operator managedHighest performance, higher cost
Premium SSD v2Standard_D16d_v58,6007.41780,0001,200 MB/sFlexible, disk-basedLocal redundant, defaultBalanced, flexible scaling
Pricing and configuration details are directionally accurate as of the latest Azure documentation, but actual costs and performance may vary by region and VM family. Always consult the Azure Pricing Calculator for current rates.

Data Durability and High Availability: Choosing with Confidence​

The decisive factor for many organizations—especially those migrating critical relational workloads to the cloud—is not just raw performance, but a seamless blend of durability, redundancy, and operational continuity.

Local NVMe: Replica-Driven Resilience​

While local NVMe storage offers peerless speed, its "local" nature means there is an inherent risk of data loss if a node or VM fails unexpectedly. To mitigate this, Azure strongly recommends a replica-based architecture using open-source tools like the CloudNativePG operator, complemented by off-node backups—ideally to Azure Blob Storage. CloudNativePG brings automated failover and replication, so applications experience near-zero downtime in the event of an underlying node failure.

Premium SSD v2: Built-in Redundancy​

Conversely, Premium SSD v2 provides local redundancy by design, reducing the operational burden of configuring high availability through external operators. The risk of data loss due to isolated hardware incidents is lower, and organizations can still layer on replica-based strategies for even more robust disaster recovery.

CloudNativePG Operator: The Heart of PostgreSQL’s Cloud-Native HA​

At the core of Azure’s PostgreSQL approach on AKS lies the CloudNativePG operator, a mature, open-source Kubernetes operator that brings enterprise-class high availability to PostgreSQL clusters.
Key features of CloudNativePG on AKS include:
  • Built-in Replication and Automated Failover: Ensures that new primary nodes are rapidly promoted in case of a failure, minimizing database downtime.
  • Application-Consistent Backups: Deep integration with Azure Blob Storage, allowing teams to execute uniform backup strategies natively.
  • Flexible Storage Backend: Works seamlessly with both Premium SSD v2 and Azure Container Storage (local NVMe), so deployments can target the optimal price-performance tier by workload.
This operator-centric approach dramatically simplifies the complexities previously associated with building resilient, highly available PostgreSQL clusters on Kubernetes. Teams can confidently deploy stateful applications without the manual scripting, custom glue code, or brittle backup workflows that have historically hampered cloud-native database adoption.

Use Case Scenarios​

Ideal Workloads for Local NVMe​

  • High-frequency transaction processing systems such as payment gateways, trading platforms, and gaming engines.
  • Real-time personalization and analytics workloads where query response times are business-critical.
  • AI inference pipelines that require rapid aggregation and transformation of large datasets close to compute.

Workloads Best Served by Premium SSD v2​

  • Multi-tenant SaaS platforms with unpredictable or cyclical traffic patterns.
  • Enterprise production systems operating at scale, where budget predictability and long-term capacity planning are vital.
  • Applications requiring flexible growth, where storage can expand or contract dynamically based on actual usage.

Critical Assessment: Notable Strengths and Emerging Risks​

Notable Strengths​

  • Seamless Kubernetes-native Management: Both storage options are tightly integrated with Kubernetes APIs and Azure’s managed control plane, lowering the operational friction for platform teams.
  • Benchmark-verified Performance: Transparent publication of TPS and latency metrics arms architects with actionable data for decision-making.
  • Options Align with Real-World Scenarios: The dual storage approach targets both high-performance and cost-sensitive workloads, eschewing a one-size-fits-all mindset.
  • CloudNativePG Operator: Native HA and backup features dramatically simplify enterprise PostgreSQL deployments, accelerating adoption.
  • Future-ready Platform: Azure’s investment in expanding stateful support—including Elastic SAN and evolving storage patterns—signals a sustained commitment to serving data-heavy applications.

Potential Risks and Considerations​

  • Local NVMe Data Loss Potential: While high-performance is compelling, local NVMe’s susceptibility to node failure means strict adherence to replica-based HA and frequent off-host backups are not just best practices but necessities. Any deviation can significantly elevate data loss risks.
  • Cost Management Complexity: Performance comes at a premium with local NVMe, and cost modeling can become complicated as scale and redundancy requirements increase. Accurate cost forecasting is essential.
  • Operator Learning Curve: Adopting CloudNativePG or similar Kubernetes operators introduces operational workflows that may differ significantly from traditional DBA practices. Investing in training and robust automation scripts is advised.
  • Cloud Lock-in: Azure’s managed features confer operational advantages, but also bind enterprises more tightly to the Azure ecosystem in terms of storage, backup, and support contracts. Migrating away may be costly or disruptive.
These caveats aside, for most enterprises, the benefits around scalability, performance, and manageability will easily outweigh the operational challenges—especially with the level of transparency and choice now offered by Azure.

Azure AKS and the Future of Stateful Workloads​

Azure’s architectural choices reflect a broader trend: the increasing maturity and mainstream acceptance of running stateful, highly available application tiers on Kubernetes. The platform is already being used to orchestrate not just PostgreSQL, but Redis, MongoDB, Kafka, and even cutting-edge AI/ML serving pipelines—all with GPU-backed nodes when required.
Azure Kubernetes Service’s support for advanced storage patterns (local NVMe, Premium SSD v2, Elastic SAN) and proven cloud-native operators provides teams with the flexibility to select, optimize, and scale stateful workloads based on the exact business and technical requirements—without having to resort to custom or fragile workarounds.

Conclusion: Why the AKS + PostgreSQL Pairing Matters​

Running PostgreSQL on Azure Kubernetes Service doesn't just make technical sense—it empowers enterprises to modernize core data services, making them more scalable, resilient, and cost effective. Azure’s commitment to supporting both blazing-fast NVMe and flexible, price-efficient Premium SSD v2 means organizations don’t have to compromise. Meanwhile, the deep integration with open-source CloudNativePG ensures that industry-standard best practices for high availability and backup are not merely possible, but practical at scale.
For IT architects, DBAs, and platform engineers seeking to break out of the rigidity of legacy infrastructure, Azure’s AKS, crowned by its PostgreSQL innovations, offers a compelling launchpad for the future of cloud-native, data-driven application development.
Now more than ever, the choice isn’t whether to run mission-critical databases like PostgreSQL on Kubernetes; it’s about picking the right blend of performance, durability, and operational simplicity to power the next wave of digital transformation. With proven guidance, transparent benchmarking, and an ever-growing ecosystem, Azure Kubernetes Service stands ready to deliver on this promise—today and into the future.

Source: Microsoft Azure Running high-performance PostgreSQL on Azure Kubernetes Service | Microsoft Azure Blog