Tuesday, January 21, 2014

It’s all about Services! [feedly]

It's all about Services!
// Build AWS-compatible Private Clouds with CumuLogic

This month has seen a significant bump in blog posts from around the industry, as people try to get their arms around the PaaS market. Some have even stated that PaaS is dying. While I'm certain that we aren't seeing the "death" of PaaS, but are seeing a reality develop in the market around its relative importance and the value of different approaches to supporting application owners. "Pure" PaaS solutions are certainly valuable under the right conditions, but come with all the same implementation and learning curve challenges inherent in any new and complex technology. More importantly, they often require rethinking the applications themselves, which is something that I find hard to swallow as an engineer.

When you step back and look at the evolution of IT in a more general way, one stark reality stands out… the long tail. Enterprise developers need to find ways to take advantage of the enormous value possible with orchestration and abstraction, but in ways that bridge the gap between the future and the current realities.

Krishnan Subramanian from Red Hat recently posted an article on InformationWeek, expressing an opinion that there are largely two types of PaaS offerings forming in the market: PaaS by Service Orchestration and PaaS by Container Orchestration. While this is a bit of a simplification, he's largely right in describing this distinction. However, he goes on to say:

The service orchestration-based approach of PaaS is similar to SaaS architecturally, and the container orchestration approach of PaaS is similar to the VM-based approach of IaaS.

This is where I think he's missing something important. IaaS is about providing an abstraction above raw infrastructure, and is much more than just VM control. Yes, container orchestration is like VM orchestration, but IaaS (and IaaS+ really) is actually about several modular services that can be used together to build application architectures. The larger "IaaS" clouds are offering a vast array of modular services, including things like DBaaS, Cache-as-a-Service, Compute-as-a-Service, Object storage, CDN services, etc…

These larger cloud providers (Amazon, Google and Microsoft) have it right… they offer the power of modular services (think RDS, DynamoDB, etc…), coupled with composition *options* for the application owners. This model fits into the PaaS by Service Orchestration approach quite nicely.

What we need out of a PaaS is different from what we need out of the IaaS+ clouds. We need PaaS to focus on application lifecycle management, while we need the IaaS+ environment to provide the modular services that the PaaS can compose. Container orchestration should really just be another service offered by the underlying IaaS+ environment. This gives users choice in how they compose their applications (and what lifecycle management functions they need), while still allowing the consumption of these modular services without composition frameworks.

Shared via my feedly reader

Sent from my iPhone

No comments:

Post a Comment