What’s the application’s deployment architecture?
Forces
There is a team of developers working on the application
New team members must quickly become productive
The application must be easy to understand and modify
You want to practice continuous deployment of the application
You must run multiple instances of the application on multiple machines in order to satisfy scalability and availability requirements
You want to take advantage of emerging technologies (frameworks, programming languages, etc)
Solution
Build an application with a monolithic architecture. For example:
a single Java WAR file.
a single directory hierarchy of Rails or NodeJS code