My basic question is: How to start building a web application that could grow fast?

A little background: A customer of me is asking for an offer for a web application. I can not go into details but it's an e-commerce and crowd funding kind of thing. So he wants to spend some money and expects a site that can grow unlimited.

I plan to build it with Zend Framework 2 and MySql. My problem is that I have no experience with large scale web apps. I read everywhere: No problem, just start the project and if it grows to large then you can react on it and add caching, clustering etc.

But is this really true, or do I have to add some scalability mechanisms from the start? Cloud servers (Amazon EC2) for example have a different approach for the file system. Is it possible to switch later?
Or what about load balancing? I get problems with session handling, or not? And what about MySql? Or better start directly with a NoSql approach?

So my current plan is:

* Step 1:
Build the web application normally with ZF2 and MySql.
* Step 2: Add caching like memcache and opcode
* Step 3: MySql cluster or NoSql or load balancing or cloud server??

UPDATE:

Ok, I know that my question is a little too broad. So I try to track it down to a few specific questions:

* Better start directly with a cloud server?
* Can a cloud server grow unlimited?