DH2i Blog Article

Achieving Adequate Uptime for SQL Server in Kubernetes Means Thinking Outside the Pod

Josh Achtemeier
/
August 28, 2023

There is a reason why SQL Server isn’t exactly considered low-hanging fruit for Kubernetes containerization projects. The average SQL Server environment can be accurately described as nothing less than a “beast.” These environments can be massive in size and have a reputation for gobbling up much more than their fair share in budget dollars. Additionally, SQL Server environments:

  • Hold organizations’ most valuable data assets and require stringent security
  • Have critical uptime requirements, necessitating planned and unplanned downtime mitigation
  • Involve a high degree of management complexity with disparate OSes and infrastructure

Containers pose massive potential for significant gains in SQL Server agility, flexibility, cost-reduction, and more for organizations, but the uptime requirements of SQL Server workloads represent the critical bottleneck in the move to containerized deployments in Kubernetes.

Kubernetes Out-of-the-Box High Availability

As a standalone technology, Kubernetes does integrate some high availability functionality to help protect containerized SQL Server workloads. Built-in capabilities include pod replication, load balancing, service discovery, persistent volumes, and StatefulSets. These features allow Kubernetes to protect against things like:

  • Pod failure – Individual pods crashing due to resource contention issues or something else
  • Node failure – Anytime node becomes unavailable to cluster e.g. Hardware failure
  • Cluster failure ­– The loss of cluster communication capability e.g. Failure of control plane node

However, this is where an important distinction needs to be made—the distinction between high availability (HA) solutions that are ready to handle critical SQL Server workloads, and those that are not.

Kubernetes is a feature-rich container orchestration technology that has unlocked amazing possibilities for container-use in the IT industry, but when leveraged as a standalone HA solution, it cannot be considered a viable option for SQL Server workloads. This is predominantly due to the inherent latency associated with failover. By default, it takes Kubernetes five minutes to reschedule workloads from unreachable nodes. In 2023, this is not an acceptable failover baseline for SQL Server by any stretch of the mind. For the largest corporations, SQL Server downtime expense can reach well into the thousands of dollars per second, and settling for a 5-minute minimum downtime window for any failover is totally unacceptable.

So, while Kubernetes is the perfect technology for many container implementations, it does not have the chops to take on SQL Server high availability by itself. Fortunately, the surrounding technology ecosystem has evolved to bring integrated solutions to eliminate excessive downtime from SQL Server Kubernetes deployments.

High Availability Tailormade for SQL Server Containers

DxEnterprise (DxE) Smart High Availability Clustering software has been around for over a decade helping customers throughout the world ensure high availability for their mission-critical SQL Server environments. Now, what started as a solution for native SQL Server instances has been enhanced with industry-leading capabilities to unlock virtually zero downtime for SQL Server Kubernetes environments.

DxEnterprise takes Kubernetes cluster control to an even finer level of granularity—integrating health monitoring and failover automation at the database-level rather than the pod-level. In fact, DxEnterprise has been officially endorsed by Microsoft as the best approach to facilitating high availability for SQL Server in Kubernetes due to the powerful functionality it provides like:

  • Automatic failover for SQL Server Availability Groups in Kubernetes
  • Cross-site, cross-region, and cross-cloud Availability Group deployments
  • Boosted network performance through proprietary UDP tunnelling
  • Significantly reduced failover time from minutes to seconds
  • Ease of deployment using Rancher and/or Helm charts

This swath of DxEnterprise-derived enhancements helps add the secret sauce to Kubernetes to optimize high availability for even the most heavy-duty SQL Server environments. And the best part; it’s easier than ever to modernize your SQL Server with containers and unlock unparalleled cost-control, agility, and portability.

Reach out at [email protected] or get signed up for a personalized demo to learn how you can migrate your SQL Server to containers in literal minutes.

If you’re interested in learning more about DH2i’s approach to smart high availability technology, get signed up for a one-on-one demo today.

The author
Josh Achtemeier

Native. Containerized. Anywhere in Between.

DH2i gets you closer to zero downtime.