DH2i Blog Article

Demonstrating the Wildest AG You’ve Ever Seen on Microsoft’s “Data Exposed”

Josh Achtemeier
October 24, 2023

On a random Thursday in September, our brave SQL Server heroes, OJ Ngo, Co-Founder and CTO at DH2i, and Amit Khandelwal, Senior Product Manager of SQL Server at Microsoft, set out on Microsoft’s “Data Exposed” show with the lofty goal to drop jaws and completely redefine how SQL Server Availability Groups can be leveraged in heterogeneous environments. The results of their efforts can be well summarized by the reaction of the show’s host, Anna Hoffman:

“I’m blown away by one, that this is possible, and two, how few commands you can do it in.”

What exactly did they show though? Let’s start from the beginning.

SQL Server Always on Availability Groups

Microsoft’s Always On Availability Groups (AGs) technology has now been around for over a decade since its original introduction in SQL Server 2012. Delivering high availability and disaster recovery, this powerful step up from traditional failover clustering is now appropriately regarded as a staple in the SQL Server high availability arena.

With each subsequent release since its creation, enhancements and features have been added to make AGs an increasingly powerful tool for SQL Server disaster recovery and HA. However, one particular bottle-necking constraint has never been removed from SQL Server Availability Groups; the need for the underlying cluster nodes to be like-for-like. This means only Windows nodes can be clustered together in a single Windows Availability Group, or only Linux nodes together in their own separate Linux Availability Group.

This is an unfortunate reality for IT pros to wrestle with because hybrid, mixed-platform deployments aren’t just growing more common; they’ve effectively established themselves as the new normal. In-turn, organizations with a need for both highly available Windows and Linux SQL Server in their environment are forced into a situation of managing multiple AGs, or a combination of other clunky SQL Server HA solutions like Pacemaker or Windows Server Failover Clustering. This equates to a high degree of management complexity, as well as a massive recurring technology and licensing expense.

Breaking Free from SQL Server Cluster Failover Constraints

DH2i set out to solve this problem with DxEnterprise (DxE) Smart High Availability Clustering software and already had a solution capable of clustering Windows and Linux nodes together several years ago. Not only that, but this technology unveiled cross-platform failover—the ability to failover a SQL Server database in Windows straight to Linux, or vice versa.

These accomplishments were the first couple building-blocks for the grand finale of technical capability that DH2i brought to the table in this episode of “Data Exposed.”

Setting Up the SQL Server Availability Group

Jumping into the demo introduction, OJ and Amit start by providing a brief description of the Always on Availability Group they will be creating; one single, unified AG containing:

  • One replica running Windows on OJ’s laptop
  • One replica running Linux on a VM in Azure
  • One replica running in a container in Azure Kubernetes Service (AKS)

Once configured, this unique cross-platform Availability Group will give the user the ability to right-click failover workloads between Windows, Linux, and containers within this same AG. This is worth a pause for dramatic effect…

Moving on, OJ begins the demo and prepares each replica and enters each of them into the AG quorum by running just a few simple commands. Most impressively—as Amit elaborates on—the last step on the AKS node uses a single command leveraging a DxEnterprise Helm chart to deploy a SQL Server container side-by-side in the same pod (sidecar). This Helm chart capability drastically simplifies initial configuration and reduces time to deployment. DH2i’s sidecar capability allows users to totally eliminate any combined-container image headaches and simplify ongoing support.

A big part of the “secret sauce” of this solution stack also comes down to how the SQL Server AG replicas are connected. The beauty of the DH2i software used in this demo is that the entire Availability Group is connected using secure, highly-performant zero trust network access (ZTNA) tunnels, a built-in feature in DxEnterprise. This means this AG was set up without opening any firewalls or establishing any VPNs to connect the three replicas. Connections were established using certificate-based endpoint authentication without creating any TCP commands, with all certificate creation being taken care of on the backend. 

Demonstrating Cross-Platform AG Failover Capability

After creating the 3-replica AG quorum, OJ moved on to adding a database to actually put the Availability Group to use. To demonstrate the true cross-platform capability of the AG, this database was then manually failed over from the Windows node to the Azure VM running Linux in a matter of seconds. “The SQL Server engine remains the same whether you run it in Windows, Linux, or containers,” Amit added.

The last step in the demo involved demonstrating automatic failover. While having the AKS container replica set as the primary database, OJ went ahead and executed a command to delete the pod. This prompted fast automatic failover of the workload to the Windows node facilitated by DxEnterprise. Additionally, AKS did its job and started up a new pod that it rejoined to the DxE and AG quorum. And within seconds of the original pod deletion, full database synchronization was reached between the three replicas with the Windows node operating as the new primary database.

Everything you just read about was shown in a 10-minute demo, so that demonstrates just how fast you can stand up a 3-replica Availability Group with DH2i. As an additional clarification, much of the demo showed management through the UI, but DxEnterprise can be administered exclusively through the CLI as well. This means these processes can be completely scripted for automation—something many DH2i customers are doing already to automate Kubernetes container deployments.

SQL Server AGs Spanning Anywhere to Anywhere

The DH2i team was incredibly grateful for the opportunity to be featured in this episode of Data Exposed, and even more excited to have a senior member of the Microsoft SQL Server product team evangelize DxEnterprise right beside us. So, huge thanks to Amit for joining OJ on this session.

The duo demonstrated DxEnterprise’s capability in a Windows, Ubuntu, and AKS cluster in this session, but there is no limit to this technology. You can create highly available Always On Availability Groups across sites, platforms, distributions, and containers. It is truly a cross-environment solution to unify heterogeneous IT installations anywhere. Deployment is made easy with Helm chart capability, and your whole Availability Group is effortlessly secured with built-in ZTNA tunneling technology.

As Amit mentioned, this whole stack is production-ready with Microsoft supporting the SQL Server component, and DH2i supporting the clusterware. You can get started whenever you’re ready by downloading free trial software right here.

Please let us know if you have any questions about the content in this blog and feel free to reach out if you’d like to schedule a personalized demo for your organization.

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.