I am in the process of migrating to Amazon AWS and need a SQL server high availability solution. The current licence that I have is SQL standard 2016. At this time Amazon does not support shared volumes for Windows instances. Therefore, I am not able to do a regular SQL cluster fail over solution. This is the one where if the entire server goes down the stand by server picks up the slack and continues writing to the same storage. My only option is high availability always on basic groups. As I am starting to get familiar with this feature I find it very maintenance intensive and can see it becoming a problem when dealing with thousands of databases. In my case I have about 5k databases mostly small in size 600mb or less each. My question is Amazon not a viable hosting environment for a full SQL fail over solution. Is the high availability always on basic groups one per database a viable solution?
I did a presentation on this during the summer @ SQL Saturday - LA and you have a few options. In some cases, you need clustering if Mirroring isn't an option and AlwaysOn AGs require cross database (but same instance I believe) transactions using MSDTC on some versions of SQL Server.
Thus in order to provide failover clustering support in AWS I used an AWS Storage Gateway to act as a routable SAN. This was simple to setup and was secured easily via the AWS security groups. We then used mirroring to mirror to Azure and on Azure I used the new SQL and Windows 2016 shared storage direct solutions which are an option for AWS if you use Windows 2016.
Please note I had to configure both secret and not secret auth for the configuration to work. YMMV
S2D Options For Windows 2016: Here are a few items I had to do with S2D on Windows 2016. Note the hypervisor in this case is Azure but same concept applies: -These are the S2D requirements for us, read the docs for your environment.