The Stack Archive

Paul Miller: Goldilocks in the cloud; the tyranny of choice

Tue 8 Apr 2014


17/3/14 – Whatever happened to the cloud dream of only paying for what you wanted to use? Now users are given too many choices from an ever-expanding menu and the simplicity benefits of cloud are being lost. As workloads start to rise why not let the experts make their own requirement choices and help novices with targeted, predefined options asks Paul Miller.

The public cloud, as you have probably heard, is great. Enter your credit card details, choose something from the Seattle Cloud Machine’s predefined menu of options, and within minutes you’re controlling a shiny new computer in the sky. And yet, as the cloud’s early adopters become more experienced and more discerning, I’m hearing a growing number of them describe that relatively limited set of choices as a problem.

When you were starting out, playing around and learning what was possible, then choosing one of the available options – a little cloud machine, a middle one or a big one – was probably fine. Today’s novices have a harder time, because that originally simple menu (little, middle, big) has suffered rampant name inflation and they have to contend with teeny weeny, little, slightly bigger, middle, big, bigger, much bigger, bigger with coke and fries, biggest, and oops here’s an even bigger biggest.

The menu, frankly, has become a daunting mess, the once-compelling advantage of its early simplicity squandered in the never-ending race to add newer, shinier, faster, bigger, more ridiculously named varieties with which to entice the buyer. And, even with all these new options, it still doesn’t deliver what more and more people tell me they need; real granular flexibility.
For every customer (and there are plenty) that finds one of the standard options to be just right, there’s another who needs just a little more memory and a third who would love it if only they could get a slightly smaller CPU. Goldilocks was never as fussy as a buyer of cloud computing.

In a recent piece for InfoWorld, David Linthicum explored ‘The top 3 reasons to fire your public cloud provider.’ The one he missed, I think, was this one that I hear most often; lack of flexibility.

At first glance, the endless moaning for something other than what’s on offer might make buyers of cloud look remarkably like petulant children. I know you’re offering me 6Gb or 8Gb, they whine, but I want 7 because I am soooooo special! And, at least when operating at a small scale, their demands probably deserve short shrift. It’s easy for the buyer to pay a few pennies more than they’d like, to run a machine more powerful than they need. It’s also pretty simple to get a machine slightly less powerful than they wanted, and simply run it for a bit longer to complete the job.

Moving from pilots and experiments to mainstream deployments changes things, though. The pennies wasted on renting more than required quickly become pounds, tens of pounds, even thousands of pounds squandered on machines bigger and more powerful than the job needed. At the other end of the spectrum, the few extra minutes required to complete tasks on a less powerful machine become hours, days, and weeks. The apocryphal stories of monthly payroll processes taking six weeks to run (think about it), become very real.

As workloads become bigger, more varied, and more important, there are two main ways forward. One is to add ever more options to the menu, creating something for everyone and challenging them to find it in a list of near-infinite length. The experienced and particular would eventually find what they need, the beginners would mostly never get started.
The other option is to recognise, explicitly, that individual virtual machines in a cloud are simply carved out of wide rivers of network bandwidth, abyssal pools of compute, deep reservoirs of storage. So why not let customers specify exactly what they need, and charge them for what they use? Some would pile on the RAM, and care little for storage. Others might gobble bandwidth, and go light on the CPUs. Across a large cloud with a deliberately diverse customer base, things would – mostly – balance out. Customers with well-understood use cases and known workloads could specify cloud resources that exactly matched their needs. Beginners could play around with the sliders offered by companies – like Switzerland’s CloudSigma – that already take precisely this approach. Those beginners would probably end up over-specifying their first few machines. They’d learn, though.

There’s room for a middle ground, too. Why not offer experts the flexible sliders and novices (or those with frequently requested requirements) the menu of predefined options? Just so long as the menu is short, and the names mean something.

No more ‘hs1.8xlarge’. Please.


Send us a correction about this article Send us a news tip