Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working with two Windows Server 2008 servers (one for development, one for production) which host several web applications. Some of these applications run on Tomcat with an Oracle database, others are ASP.NET MVC applications using SQL Server, and there is some plain ASP stuff too.

I want to compartmentalize these products because we have already faced some hairy situations where a fault or configuration in one product brings down another.

Most virtualisation layouts I've seen are horizontal in design - one VM for a web server, one for a database and other VMs for whatever infrastructure is called for.

Given that a horizontal design wouldn't compartmentalize individual products I am considering a vertical design where we have one VM per product and the entire stack for that product is within the VM (except perhaps the database).

Do you think this is a reasonable solution, and if not, what would you recommend given that purchasing additional servers is not an option?

share|improve this question

closed as not a real question by MDMarra, Zoredache, Ward, mdpc, Jenny D Apr 12 '13 at 6:51

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

I should add that I am a developer, not a system administrator. We don't have a system administrator so these servers are not managed proactively. I want to clean things up before this causes any real problems. Any independent views are welcome. – duck9 Apr 11 '13 at 23:12
Do you think this is a reasonable solution - There are certainly cases where this may be a valid solution. There are almost always additional costs to license a vertical setup properly. A setup like this may require more system resources (cpu/mem/io) since you might end up running multiple copies of the same application. – Zoredache Apr 12 '13 at 0:01
Devops are becoming more and more common it seems. I'd look into migrating to amazon, azure etc. (pick your poison of cloud platform) where your monitoring requirements are application level rather than the whole stack (hardware, OS, middleware etc) – Jim B Apr 12 '13 at 4:14

If it's a serious risk to you and your business operations, get a system admin.

Other than that, it's really 50/50 IMHO. Personally, I'd rather invest my time maintaining fewer application servers in good condition, than a linear number of servers as my application pool grows.

Since you don't have a system admin, and if you can't/won't get one, it's probably better to maintain fewer otherwise you'll end up in 1 of 2 situations: 1) You spend more time maintaining servers than developing. You're now a SysAdm instead of a Dev. 2) Server maintenance gets ignored and you haven't solved any problem. In fact, you've expanded the problem because now you have 22 problems instead of 2.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.