[erlang-questions] how to scale into the cloud using process? example computing simple average
Tue May 26 11:58:57 CEST 2009
Steve Davis wrote:
> I'll have a stab,,,
> "cloud" the mechanism by which application processing and data is
> _automatically distributed_ across hardware resources to meet user
> ...so I'm not sure that one exists.
So, in the old days, when computers were physical, steam-powered
beasts that you could actually see and touch, I believe this
would have been called a 'cluster'.
According to Wikipedia:
"A computer cluster is a group of linked computers, working together
closely so that in many respects they form a single computer."
By comparison, Wikipedia describes Cloud Computing as
"a style of computing in which dynamically scalable and often
virtualized resources are provided as a service over the Internet"
One concrete difference then, would be that you'd expect far
more control over a cluster - 100% attention from each CPU,
and a fast interconnect with predictable characteristics.
Computing clouds, by contrast, seem much more 'best effort', where
you will statistically get at least as much CPU capacity as you've
paid for, and the communication backbone will exhibit some average
level of 'goodness' (hopefully).
A traditional problem with cluster-based applications has been that
managing state becomes terribly difficult - you have to worry about
locality of state and timing-dependent behaviour, in the form of
accidental sequencing of messages, etc. I think many of these
problems ought to be aggravated if available CPU and network
capacity become less predictable.
Relatively speaking, it is easier to avoid these problems in
Erlang than in most other programming languages. Still, having
spent years discussing the scary issues with "cluster computing",
I don't necessarily see "cloud computing" as a step in the right
direction in all respects.
CTO, Erlang Training & Consulting Ltd
More information about the erlang-questions