Hi all - I am moving my Seam app into production and would be very grateful for any help or advice from others who have been through this.
I am in the process of choosing hardware and want to get the best performance for my money and also future-proof this so can scale up as my needs and budget increase. My initial budget of 300 USD a month buys me a dedicated server (Intel Core 2 Quad Core Q6600 Kentsfield 2.4GHz 2 x 4MB L2 Cache with 8gb memory running 2 x 400GB SATA Disks (with RAID)) running CentOS.
My host tells me:
Ideally, you should split all the services on a separate VPS. This will allow you anytime moving the most demanding service to a new server for better performance. Depending on the service, multiple servers could be used to provide load sharing. But if the application is developed to work as a whole (ie. all services on the same server), splitting them will only give you headaches.
So, I have 2 questions:
1) Does anyone have experience of running Seam in this environment i.e. dedicated server running multiple VPSs? If so how many VPS would you recommend? I was thinking:
- 1 VPS for Apache (which would load balance and route requests to the JBoss servers) and other stuff such as Postfix for email etc.
- 1 VPS running the 2 instances of JBoss AS 5
- a third VPS running MySQL
- possibly a fourth to act as a staging server running a slimmed down version of the architecture for testing app changes prior to moving them into production.
Any thoughts/recommendations would be much appreciated.
2) Are there any specific things I need to think of to run my Seam app in a clustered environment? I am going to follow through the advice on http://www.mastertheboss.com/en/jboss-server/48-jboss-clustering-web.html for the clustering, any other links or tips would be much appreciated
If there is anything else that I haven't thought of I would be very grateful for any advice at all.
P.S. I haven't found an area on the Seam website for people to share their thoughts and recommendations on taking a Seam app live, am sure this is something of interest to most developers as it's quite a daunting experience if you haven't done it before, perhaps this could be a good idea?