So, we're in an interesting period with this whole "cloud" thing -- industry-wise.
At one end of the spectrum, the discussion seems to be broadening impossibly: more and more things are taking on the "cloud" label -- mostly because it seems that all sorts of people want to talk about it.
And when I talk to the people who are really working hard on the topic, the definition and the discussion seems to be narrowing considerably.
We've Seen This Before
Take any buzz-worthy term, throw it out in the industry, and -- all of the sudden -- everyone and everything wants to be associated with the term.
Try these on for size:
Secure. Green. Virtual. 2.0. Cloud.
Maybe we need a secure green virtual 2.0 cloud? :-)
I'm not being critical here, it's just the natural tendency for the industry to want to talk about subjects and topics that customers and others seem interested in. And, in the process, we lose a certain precision in the conversation which makes it devilishly hard to figure out what's really important, and what's just noise.
The Concept Expands To Vapor Over Time
..if we're not careful, that is.
As I go to different forums, I sit and listen as people from all parts of the industry attempt to define what "cloud" might mean. And, many times, it expands to "any IT service delivered over a network".
OK, if that's true, it's not particularly interesting, is it? I mean, you're lumping in outsourcing, external service providers, Google, phone calls, cable TV. And -- to be sure -- there's a social trend to be less concerned about where the service is coming from, and more concerned that it's ubiquitously available, mashable, etc.
I find this line of thinking only marginally interesting. And I wouldn't call it "cloud" -- at least, not in any precise (e.g. non-marketing) conversation.
So, Let's Narrow The Concept
Over the last few months, I've found a far more narrow description of cloud a lot more useful in the discussions I've been having.
Simply put: it's public computing infrastructure.
Perhaps the best way to get into the concept is to back into it from the direction of what-is-not-cloud. I use the term "service providers" to describe this.
Here's a well-defined IT function. As an IT person, I have a clear choice as to whether I want to do this function myself, or have someone do it for me. This might be running a virtual compute image, doing backup, monitoring security, giving my users email, and so on.
Simply put, there's a clear pro-and-con discussion as to the best way to do something. And -- let's be clear -- I strongly believe that much more of IT will be a service in the future, and far less provided in the traditional manner.
But -- at least in my mind -- that's not "cloud". Or, at least, not a usefully precise definition.
Now, compare this with an IT function for which there is no do-it-yourself alternative whatsoever. You either decide to use the "public computing infrastructure", or it just won't get done.
Example #1 -- MapReduce
A good colleague (Bill Bonin) sent me a link on MapReduce by Google. Cool stuff -- really speaks to my inner geek. Some of their test cases are on 1800-2400 compute nodes -- and only run for a short period of time.
Now, let's just say that you wanted to do this sort of massive scaleout data reduction from time to time.
Let's be brutally honest here -- it is extremely unlikely that someone is going to get the purchase order signed for 2000 compute servers (and a data center to put them in), just so you can figure out if MapReduce is useful or not. And doing it on 20 servers really wouldn't prove anything, would it?
Your only real choice -- if you're interested in this sort of thing -- is to use public computing infrastructure -- the cloud.
Example #2 -- Amazon's EC2
I've met a lot of people who've put stuff up on Amazon's service, and have been happy. I've also started to meet more people who've done that, and now are moving on to more traditional IT approaches -- either in-house or through a more traditional service provider.
One could say that Amazon provides public computing infrastructure -- for a small fee. If you have no idea how much IT you're going to need, its value is that you pay for what you use.
And if you don't have much capital to spend on IT (either owned or rented), something like Amazon's service is your only practical choice, isn't it?
And there are lots of stories about some startup or another that got Really Really Popular due to some blog mention or whatever, and all of the sudden they were really glad they were on scalable public infrastructure.
Or, maybe their business idea didn't work out, and they didn't burn through a ton of VC to find this out.
Either way, I'm starting to meet "Amazon Graduates" who -- now that they know what they really need to support their business -- are able to take a more traditional view of IT resources. This doesn't invalidate what Amazon is doing, by the way -- it just gives you a more useful perspective of the situation.
Stepping Back A Bit
I'm into analogies, and -- here -- it helps a bit. Public infrastructure exists for all sorts of things: travel, safety, communication, education.
If you're not really sure what you need, there's a default service available: sometimes free, sometimes for a reasonable price. But, at the same time, if you're really sure what your requirements are, you're often motivated to do something special -- your needs aren't generic.
And -- if we push the analogy -- why wouldn't there be a need for "default public computing infrastructure" for certain situations? I don't think it's about "cheap", I think it's more about "meets my needs for now".
Some people send their kids to public schools. Some people send their kids to private schools. Some people (like me) do a bit of both. Every situation is different.
I remember a while ago when I was reading about government-sponsored supercomputing projects, usually done in conjunction with universities. Same general idea -- making compute environments more accessible is a good thing -- until you have specific needs.
Cloud and Corporate IT
Most corporations have very precise needs around IT: function, service delivery, security, etc. If one adopts this interpretation of "cloud", corporate IT will be a very slow adopter indeed of this sort of processing.
Sure, there will be corporate-sponsored research projects here and there that use public computing infrastructure (as there are today, if you go looking for these things), but I am of the believe that most corporations will prefer private schools over public schools -- to push the analogy a bit.
The Hard Question
How do you make money from providing public computing infrastructure?
This is an important question, because the upfront investment to deliver public computing infrastructure at global scale is not chump change, is it?
OK, Google has this pretty well figured out (e.g. advertising), but has anyone else?
Put differently, the technology bits are interesting, but solvable. We've got plenty of good technology at our hands for building all sorts of compute and content and whatever clouds.
But how are they going to be paid for?
And that's turning out to be a not-so-easy question to answer. Generally speaking, you make money when you tailor an offering for a specific audience -- and this flies in the face of this definition of cloud.
So, at least for me, the interesting disucssion won't be "cloud" per se, it'll be "cloud business models" -- how does the stuff get paid for, and can you carve out enough value between lowest-common-denominator IT infrastructure, and having something worthwhile enough that people will pay a premium.
Courteous comments welcome as always ...
Comments