Microsoft offers a reference architecture for a SharePoint 2016 high availability farm under https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/sharepoint/. This is currently not a template, so you cannot adjust the resource groups or domain names.
The installation process works well and took 8 hours. The script can setup everything in one single run or can be started multiple times with different parameters to set up different parts of the solution. I chose the installation with the parameters infrastructure, workload and security. I skipped the additional vnet as an on-premise environment emulation and the VPN therefore.
The first installation step setting up the infrastructure. This includes vnet, active directory, SQL cluster and a jumpbox. The second step installed the workload, all SharePoint VMs. The last security step setting up all network security groups.
The farm works well after the installation. The SQL machines had other sizing (DS3) compared to the article (DS1). The farm is accessible from the jumpbox only, not from the internet. All accounts works well and are configured like described. Because of the 38 cores, the farm is really expensive with 150€ to 200€ per day in my subscription.
If you plan to create an ARM template out of this reference installation, it will took you many hours. The machine sizes, domain, resource groups, naming and many other things must be change to a configurable parameter. And the password is 166 times hard coded in the scripts 🙂 I would suggest to create a template from scratch, but reuse the infrastructure ideas and parts of this example.
(a german version of the article can be found here: http://www.thomas-zuehlke.de/2018/01/sharepoint-2016-ha-farm-on-azure/)