Quantcast

Blog

The Cloud Isn’t a Mainframe. Seriously.

October 23, 2009
Filed Under: in Analysis, Cloud Collision, Featured Articles, Infrastructure 2.0
Author: James Watters

Welcome back.

image Warning: the following is a good-spirited rant.

The "return to the mainframe model" analogy for cloud computing is utterly simplistic in its thinking- it makes for a nice "big animal picture" for the masses, and makes veteran IT professionals feel like they've seen this all before. In reality, the analogy makes us dumber about how to maximize the cloud computing trend, because its simplicity belies the two biggest trends in the cloud: over abundance of compute resources and a fragmentation of processor to processor coherency or machine state.

The differences are stark, the similarities are thin…

…the clear contrast: scarcity vs. abundance of computing resources-

The mainframe / terminal model was founded on a fundamental scarcity of compute resources. At the time, computers were so large that they required highly specialized rooms, HVAC, operators- the works. If you wanted to use them you often stood in line, made your case, and were eventually rewarded with some of the scarce and highly valuable cycles via a terminal.

The cloud computing revolution, quite the opposite, is founded on a fundamental abundance of powerful but disjointed computing. There are so many servers sitting on networks all over the world that they are now competing for your attention. The trick is assembling the software, processes, and applications suitable for taming the millions of public web connected server nodes into something cohesive.

Mainframes are designed at both the hardware and software level to maintain a high degree of state-fulness and transactional capability; the current wave of cloud computing is being built around task queuing and more loosely coupled sets of services. This is a very real difference. I recently sat in a cloud computing breakout session at Zendcon where a senior developer was desperately asking for help from the other attendees, saying: "We've been looking at this hard, and porting our systems to non-relational databases in the cloud is going to be hard... we need help."

Unlike the mainframe era, the distributed systems of the public cloud might not be the right home for all of your workloads just yet. Cloud computing is not a systematic catch-all; instead it is a disruptive 'and'.

The only real connection is the one of 'remote trust'-- using a non-proximal resource.  The exact same simplistic thinking now has even the freaking Register calling the Nokia SideKick incident a failure of the cloud storage provider.

But let's examine this whole 'trust' angle a moment...

'Trusting' the mainframe operators wasn't a choice; it was a necessity. You couldn't afford to have your own computer, plain and simple. And let's not forget the simplicity of networking, security, etc. in those days-- there was no such thing as BGP, because for most of the mainframe era, 'router' wasn't even a word yet. So even if you push the 'trust model' and remote access analogy, I will counter that there was no choice but to trust, only necessity; and by remote I hope you are keeping in mind the comparatively simple network topology connecting the user to the resource.

Scarcity vs. abundance, coherent vs. coupled are just as important.

image How did we get here anyways? It's no accident Google and Amazon were early players in the cloud computing market. They rode an incredible shift in consumer behaviors, from offline purchases and decision making to increasingly online purchases and decision making. To solve their massive, parallel demand increases, they had to acquire hundreds of thousands of servers. They had to focus on the SW and operational processes to meet a tsunami of demand. Similar to the the terminal access driven era of the 70's, they then offered up a slice of this unified uber-resource for individuals to consume - I get that part--but the differences in the why (abundance) and the how (loosely coupled and stateless) are more strategic to the future of the market than the similarity.

“The victory of SW over HW”

The mainframe model of programming wasn't nearly as abstracted as our modern model for a simple reason--you just couldn't waste a MIP. HW was king, and thus the cult of the all-mighty server was born. We tolerated incredibly long procurement cycles for servers because of this "all-mighty server" legacy we inherited from the past. Today's reality is the opposite. In our future servers will be procured in minutes or less--the worship of scarce HW is over, and all eyes are on the processes and software that allows us to use the abundant buzzing swarm of compute.

We now have so many powerful computers that we are willing to greatly sacrifice raw performance for manageability. This morning on the "CloudCamp in The Clouds" webcast I asked a question about Hadoop's suitability for public cloud (AWS) usage. The answers were pretty interesting. The first answer was "oh don't do that, Hadoop is so disk I/O intensive that it's a waste to do it in a highly virtualized environment." The second answer, from meeting organizer @ruv, was more interesting: "Who cares? You have so much compute out there, its not about raw performance but simplicity and convenience."

So What…

image - Let's be specific, not general in our thought models whenever possible. I wish we had an all-powerful SMP server in the sky we could trust with every workload with no need for any local processing, but that's just not where we are or where we are going. Check out the memory usage of Seesmic desktop sometime - mine is routinely in the 1/2 gig range.

- The mainframe metaphor is more nostalgic than informative, and leads to some of the public misunderstanding of 'the cloud'. It may be fine for a CNN viewer, but beyond that, its utility is dubious to me.

- I know that many of these points are obvious, and that not everyone is using this metaphor, but I see enough people doing it that I wanted to explore it for a few days as a thought model and report back.

Related Stories

10 responses to “The Cloud Isn’t a Mainframe. Seriously.”

  1. Kevin Neely says:

    I started to respond, but it got too lengthy, so I wrote it up and posted. http://is.gd/4ygLF

    Basically, I still fail to see the difference between a cloud and a mainframe. They are different, yes, no doubt. But still, there is a scarcity of resource availableto the end user that is easily-solvable by a data center (or ten).

  2. The flexibility of the cloud, to me, is the key differentiating factor. When you talk about a mainframe, short of performing upgrades on a single machine, you can't expand performance or max users.

    The typical cloud is engineered to be nearly infinitely expandable.

    From a user perspective (or, as James says, the CNN crowd), sure, it looks similar. Functionally, it's a lot different.

    1. Thomas Lukasik says:

      >> "you can't expand performance or max users"

      I'm not arguing that (Mainframe == Cloud) -- but IMHO this isn't the best "proof" that they're different. If IBM thought that the money was there, I'd bet that mainframe computers could be retro-fitted with (or made to look as if they had) similar "elasticity" with (relatively) little effort.

      TJL

  3. @kevin

    Love your thread about availability being the new scarce resource...not 100% sure I agree with it vs. old model, but very interesting and made me think.

    @rizzn

    I like the flexibility thread--its flexibility at a cost--great software and application design...

  4. My response, http://bit.ly/3JPUFI

    Making clouds out of mips and other things.

  5. interesting points.

    One minor mistake, it is Microsoft Sidekick not Nokia.
    Also, why did you use Bit.ly for the link rather than a normal direct link?

  6. [...] while we’ll agree that there are significant differences between mainframe-based time sharing and cloud computing, it’s key to note that in both computing paradigms, there is need to attain visibility into the [...]

  7. JoeAltmaier says:

    So what is a Cloud? Its a data center you don’t own. Since most users never visited a data center, the analogy isn’t vivid. So we’ll continue to hear the Mainframe analogy.Btw it IS much like a Mainframe when you have a static server cluster in the cloud. Thats not Enterprise but its pretty common, maybe more instances of that setup.

    This comment was originally posted on Hacker News

  8. rizzn says:

    Here’s the problem with oversimplifying it to client/server mainframe terminology – people get all caught up in the fact that client/server stuff isn’t "new," and thus since it went out of vogue some time back, it’s disproven technology.The fact is, whether or not the "average user" doesn’t understand the difference doesn’t mean there isn’t one.

    The average user doesn’t understand the difference between a lithium ion battery and a nicad battery.. The average user doesn’t understand the difference between an internal combustion engine and a hybrid electric engine. Just because different technologies appear different on the surface doesn’t mean that there aren’t fundamental differences under the hood.

    It’s important to clearly define these differences, particularly for those who are choosing to participate in cloud punditry but can’t be bothered to look up the wikipedia entry on cloud computing.

    This comment was originally posted on Hacker News

  9. wattersjames says:

    I think the point I’m really trying to make is that you can’t just load a program into the cloud. The cloud is more like a software based mainframe if anything, but it requires a whole new set of architectures and a different way of thinking–and has radically different economic forces.

    This comment was originally posted on Hacker News

Leave a Reply