I'm an experienced front-end web developer, while my back-end experience has occurred only within the context of Drupal. Basically, the deeper things go into the back end, the more inexperienced I am. At a certain point, I don't even know what it is I don't know.
I'm hoping to get a broad sense of all that's required on the back-end to run a high traffic website. I realize that certain things will depend on the whether you're using something like PHP vs Ruby, type of database, type of server, and the type of OS on that server. At the moment I'm planning on using Amazon EC2, but am not sure about PHP vs. Ruby.
As far as I can tell, here are the main categories:
Server
- Main configurations
- Monitoring performance / issues
- Scalability in the long & short run (short run = ability to quickly increase capacity)
DataBase
- Main configurations
- Monitoring performance / issues
- Scalability in the long run
- Caching (not sure if query cacheing is done at the DB level or PHP/Ruby level)
Back-end Language (PHP or Ruby)
- Main configurations
- Caching
- Cron jobs (or equivalent in Ruby, if called something else)
I fear that this question may get closed as not a real question because it's not specific enough. But it's my back-end inexperience that makes it difficult for me to eve know how to correctly pose a question like this. If the question should be revised, please leave a comment explaining in what way and I'll be sure to do so.