The blogged wandering of Robert W. Anderson
I posted Cloud Services Continuum a couple of weeks back. In that post I articulated a simplified view of cloud services and how they fit together. This was simple by design — others had found this view useful, so I wrote it down. I intentionally ignored some kinds of services, greatly simplifying the Infrastructure piece. In this post I delve deeper into infrastructure services. I’ll move on to platform next.
BTW: Stack is a more fitting word than continuum for various reasons, so I’m using that instead. And a shout out to Matias Wolsky — check out his SaaS Taxonomy Map.
Infrastructure as a Service
In my earlier post, I defined IaaS to include provisioning of hardware or virtual machines on which one generally has control over the OS; therefore allowing the execution of arbitrary software. This definition isn’t really enough, because there are many other kinds of infrastructure. Take a look at the services that are out there:
- connectivity / messaging services. Examples: Microsoft BizTalk Labs and Connectivity Services, Gnip.
- identity services. Countless OpenID identity providers, again the BizTalk Labs Identity Services.
- data storage. Examples: Amazon’s S3 and SimpleDB, Microsoft SQL Server Data Services.
One might argue that together these services create a “platform” — and they get close — but since none of these host general user-written code, they don’t quite get there.
Then, of course, there is flexible machine provisioning like Amazon EC2. These are definitely infrastructure — where the platform is the OS, Web servers, and other software.
Calling this all IaaS is fine — it is all infrastructure — but, maybe we should further divide these:
- Virtual Hardware Infrastructure
- Storage Infrastructure
- (Other) Infrastructure Services
Granted, these names need some work, but I think the categories are useful. And I won’t make them into acronyms because I think we have enough of those.
Tags: Amazon, AWS, cloud, Gnip, Google, IaaS, Microsoft, PaaS, SaaS, Salesforce, SSDS
There are a lot of questions circling around the blogosphere about Microsoft’s plans in the cloud. These plans are clearly secret and tangled up with code words, but some bits are public and getting more so.
If you haven’t checked out BizTalk Labs and the Internet Service Bus, you can get an overview here. But more than an overview, you can download version 12 — OK, 0.12 — of the SDK and get started very quickly.
The Internet Service Bus consists of three main parts:
- Identity Service. A service to unify authentication and authorization across the Internet Service Bus with support for other identity providers.
- Connectivity Service. A general service to connect applications with message relay when necessary.
- Workflow. A service that runs Windows Workflow Foundation workflows in the cloud.
Workflow was added this week. Before that, the Internet Service Bus looked mostly like infrastructure, but with this new addition, it is moving up the stack towards platform.
I played with the SDK earlier in the week. The Workflow Service supports a set of cloud activities included in the SDK. Using these activities as building blocks, you can build simple workflows hosted by Microsoft in the cloud. The available activities for the cloud are only a subset of the standard .NET 3.0/3.5 activities, but I’ll bet more are added as the service matures.
Now, this is all a CTP and final plans aren’t public, but, a quick glance at the ISB and some very interesting possibilities emerge. For example, the existing features in the CTP today, would greatly ease the engineering effort of extending a Digipede Network into the cloud. Pretty cool, huh?
BTW: A recent comment on my blog shows that some people aren’t aware of another Microsoft Cloud service: SQL Server Data Services (or SSDS). That one is in a limited beta, but you can sign up for it at Microsoft Connect.
Tags: BizTalk, cloud, IaaS, Microsoft, PaaS
I have found myself talking about cloud services a lot recently. We have been talking about them here — there is an obvious synergy between what we do at Digipede and cloud services. And I’ve been talking about them externally too: at the recent CloudCamp, on the Gillmor Gang, and in all sorts of other interesting contexts.
Note that I refer to cloud services, not to the cloud. I am not interested in defining cloud as a term, because I don’t think it very useful. For those of us in the distributed computing space, cloud is the latest buzzword to compete with the word grid in terms of utter ambiguity. I think the ship has already sailed on this one and I’m not going to try to call it back.
So, everyone is talking about cloud services and much of the conversation centers on understanding them and how they are changing the landscape. Of course, cloud services are not one thing. I find it helpful to think about them as parts of a continuum. This seems useful regardless of the technical level of the people with whom I’m speaking.
The diagram to the right shows this continuum from infrastructure to platform to software. Brief definitions of these parts are:
- Infrastructure includes provisioning of hardware or virtual computers on which one generally has control over the OS; therefore allowing the execution of arbitrary software.
- Platform indicates a higher-level environment for which developers write custom applications. Generally the developer is accepting some restrictions on the type of software they can write in exchange for built-in application scalability.
- Software (as a Service) indicates special-purpose software made available through the Internet.
I have indicated several companies that play at different parts of this stack. This list is not comprehensive nor does it attempt to represent motion across the stack.
One scenario in which I find myself talking about the continuum is when people equate Amazon EC2 with Google App Engine. EC2 is a flexible / scalable virtual hosting platform with provisioning APIs. It allows you to dynamically scale the number of instances of your OS (i.e., Linux). What you do with those instances is up to you. Google App Engine operates at a much higher level in the stack. It is a new software platform with specific APIs. It requires developers to build for this specific platform. yes, they are both in the cloud, but they are very different services.
Another scenario in which the continuum is useful is in thinking about what vendors and new entrants might be up to. The continuum makes one thing even more clear: many vendors that operate higher in the stack are relying on their own internal lower-level infrastructure or platform. This begs some questions: which vendors will expose lower-level interfaces? And of course, which vendors will move up the stack?
- SalesForce is already moving down with their PaaS offering.
- Any chance Google will expose its infrastructure stack? I doubt it, but I do expect them to move down a little.
- Some of the readers of this blog probably know better than I where Amazon and Microsoft are planning to go.
Yet another way it is useful is in comparing vendors inside of a particular category. Maybe I’ll write more on that later.
Is the continuum obvious? Using the definition of obvious from patent law, yes, but I think it a useful paradigm.
Tags: Amazon, cloud, Google, IaaS, Microsoft, PaaS, SaaS, Salesforce