3

Can anyone with experience of deploying CPU intensive applications into 'cloud' environments (like e.g. Linode), comment on whether these environments have been suitable?

It seems to me that with VPS/Cloud hosting, specifications like RAM, Disk space, network, are very well defined, whereas CPU power is rather more of a grey area. And when you need to move to a more powerful machine, you often seem to have to up everything (memory, disk space etc.) - which quickly gets expensive...

So, are these environments appropriate, our would dedicated servers be the more cost effective route?

EDIT:

To clarify, I'm talking about constantly high CPU usage patterns.

UpTheCreek
  • 1,628
  • 10
  • 32
  • 48

3 Answers3

1

Cloud is hosting is that cost effective, since it allows hosting provider to re-use resources that would be idle in case of dedicated server.

If you have an application that is using a lot of resources 24/7 - dedicated servers will be cheaper, since there's no overhead for co-locating many applications on one server.

If your load is high, but eventual - you can use cloud, but you will need to do calculations base on real numbers to determine if it is not high enough and eventual enough to be cheaper in cloud.

DukeLion
  • 3,259
  • 1
  • 18
  • 19
1

It dependso n the task. For a rare task (i.e. something that does not run all the time but for example you ned the capacity for a week and n more) the definition is less rlevant than the fact that you pay per hour.

http://www.geekosystem.com/amazon-cloud-supercomputer/

$1,279 per hour for 300.000 cores ;) THis is cheap if you need it for 10 hours a month or every week - not setup, no hardware that is otherwise unused.

If the application runs long term on full load - it is ridiculous expensive, you are far better off buying the hardware and colocating.

So, it does not depend on how cpu intensive, but like laways on your usage patterns.

TomTom
  • 51,649
  • 7
  • 54
  • 136
  • Thanks - in my case I expect high usage most of the time. – UpTheCreek May 21 '12 at 08:58
  • THen I could go with colocation using my own machines. Depending on what you use, SUperMicro has nice servers that support multiple graphics cards or Dell M1000e has super sense blades coming up. Storage is also an item that costs... http://blog.backblaze.com/2011/07/20/petabytes-on-a-budget-v2-0revealing-more-secrets/ has the solution ;) I would look for a CLOSE data center that matches your requirements and rent space there. – TomTom May 21 '12 at 11:08
1

Also, it depends on the nature of the work-load.

In addition to what @TomTom said, as an extreme example, if you're going to do a high-number of floating-point computations in the cloud, it might be better to go with a dedicated build of a hybrid machine with lots of graphics cards in it supported by good CUDA libraries.

As @DukeLion mentioned, the advantage of 'cloud' based VPS providers is that it can offer lower costs only if you are willing to share your resources. Otherwise, a dedicated machine route may be better. There are some providers who'll be happy to provide you with both.

An alternative might be a hybrid setup - a dedicated machine for most of the time supported by some VPSes that only kick in in the event of a spill-over. So the VPS is more as a buffer against failure.

sybreon
  • 7,405
  • 1
  • 21
  • 20
  • The hybrid approach sounds interesting - can you give any examples of hosting providers that offer this? I don't know of any... – UpTheCreek May 21 '12 at 10:05
  • recently read about it in ars http://arstechnica.com/business/2012/05/how-amazon-saved-zyngas-buttand-why-zynga-built-a-cloud-of-its-own/ – sybreon May 21 '12 at 14:37
  • Ah, no;) See... Amazhon has GPU instances ;) Check EC2, they offer you CUDA nodes in their HPY cluster. – TomTom May 24 '12 at 04:46
  • Ah.. didn't know that.. tasty stuff.. tempting.. but I'm guessing other providers don't. (or not yet). – sybreon May 24 '12 at 06:32