Security is a must for everyone but trivial internal projects. As for scalability / performance / availability, it really depends on the service you are trying to provide. For most sites (almost all sites except true (non-meta) web-scale search engines), performance and scalability are usually not a huge problem and can be simply solved by attaching several load balancers in front of webapp servers with caching (for example, using memcached and etc.) and adhoc data sorting (partition tables by user ID, etc.). The only headache is usually associated with the requirement of high data availability, since most DBMS replication and fault tolerance solutions do not work very well.
If you want to create a search engine for the entire network, you will need to think about performance, scalability from day one, or just spend time and resources.
source share