untweaked.code

June 18, 2009

When is a cloud a cloud?

Filed under: cloud, ec2 — untweaked @ 5:55 pm

In my readings, I came across a pointer to an apparently popular blog entry by James Governor, “15 ways to tell it’s not cloud computing”.  Although some of the points are valid, I hope others are just an attempt at humor., or at least gross oversimplification. Here’s my comments, as I see them. Feel free to call me on it. I am still in learning mode (aren’t we all?) so as I am learning more over the next few days, I may call BS on myself in a follow-up post. By the way, I’m assuming we are talking about IaaS clouds.

1. If you peel back the label and its says “Grid” or “OGSA” underneath… its not a cloud.

 Okay, but a grid is an infrastructure on which you could theoretically build a cloud. Let’s say you have a grid of 10000 nodes, you could conceivably partition it  into cloud-like allocations. On the other hand, the reverse is also true.

2. If you need to send a 40 page requirements document to the vendor then… it is not cloud.

 Or rather, if the vendor has to read a 40-page document to provide you cloud services, then it’s not a cloud. A cloud service is something very basic and simple, what you do with it is your call.

3. If you can’t buy it on your personal credit card… it is not a cloud

 Well, it could be free. And I am sure as cloud computing becomes commoditized, someone will think of a business case for free cloud computing. But the jist of the statement does make sense.

4. If there is no API… it’s not a cloud.

 It could still be a cloud, just not a very useful cloud.

5. If they are trying to sell you hardware… its not a cloud.

 Amen. Unless they are trying to solve some service-related issue such as latency between the customer and the cloud.

6. If you need to rearchitect your systems for it… Its not a cloud.

 True. Note that it uses the key word “rearchitect”. That doesn’t mean a cloud migration is necessarily touch free.

7. If it takes more than ten minutes to provision… its not a cloud.

 No arguments. Although, I’m not sure you should need to provision anything, the cloud should take care of adding resourcesgiven your computing needs (and allow you to specify an upper bound to prevent cost overruns). Ec2 already provides something like this, but I’m not sure why a customer needs to be aware of instances anyway.

8. If you can’t deprovision in less than ten minutes… its not a cloud.

 Ditto.

9. If you know where the machines are… its not a cloud.

 I would slightly modify this to say “if you know where the machines that are running your code are, it’s not a cloud.” There is no reason why it can’t be a cloud if you know all machines are in a datacenter in Dumpwater, Texas. What makes it a cloud is that you shouldn’t be aware which machine in that datacenter is munching on your bits.

This is an interesting conundrum. On one hand it enhances security by obscuring which physical machine actually has your data. On the other hand, it makes forensic analysis nearly darn impossible.

10. If there is a consultant in the room… its not a cloud.

 A rehash of #2 above?

11. If you need to specify the number of machines you want upfront… its not a cloud.

 A specialization of #7 above?

12. If it only runs one operating system… its not a cloud.

There should be some clarification here. You can have a cloud which runs one operating system (let’s say Linux, since it’s trendy) and a virtualization technology such as Xen. The author was probably thinking of customer operating systems, not the cloud implementation itself.

Following the same thought, would we say “if it runs only one programming language, it’s not a cloud”? Consider the case of Windows Azure and App Engine which will only run .NET CLR and Python respectively, which actually makes the operating system irrelevant. How does that fit in with the statement above? The operating system now becomes each language’s interpreter, if you want to think about it that way.

13. If you can’t connect to it from your own machine… its not a cloud.

 Well… There is that thing of private clouds vs public clouds, regulations, security, etc.

14. If you need to install software to use it… its not a cloud.

 Why? Why can’t I have a rich UI with a cloud-based architecture as the back end? I am thinking cloud could be a good resource for a MMORPG style game, no? The back end could scale with the load, and the front end would take care of the user experience in a platform-dependent manner. Maybe i’m not following here.

15. If you own all the hardware… its not a cloud.

 Again, public vs. private clouds, yada yada yada…  

(bonus) If it takes 20 slides to explain…. its not a cloud

 Explain to a customer or a pointy haired boss, yes….

 Anyway, i’m curious on how many of my statements I’m going to call BS a few weeks from now.

No Comments Yet »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.