We're planning to construct an internet site rich in scale potential. When the scale comes, you want to prepare yourself for this! We made the decision to make use of PHP, Apache and MySQL. Should we apply certain type of PHP framework (PHPulse, CodeIgniter, CakePHP, Zend,...), or it's easier to build from the scratch? The character of site is going to be much like Facebook, but you will see mostly text data (very few images, videos). Site is going to be located on cloud.
An amount you recommend?
This continues to be requested many occasions. The overall consensus is definitely do you skill. Don't be concerned about which makes it too scalable from the beginning, just ensure that it stays in your head slightly. Attempting to build too scalable from the beginning is tiring and also you would definitely quit.
Should you choose get problems because of massive recognition, thats great! You're then popular enough and hopefully generating enough to begin needing to be worried about having to pay for additional costly hosting and greater finish programming/database frameworks and engines.
Put more effort than normal into ensuring your domain layer is really as loosely combined as you possibly can in the relaxation from the code - this way you need to have the ability to leave the doorway available to change should you identify issues with another layers.
Make use of a framework go ahead and to obtain ready to go but watch out for utilizing their own CRUD utilities (CI, I am searching to you).
Should you decide you need to make use of an ORM solution, maybe pick one that plays nicely with numerous frameworks.
Knowing you will have to scale it soon, then it's wise to make use of existing proven frameworks, instead of building your personal on your own. Less for that scalability, but more to simplify your projects later, and also have greater confidence that boilerplate code functions good enough.
However, for those who have not used at all the pointed out frameworks, you may consider weighing time you will have to overpass the first learning curve.
Should you build every single factor on your own then without a doubt it will require time only you will be aware the interior logic of code. In comparison if you are using a framework you're going to get quick development but for the reason that situation you're making your site on that code that is opened up for just about any one means more chances to become compromised. Each method features its own professional and ingrown toenails. Anyway you should check out best frameworks of php Top Ten frame works of PHP. And I would suggest Code Igniter
Construct it on your own. Controlling just helps while optimizing. Facebook even controls its php compiler: http://designers.facebook.com/blog/publish/358/
Don't use a framework since PHP has already been a framework along with a template engine: http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
Apply certain caching library like memcached. I am unsure if technology-not only around the cloud, or even the cloud may provide its very own caching system.