Behold, the fantasy of infinite cloud compute elasticity
Spinning up thousands of servers in minutes. Yeah, yeah, yeah
Comment Cloud computing has elements of a fool’s paradise. We’re told it’s elastic, infinitely elastic even, with thousands of virtual servers spun up in minutes. But there's just one problem ... this is palpable nonsense, short-term excess capacity being mopped up by early entrants to a large resource.
Virtual servers are not magic. They don’t exist in a parallel universe, decoupled from hardware. You still need physical servers, sitting in a data centre somewhere.
Let’s take a claim that 10,000 cloud compute instances can be spun up to run a rendering job in the cloud, and assume that every ten such instances need one physical server.
One minute before the 10,000 compute instances were spun up in the cloud’s virtual reality they didn’t exist. One minute after they were spun down they didn’t exist. But the physical servers they needed, all 1,000 of them, existed before and existed afterwards as well.
What were they doing, before the 10,000 compute instance VMs were spun up, these 1,000 physical servers, maybe 1U boxes, meaning 25 racks of them? Obviously they were idle; how else can you spin up thousands of VMs all at once?
And what were they doing one minute after the 10,000 compute instances were spun down? Sitting there and idle again. That’s not very good resource management. You can't imagine an Amazon shopping warehouse run on such lines, with 10,000 shelf slots sitting there empty waiting for someone to order 10,000 items all at once.
Translate this resource use to a hotel and say a cloud compute instance is like a hotel room. “Hello? MGM Grand at Las Vegas? Can I have 1,000 hotel rooms for tonight please? Excuse me. Why are you laughing?”
Let’s make it a hire car. “Hello, Avis? Can I have 1,000 cars for pickup at San Francisco airport tomorrow morning? What do you mean 'no'? Aren’t you an elastic car hire company?”
For corporations renting out resources, be they cars, hotel rooms or compute servers, their rented thing is an asset that costs money and needs to be earning money. Idleness doesn’t pay, it costs.
So the suppliers get slightly more than enough assets to fulfil a regular and dependable demand, with some small amount left over for peaks, like Salesforce.com conferences and hotel rooms in San Francisco. Why should compute servers be any different?
In the future, when the rush to the cloud has settled down and Amazon, Azure and Google are no longer building vast data centre server farms for tomorrow’s demand but operating them for today’s needs, the scaling up of 10,000 compute instances in minutes will simply not be possible unless ordered in advance.
Neither hotel rooms nor hire cars exhibit infinite elasticity, nor any other hired or rented physical thing, and that means physical servers running virtualised compute instances.
They only seem infinitely elastic at the moment because Amazon and the others have laid down server resource far in advance of demand, but demand will catch up, or, if it doesn’t, the servers will be shut down.
Anyone punting the idea of infinitely elastic cloud computing resource is either a gullible marketing droid or a remarkably credulous analyst. It's a fantasy folks. Get your feet back down on the (physical) ground, ®