I am interested in learning of the different procedures and environments it takes to maintain a large application. For example, in my case I use a CentOS local server, where I develop my applications and I use a version control system on some applications, then I upload it to my host-gator account and launch it live. It is a very simple procedure and at the moment that is the only one I know. I have only worked as a freelancer, so I would be interested in the procedures and environments of large tech companies.
What are the general do's and don'ts of development for large app? Best practices?