[Beowulf] Clustering VPS servers
Joe Landman
landman at scalableinformatics.com
Thu Mar 21 05:42:17 PDT 2013
On 03/21/2013 08:06 AM, Chris Dagdigian wrote:
> Jonathan Aquilina wrote:
>> It’s not that I need to cluster these vps’s I was just wondering if it
>> was possible. What puts me off about amazon is pricing. It seems a bit
>> pricy so to speak.
>>
> MIT StarCluster (the open source stack that builds Grid Engine clusters
> on Amazon mentioned elsewhere in this thread) is able to leverage the
> AWS Spot Market and the potential savings off of the hourly EC2 rate is
> pretty enormous. Via Spot you can run servers for pennies an hour that
> traditionally sell for dollars-per-hour on the "normal" EC2 on-demand
> service. It would be very hard to beat that price on an internal
> infrastructure if one was honest about the fully loaded facility, energy
> and staffing costs.
[slight segue into the cloud side]
Caveat emptor ... the analysis is in favor of ephermal machines and
clusters if (expected/actual) utilization of resources is low. In which
case the capital costs, and TCO are more expensive than the public cloud
(average pricing). Not tremendously so, but noticeably. The spot
pricing moves the cross over point, but its still not a game changer
such that remote is always "cheaper".
This said, there are other, very good reasons, why public cloud is not
appropriate for everyone. Most of the customers we've been working with
have tried it for their work and found it lacking one aspect or
another. Granted they are highly specialized, with specific needs that
a paravirtualized infrastructure makes little sense for
(hypervirtualized makes a great deal more sense for them, but bare
metal/silicon is optimal in performance, and their needs are driven more
by that than other factors).
On the costing side, there is no grand conspiracy. There are costs to
acquire and run machines, but in many cases, thanks to serious devops
work, sanely scoped, extremely dense, very performant, and well
engineered systems, these costs are dropping rapidly (as are the
revenues in this market, which is part of why the tier1 vendors are
showing the quarterly results they are). The cost per processor core
(and eventually per processor cycle) are rapidly approaching asymptotes,
where the overall cost is not the major factor in decision making. To
wit, look that the OPC designs from Facebook. This effort is all about
completely commoditizing their hardware buys. Google has been doing
something similar for a while.
The real questions are: to get a value of X, what investment Y is
required, and what are the constraints Z that we must work with. For a
large segment of the corporate world where we play, clouds are fine, as
long as they are private, completely securely controlled, and engineered
to handle the workloads they need. Queuing up in line with 10000 of
your closest friends and neighbors for a chance to bid on infrastructure
that you need at a particular time, and you have to move a huge bolus of
data over (think fractions to multiple PB) is simply not going to fly
until we get 10GbE to demark as a common scenario. Even then, data
motion is the killer in many cases, and system/network/storage latency
and low level performance are at least complicit in the murder of the
external cloud concept for these folks.
This said, I do encourage folks to try out AWS, Joyent, and many others
for cloudy bits, and see if the constraints can be worked around. Our
friends at Sabalcore and Penguin are doing cool things with clusters on
demand. And fundamentally, if you have a part time need for a cluster,
the cluster rental or cloudy versions are likely to be a better deal for
you, if the constraints will work.
[cliche' warning]
As I try to tell folks, your mileage may vary, there are no silver
bullets, and if all you have is a hammer, every problem looks like a
nail. Public(private) clouds and infrastructure are not a panacea, and
there are cases where the other makes more sense. Any realistic view of
the data around this (cost, utilization, need, etc.) and a correct
assessment of the principle decision issues (performance/latency vs TCO
vs data transport vs availability vs ...) is highly recommended.
[back to clustering VPS]
Honestly this never made a great deal of sense to me. Rather than
clustering VPSes, why not cluster bare metal JEOS kvm hypervisor built
machines? Not quite VMware stuff. We are using lots of kvm (obscene
amounts of it) in our projects across several OSes. Linux,
Illumos/SmartOS. We've been tweaking tiburon to handle such kvm boots,
so that turning on a very large cluster of virtual machines and having
them ready would take seconds to minutes at worst. Not half hours to
several hours for provisioning.
VPS doesn't quite have the isolation of kvm, which is part of why I'd
like to see that. But kvm doesn't have great PCIe pass through (yet,
its getting better). VPS might be able to make better use of the resource.
--
Joseph Landman, Ph.D
Founder and CEO
Scalable Informatics, Inc.
email: landman at scalableinformatics.com
web : http://scalableinformatics.com
http://scalableinformatics.com/siflash
phone: +1 734 786 8423 x121
fax : +1 866 888 3112
cell : +1 734 612 4615
More information about the Beowulf
mailing list