High Availability Options For SQL Server
For your onsite solution Standard Edition allows you to implement a two node Failover Cluster Instance with Basic Availability Group or database mirroring. https://msdn.microsoft.com/en-us/library/mt614935.aspx

For your offsite solution you could implement log shipping.

They are using the "Always On" naming convention for a lot of the high availability options now.  There is Always On Failover Cluster Instances which is the old Windows Server Cluster Service that is for hardware failover with SQL Failover Cluster Instance that is for SQL Instance failover.
Then, there is Always On Availability Groups which requires Enterprise Edition and consists of a group of databases that can failover to replicas and replicas can be read-only, if one so desires.  Basic Availability Group is a limited version of the Always On Availability Group, and is for just one database. It will completely replace database mirroring when it is removed from future versions.  Lastly, database mirroring still exists.

SQL Server 2016 Edition Feature Comparison:
https://msdn.microsoft.com/en-us/library/cc645993.aspx

If you can fulfill business requirements with Standard Edition, then there is less reason to go virtual, which adds a whole other layer of complexity.