Take the 2-minute tour ×

I am currently standing before a decision on how to design a system that would handle computing of statistical data on the cloud.
I would like to know what server structure should I use to be able to easily scale computing with the cloud.

To be more specific I would like to know if, for the purpose of computing statistics data, I should only use cloud or a hybrid (dedicated servers and cloud servers).

The service I am currently building will analyze mobile data for my clients.
The bigger the client, the bigger the DB, and more calculations.
If you know the best server design pattern that best fits this kind of scenario I would greatly appreciate.

share|improve this question

closed as not a real question by womble, Iain, Tom O'Connor, Scott Pack, EEAA Jul 13 '11 at 12:07


What does this have to do with the rackspace-cloud tag in particular? –  womble Jul 13 '11 at 8:44

2 Answers 2

up vote 1 down vote accepted

This question is currently circling the plughole, so before it goes, I'll say this:

Try to avoid premature optimisation. Start out with one client, one server, one database. Design your software with scalability in mind, but don't spend too long over-optimising and abstracting the software layer down so that it'll run "perfectly".

You should probably look at some technology strategies like sharding databases and having a shared-nothing architecture. You'll probably get good performance from having a map-reduce cluster, possibly based on Hadoop, possibly not.

There's a lot of subquestions in the initial question. Ones that should probably be picked out separately and asked on StackOverflow.

If you're really unsure about the design of your server architecture, then you should do two things.

  1. Stick to what you're good at. You design the software.
  2. Hire a Systems Architect to do the server-side stuff and make it all work together.
share|improve this answer
Thanks Tom, my question was vague since I am not dealing with servers my self, always used dedicated servers till now. All I know it's very hard to use db on cloud to avoid deadlocks. Thank you for pointing some of the software solutions. –  Cyprian Jul 13 '11 at 13:04

Your problem isn't "server structure". If your software isn't capable of running in a massively parallel fashion, then you won't be able to scale it to handle larger data sets. However, given the lack of information on exactly what you're trying to do, it's impossible to even give you useful help about how to structure your code (which would be a question for Stack Overflow anyway).

share|improve this answer
+1 Design good software, use map-reduce, Have a fat cluster of Hadoop nodes. And so on. –  Tom O'Connor Jul 13 '11 at 9:31
