>As a rule of thumb, vertical scalability is in most cases more economical than the horizontal one.
Isn't the opposite the reason why we started to scale horozontally in the first place?
There are exceptions - distributing the data can be really helpful if you need to do a lot of bulk I/O (ETL jobs, analytical queries, etc.), but it comes at the cost of making "transaction" use-cases difficult and expensive. Using a scaled-up OLTP database for user interaction and a scaled-out OLAP database for analytics and ETL jobs is a common pattern.
Amazon will rent you a machine with a TB of RAM in it for an hour for the price of a fancy coffee.
Horizontal scaling has enormous complexity costs. It's worth it if you are genuinely web scale (Facebook, Twitter etc) but very few projects are.
With horizontal scaling:
1. Spin up the new node(s)
With vertical scaling:
1. Spin down the node¹ (hopefully you've got more than one!)
2. Resize it
3. Spin the node back up
4. GOTO 1 unless all nodes are scaled up
OR (somewhat simpler, but at this point you might as well just horizontally scale):
1. Spin up the replacement node(s)
2. Spin down the old node(s)
That is: vertical scaling has more steps, even when done in a way similar to horizontal scaling. Sometimes it's necessary to scale vertically instead of horizontally, though (but in that case you might as well just horizontally scale with bigger nodes).
¹ It's theoretically possible to add and remove resources to/from a running system; some mainframes offer it as a feature (Multics programmers in particular were known to yank hardware out of production systems during off-hours and plug 'em into dev systems for development/testing, then plug 'em back into production for on-hours, all without bringing down the system), and Linux supports hot-adding and hot-removing CPU and RAM provided the underlying hardware supports it (Windows supports hot-adding as of Windows Server 2008 Datacenter Edition, but not hot-removing, last I checked). However, I'm not aware of any PaaS/IaaS providers offering compute instances with this capability; EC2 instances definitely don't support it, last I checked (switching from one instance type to another absolutely requires stopping and restarting EBS-backed instances, and instance-storage instances have to be outright imaged and then reimaged onto a new instance of the desired type).