Main Content

Multiple web applications under Tomcat - what are the options?

Archive - Originally posted on "The Horse's Mouth" - 2009-06-05 10:22:57 - Graham Ellis

If you're wanting to run a number of web applications under Apache [Jakarta] Tomcat, do you need multiple versions of Tomcat, or multiple machines? No, you don't ... but it may be helpful for you to do so. Here are diagrams of four options (open source, remember - "never provide just one solution where you could provide four!"):



Starting on the right, you have:

Multiple Web Applications on a single Tomcat. With this option, each web application will have its own directory name on the same domain, or you could use virtual hosting. If the metrics of the applications (busy periods) are at different times of day, this approach makes useful sharing of facilities, and if there's a lot more running on the computer and not much on the Tomcat, it saves a lot of duplication. However, if you stop / restart tomcat then you're going to effect all the web applications at once.

Several Instances of Tomcat on a single machine. Here, you're able to stop and start each tomcat independently, but you'll need two different IP addresses or TCP port numbers, and both will stop / restart if you stop / reboot your operating system. But this would be a commonly used approach for an organisation with a quite small / specialised / departmentalised Tomcat setup, with a need for a test / development system and a live system too.

Virtual Machines. Becoming a favourite at ISPs and where a computer department is forming a company's ISP ... a series of virtual machines each on the same physical host.

Two separate Computers. Computers are cheap these days ... and this is how I work on our own web site - with the main web server being a totally different machine to the one we use for R&D and testing. You may tell me that I'm old fashioned in not using virtual machines, but the production machine we have is sized up to meet demand and is located on a stinking fast connection in London, and the development / testing machine is a laptop which I can carry on developing on during a train journey or - as I was last week - on a boat between Cairnryan and Larne, where even mobile internet was out of reach. And switching the computer off as we arrives at Carinryan and I drove down to Wigtown and beyond didn't stop our live system! [[Illustration - Wigtown, Book capital of Scotland!]]

(Diagram at top of page taken from the board of the Deploying Apache httpd and Tomcat course I am presenting at present.