Wide Awake Developers

« Sun Joining the Cloud Crowd | Main | Steve Jobs Made Me Miss My Flight »

The Granularity Problem

I spend most of my time dealing with large sites. They're always hungry for more horsepower, especially if they can serve more visitors with the same power draw. Power goes up much faster with more chassis than with more CPU core. Not to mention, administrative overhead tends to scale with the number of hosts, not the number of cores. For them, multicore is a dream come true.

I ran into an interesting situation the other day, on the other end of the spectrum.

One of my team was working with a client that had relatively modest traffic levels. They're in a mature industry with a solid, but not rabid, customer base. Their web traffic needs could easily be served by one Apache server running one CPU and a couple of gigs of RAM.

The smallest configuration we could offer, and still maintain SLAs, was two hosts, with a total of 8 CPU cores running at 2 GHz, 32 gigs of RAM, and 4 fast Ethernet ports.

Of course that's oversized! Of course it's going to cost more than it should! But at this point in time, if we're talking about dedicated boxes, that's the smallest configuration we can offer! (Barring some creative engineering, like using fully depreciated "classics" hardware that's off its original lease, but still has a year or two before EOL.)

As CPUs get more cores, the minimum configuration is going to become more and more powerful. The quantum of computing is getting large.

Not every application will need it, and that's another reason I think private clouds make a lot of sense. Companies can buy big boxes, then allocate them to specific applications in fractions. Gains cost efficiency in adminstration, power, and space consumption (though not heat production!) while still letting business units optimize their capacity downward to meet their actual demand. 



Your posts about "The Cloud" are a great read and very informative.

During 2003, the late Jim Gray made an analysis of computing economics:

“'On Demand' computing is only economical for very cpu-intensive (100,000 instructions per byte or a cpu-day-per gigabyte of network traffic) applications. Pre-provisioned computing is likely to be more economical for most applications - especially data-intensive ones.”


“If telecom prices drop faster than Moore's law, the analysis fails. If telecom prices drop slower than Moore's law, the analysis becomes stronger.”

Since then, Telecom prices have fallen and bandwidth has increased, but more slowly than processing power, leaving the economics worse than in 2003.

By 2012, the proposed Blue Gene/Q will operate at about 10,000 TFLOPS outstripping Moore’s law by a factor of about 10.

I’ve tried to put The Cloud in historical context and discussed some of its forerunners here. My take is that:

"I'm sure that advances will appear over the coming years to bring us closer, but at the moment there are too many issues and costs with network traffic and data movements to allow it to happen for all but select processor intensive applications, such as image rendering and finite modelling.”

Your comments or feedback are very welcome.

You may also be interested in reading IT exists for one reason



Are private clouds really all that novel? I see argument for clouds as small organziations leveraging large organization's economies of scale. When you scale down to what a small business would actually use, it looks a whole lot like what many IT organizations are already doing.

As I understand it, a cloud is composed at least of virtualized machines, flexibly allocated storage, automated provisioning and granular accounting of resource use. VMWare has made virtualization widespread in IT. SANs are commonplace. Automated provisioning is not as common, but I would think a small business could make do with manual provisioning, as the cost-benefit of a fully automated system may not be compelling. That leaves granular accounting as the new kid on the block.

What differentiates the already virutalized data center from a true "private cloud"?


Virtualization has definitely been the storm blowing through the large IT shop. It's gone from fringe to mainstream faster than nearly any technology I can remember.

The main difference between what I'm describing and a highly virtualized data center is the locus of control.

Suppose your company goes whole hog for VMWare, EMC SAN, VirtualCenter, and virtual networking. Who gets to make decisions about resource allocation? Who decides when deployments happen, or what level of service each application gets? Corporate IT, clearly, is still in control. They may charge back to the departments, or they may just track their own budget, but either way, the consumers of IT resources have little control over how much they consume.

In the model I'm describing, corporate IT starts to act much more like a cloud provider, but the decisions about when, how, and how much, devolve out to the business units that the applications serve. That control, together with the fine-grained, usage-based billing closes an important feedback loop.

Part of the story revolves around cost, and optimizing costs.

I've often seen business units prioritize features over operational stability and resource efficiency, simply because it doesn't come out of their budget. (At least until the next annual cycle, when the overall company SG&A number goes up. Meanwhile, memos go out instructing people to stop making color copies...) When half of the P&L equation goes to one group (all the P, if you'll pardon the expression) while the "L" gets absorbed by another, you'll never see an incentive to get better.

The other part, though, has more to do with agility. When the business units can deploy their own applications and get high availability from the infrastructure, then corporate IT can stop being the traffic cop/bottleneck in application releases. Moving more control out to the business units both parallelizes efforts and it joins responsibility together with motivation.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)