I'm setting up the server environment for a new software development group, which will include 4 test environments.
These are web applications, so each environment will have an application server and a database server.
I'm planning on buying two physical servers (e.g. 6-core CPU each with 12GB or so of RAM), and I'm thinking virtualization is appropriate here. With that in mind, I've thought of a couple ways that I could organize the virtualization strategy:
- Separated by server role: Server 1 has all the application servers, each in their own guest VM. Server 2 has all the databases. OR
- Separated by environment: Server 1 has a VM for two of the environments, with the VM containing both the app server and the database server. Server 2 would also contain two test environments, with the same style (app server and database in same VM).
The advantages I see with all the app servers on one server and all the databases on another server is that I could probably be more efficient with the database server (one instance running multiple databases). But the other option seems easier to manage (archives/restorations would be contained in a single VM).
Any recommendations? TIA.