On Mon, Oct 26, 2009 at 3:26 AM, Randy Bias <randyb@cloudscaling.com> wrote:

On Oct 25, 2009, at 5:38 PM, Sam Johnston wrote:
A better approach to scalability is to have a single object which you can both adjust the resources of (vertical scalability) and adjust the number of instances of (horizontal scalability). That is, you start a single instance with 1 core and 1Gb, then while it's running you crank it up to 2 cores and 2Gb. Eventually you max out at say 8 cores and 16Gb so you need to go horizontal at some point. Rather than create new unlinked instances the idea is that you would simply adjust the 
I agree.  This is the future.  Dials for 'horizontal' and for 'vertical', probably attached to a given tier of an application.

Exactly. I'm hoping then that it is also far to say that all the "clones" should be identical - and adjusting resource utilisation for one adjusts it for all? If not we may have to expose links to [a collection of] the children.
 
Just as an FYI, I think 'scale-up' VMs are going to be more and more common.  We'll see VMs with a *lot* more RAM and cores very soon now.  Most of the modern OSes handle hotplug of CPU/RAM pretty well.

Ok, good to know. Were it not for the usual limitations (e.g. cores per socket and sockets per board as well as chip density, chips per dimm and dimms per board) then many workloads would scale far higher (vertically) than they do today. I'm anticipating improvement in the areas of both chip and memory density as well as interconnect bandwidth and latency (that is, I expect to see boxes with 10s if not 100s or 1000s of cores and many gigabytes of RAM) so it's conceivable that we could be seeing some very powerful machines indeed in the cloud before long - users will have the choice of scaling up and/or out.

Similarly I think we'll be seeing more rather than less chroots/zones/containers (OS-level virtualisation where a single kernel is shared between all instances) as well as "bare metal" deployments (where you'll upload something like an Altiris image rather than a virtual machine). There's also the possibility of HPC equipment such as OpenCL interfaces, FPGAs, etc. (all of which I believe we already handle reasonably well with "arch" attributes etc.). Interesting times ahead - I wouldn't believe anyone who told me they knew what a datacenter would look like in 2020.

Sam