That being said, I really suck at system level architecture: how to cleanly separate a monolithic process into smaller processes that communicate with each other, how to chose the right database / message queue / proxy / caching system / asset packaging / etc. How to leverage OS level utilities like crond / upstart / etc. How to deploy / how to scale. And the worse is I don't know what I don't know. I know I'm not the only in this situation given the popularity of Heroku and co. which make a lot of those decisions for us.
What I would really love would be a book with case studies which would explain why a certain architectures/tools were chosen over others.
I'll start with a few resources I have found:
- http://highscalability.com/
- http://microservices.io/
- http://singlepageappbook.com/