Saturday, February 28, 2009

Abstraction and Clouds

After my SaaS/Abstraction Tweet, I have been considering my posit ie That SaaS can be implemented in a Cloud like Manner or NOT. Which appeared cause some tension...

FROM @golfcaddy
@adrius42 But isn't SAAS an abstraction of sorts?

From @ccairney
@adrius42 @golfcaddy if cloud computing is defined by layers abstraction then SaaS sits in one of the layers

From @RobynMiller
@adrius42 I don't know why, but the word abstraction doesn't 'click for me...

I have come to the conclusion that the tension comes down to the fact that the act of abstraction is NOT a binary switch, ie abstracted or not. I have perhaps been lazy in my thinking.

So to build my posit, here are some elements of the Abstraction Concept

SubRoutines: These are often just Abstraction within the Application

Service: Clearly a type of Abstraction that can be found in Clouds, but does that mean existance of Service Level abstraction = Cloud. I would argue not. Thoughts???

I personally believe you can use the service level abstraction in a manner that is not Cloud like.

I would also argue that the degree of abstraction, when designed in a cloud like manner is directly proportional to the Cloudiness of the Cloud involved.

For example I would argue that the use of Amazons S3 for data storage is clearly Cloud to some degree, but not "Full On Cloud". That would look like storage of data fully virtualised below the Abstraction Layer stored across, virtualised internal data storage, Amazon S3, and Nirvanix. So that if any of the storage services below the abstraction layer fail then the abstraction layer ensures that the consuming party above the abstraction layer is not aware of the event. Now that is Full On Cloud Computing, between the Platform and Storage Layer.


  1. I wouldn't say tension, so much as mud for me. Still wading through it.

    It struck me in giggles that I am trying to put a solid frame around 'abstraction'!

  2. When I get a server from Amazon there's not a lot of abstraction. Just a virtual server generated for me, but I still know the name, the IP address, etc.
    But I still think Amazon hardware service is quite "cloudy".

    So what is that cloud doing for me? Is giving me a server where I don't have to worry about the hardware. Is that an abstracted server?

    So I can agree that cloud is about abstraction because you deal just with the top layer and don't worry about what is below; but we also need loosely coupling to be able to get services from different clouds.

    Not sure I'm helping much


Thanks in advance for sharing your thoughts...