Check out Hyper.sh too. It abstracts away the whole datacenter -- you can use `hyper` instead of `docker`, basically. You don't need to think about VMs ever as a concept, containers run directly on the hypervisor. And they have Hyper Func, an AWS Lambda-like alternative that uses images. And per second billing.
On the downsides, they're small and they have one data center, and they're not Microsoft. But their tech is open source.