I agree that Kubernetes is a game changer which makes it much easier to run your own applications. If all you have is VMs then the services (RDS, EFS, etc.) offered by AWS are more effective. With a container scheduler there is less maintenance and the decision is harder.
BTW Shoutout to Ev from Gravitational, they are proper Kubernetes experts and we appreciate their help on GitLab, especially making https://github.com/gravitational/console-demo for our k8s integration efforts.
If you have VMs, AWS is not necessarily the answer if you have a relatively static workload. You are lighting money on fire by the buckets if you pay AWS for a fixed amount of always on instances.
I agree that for just static VMs AWS is not a good deal. I meant that if you're still stuck with a VM architecture (using Chef/Puppet instead of a container scheduler) in many cases it makes sense to pay for AWS services (such as running a database for you) instead of doing it yourself. I think container schedulers will change that balance for many companies, making self managed service attractive for smaller organizations than before.
Netflix is also almost certainly far into the "contact us" price tiers, so they're a useless example for cost-effectiveness of AWS unless/until they actually publish what they pay. If it's anything near the listed tiers, they're being ripped off, based on what little I know of the kind of discounts much smaller players have negotiated.
BTW Shoutout to Ev from Gravitational, they are proper Kubernetes experts and we appreciate their help on GitLab, especially making https://github.com/gravitational/console-demo for our k8s integration efforts.