>So people had to have virtual machines that scaled vertically and then all of a sudden they have to scale horizontally and it becomes very expensive very, very quickly.
I have to question this. If you're using something like (the very cool but expensive) F5 then yes, its expensive to set up. We really need some cheaper horizontal scaling. If you're running public cloud, renting your servers, then it is expensive. If you are licensing per CPU or core, then it is expensive.
However, If you run your own IT, if you have some cheapish load balancing and you're running open-source, then CPU and memory are not that expensive to scale out. Cloud is based on over-subscription - constant high usage ruins that model and providers cost things accordingly. Commercial software licensing is also often based not on utility to the customer, but technical characteristics. That encourages vertical scaling and discourages horizontal scaling. Just like the cloud providers, if you are scaling out, then acquire the technical skills and use lots of the relatively cheap tin.