This week's book giveaways are in the Scala and Android forums. We're giving away four copies each of Machine Learning Systems: Designs that scale and Xamarin in Action: Creating native cross-platform mobile apps and have the authors on-line! See this thread and this one for details.
Hi everyone, hope this is the right forum for my question.
I have developed a distributed search application that runs on Apache Tomcat. The application is designed to scale linearly through the use of clusters. The web app does not maintain state and there is no need to replicate sessions. Each cluster member holds the same index data.
I've now come to the point in the project where I need to make some recommendations on the hardware, which is something I know very little about.
The problem I have is that there seem to be too many (unknown) variables and too many options.
For instance, should I get a beefy server running linux with 16gb of memory, and two operteron 64 processors, or is it better to have lower spec machines, but more of them? I'm struggling to work out the factors I need to analyse to support such a decision.
The O/S I have available is Linux and Solaris - the hardware is mostly blade servers or enormous Solaris boxes but my company wants to move away from large monolithic servers to a more distributed failure-resistant architecture.
Once I have a basic minimum spec, I can then load / performance test - I have figures for storage requirements and the desired response time - just not sure how to get there.
I guess I just wanted to find out what approaches people have taken to fill in the gaps.
Your buns are mine! But you can have this tiny ad: