-1

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?

duck9
  • 107
  • 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
  • 1
    `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 00: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 04:14

1 Answers1

1

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.

fukawi2
  • 5,396
  • 3
  • 32
  • 51