Well, say you purchase 10 dedicated servers. What you would want to do is set it up something like this:
--------------
/ \
| The Internet |
\ /
-------------
|
|
V
+----------+
| Firewall |
+----------+
|
|
V
+---------------+
| Load Balancer |
+---------------+
+--------------+ / / | \ \ +--------------+
| Web Server 1 | / / | \ \ | Web Server 5 |
+--------------+ / / | \ \ +--------------+
| \_______/ / | \ \_______/ |
| / | \ |
| / | \ |
| +--------------+ | +--------------+ |
| | Web Server 2 | | | Web Server 4 | |
| +--------------+ V +--------------+ |
| | +--------------+ | ____/
| | +---| Web Server 3 | | /
| | | +--------------+ / /
| | | / /
| | | / /
| | | ___________/ /
\ | | / ________/
\ ___V________/ _______/ /
+->/ \/ /
| DB Server |<-----------------
\____________/
That's the dedicated way to do it. THe load balancer would evenly distribute the network load among the servers for you. You could also add a NAS and use that to house your web document root and then you don't have to worry about synching data between more than one place.
A cloud most likely would work; however, I'm not sure I'd use Amazon. I might spend the big-bucks and take a look at The GridLayer by LayeredTech and see what their prices are. Then I can easily do whatever I want within a set of servers.