Of course, it's easy to add a master-slave replication to a single database instance when the need arises, even possible without downtime. So I assume most RDBMSs to be horizontal-scaling-ready.
The difficult part is the app stack. We need to be able to deploy more instances in minutes, not hours or days. If at the beginning we cram everything (Nginx, Unicorn and MySQL) into a single dedicated server it can be really difficult to increase the capacity in the future without downtime or additional expense. Instead, even if you don't need the power of several dedicated servers, it's worthwhile to virtualize a single server and split into a few boxes and make them horizontal-scaling-ready. Then you can clone, resize and migrate the instances.
This is what I do to increase the capacity of my app in a few minutes:
1. Create a new instance, and load the pre-built app image
2. Assign an IP address and add it to the DNS (like app-3.nameterrific.net pointing to an internal IP)
3. Add the app server to deploy.rb (for Capistrano)
4. cap deploy
5. Add the IP to load balancer
That's it. This stack can be used from day one affordably and it can scale to potentially billions of visitors.