So my latest endeavor in the Azure space is the build out of an HA website that talks to a SQL backend that must also be highly available. Additionally, access to the website had to be limited to AD-authenticated users only.
To construct this environment, I started by provisioning three Resource Groups: Primary, Secondary, and Tertiary.
The Primary Resource Group, which resides in US East, will house the production "stuff". The Secondary Resource Group is provisioned in US West and it will house the DR site resources. I reserved the Tertiary Resource Group (in South Central US) for my Traffic Manager resource and any other random resources that I might need.
After provisioning my Resource Groups, I went ahead and provisioned my production Web App (WebAppProd) by deploying a "Web App + SQL" resource. In doing so, I also provisioned my production SQL server (WebAppProdSQLSvr) and my production SQL database (WebAppProdSQLDB), making sure that I included my Service Group in US East.
Once my production database was deployed, I configured geo-replication for it. During geo-replication configuration, I specified and deployed my DR SQL server (WebAppDRSQLSVR) in the US West region. Within a few minutes, my production database was replicating to my DR location.
With my database replicating to my DR site, I went ahead, deployed another “Web App + SQL” resource (WebAppDR) as my secondary Web App to the US West region, and housed it in my Secondary Resource Group. When prompted for a database during provisioning, I pointed my web app at my DR SQL instance (WebAppDRSQLSVR) and replicated production database (WebAppProdSQLDB). After waiting a few minutes, my secondary web app was deployed and running.