Multi-Subnet Always On with Availability Group for DR I researched a lot of mutli-geographical DR - Disaster Recoververy solution architectures for MSSQL and most of the proposed solutions I came across recommends HA using 2 nodes Failover clustering in one site and DR node in another location through the use of Availability Group such as the image below shows:



We currently have three physical machines and I came up with the following architectural.  It employs multi-subnet clustering for fail over and Availability Group for data replication between two sites.

My logic of doing this is that I can achieve DR solution with two nodes while I still can use my DR node for failover.  My third node - NODE3 is a read only used for Reporting so it is not suitable for DR nor a fail-over node.



My question is, is it okay or is it a best practice to have two nodes in a fail over cluster with one is a DR nodes?
Usually, if you want to use a node for "failover" (high availability), you want to have the AG set for synchronous replication (to enable the auto-failover).

That being said, if you set it to "sync" and it's in another site, you may have performance issue caused by network latency.

Also, if your "read only" node is not part of the AG, then you will have to implement something else to keep the data sync (or close to sync)

This is why we usually see 2 nodes on the same site (for High Availability) and a 3rd node on a remote site (for DR) that usually is an async replica.

I hope it will help you to make the right design.