The Landscape of PaaS

Dathon

THE LANDSCAPE OF PAAS

Where to start?  I was at a Cisco meeting a few days ago.   One of the Cisco people proceeded to talk about plans for SDN.   It’s not important to know what SDN is but in the process he went on one of the most impressive diatribes of acronyms I’ve ever heard.   Literally every other word out of his mouth was a 3 or 4 letter acronym.  I was reminded of Dathon from the Star Trek Next Generation series episode “Darmok.”Dathon talks in phrases that make no sense to Jean Luc Picard.  He needs to know the story behind the phrases.   Without an understanding of those incidents that happened in Dathon’s history there is no way to know what he is talking about.   Well, the Cloud Landscape is being covered in a ever increasing  set of acronyms which are not converging on well defined meanings.

For example:   PaaS (Platform as a Service).   A lot of people have no idea what this is.   There are a lot of different opinions among those who know what it is.   I think that is because the first word “Platform” is overloaded.   We hear platform used for many things.

social10

Follow @john_mathon

It’s one of those words people resort to when the words framework or system is being overused.   It can mean just a collection of things.   The most simple meaning comes from the idea that a platform is something you stand on, that gives support to the main act.

800px-Oil_platform_in_the_North_SeaPros

A platform  🙂

During the long years building middleware at TIBCO, we and others defined a whole taxonomy of middleware components which by definition are “platform” tools.   These components are:  Enterprise Service Bus (ESB), MB (Message Broker), BPM (Business Process Manager), CEP (Complex event processor – bad name), BAM (Business Activity Management or Monitor – also bad name), MDM (Meta Data Management), DSL (Data Services Layer), AS (application server), Registry or Governance Registry, Rules Engine.   Each of these pieces evolved to solve a particular type of problem that emerged from distributed systems.   Therefore, the ultimate platform would have all these pieces in one platform therefore enabling you to build all application types that we found over all those years that needed tools like that, i.e. all enterprise applications.   Another blog post I intend to write will explain that n dimensional matrix and why those tools evolved and succeeded.   Gartner calls a PaaS that has a lot of these middleware components in it a “Foundational” PaaS.   I like this terminology.

For me a PaaS consists of 4 pieces:  A development capability, an ALM (application lifecycle management) piece to help you build your application, test it and stage it, a deployment capability to deploy whatever you build when you are ready in a way that can scale well and lastly the operations console to control the operation of the product as users come in and use the application you built.

There are a number of products that offer the last 2 pieces of what I call a PaaS and purport to call that a PaaS.   I call those cloud middleware instead or possibly DaaS (deployment as a service).   This technology is very critical because it is the part of the devOps cycle that used to take a very long time and now can take seconds or minutes allowing very fast iterations of code if you have the ability to get new code through development, test, staging and everyone feels ready then these last 2 steps give you the ability to deploy immediately.   However, without the other 2 pieces you really just have a tool.   We all know a tool is a lot less useful than a solution.

hammerFollow @john_mathon

You can’t build a roof with just this.

I do not consider those “PaaS” but are more what I call cloud middleware or sometimes devOps.      Cloud middleware includes load balancers, fault tolerance and some of the system management technology to operate applications. Whatever you need to be able to take an arbitrary application and deploy it to any cloud infrastructure I call cloud middleware and it is subject of another blog post.    Examples of cloud middleware according to my definition are Stockato (based on OpenStack), Electric Cloud, Joyent and for WSO2 our product called Stratos and many others.

The development and ALM parts are complicated because over the years we have built many many different types of development and ALM tools.   For a PaaS to be successful there needs to be convergence down to a manageable list of tools or companies will have to live with whatever their PaaS vendor gives them.  

Suffice it to say that I believe middleware is software that stands in the middle and as such cloud middleware software is the software that sits between cloud infrastructure vendors and the applications.   PaaS in my world is the world of application building and includes deployment as well but it must include the application development part or it is a different kind of thing.

In a second article on this topic I will go through and document for many of the major PaaS’s that are marketed out there what kind of PaaS they are and what their relative merits and deficiencies as I see them today, how they classify according to a standard taxonomy.

I want to disclose I was a founder of TIBCO Software and invented the concept of the Publish / Subscribe paradigm that was the start of “messaging” and worked for many years at TIBCO.   I also have started companies doing a cloud messaging service, a data loss protection company and I have worked for numerous startups over the years.   Today I am working for WSO2, what I consider a leading visionary company in the space of keeping businesses connected via API Management, Stratos Cloud Middleware, App Factory PaaS, Identity Manager, Governance Registry, DSS big data and Analytics services.   I will strive to make my blogs informative, useful and helpful in thinking about the complex problems of the cloud and the massive transition going on to a cloud world.   WSO2 is an open source company using Apache 2 licensing for all its products.   I strongly encourage you to look into the open source movement as the basis of your enterprise software.


//
http://wp.me/p3oJqT-3

5 thoughts on “The Landscape of PaaS

  1. Good article as usual, Jonathan :-). I like the distinction you have made between a PaaS and “cloud middleware”.

    MDM = Master Data Management, I thought…

    Like

  2. I think, in he virtual Cloud world (as opposed to the Luddites’ view the world), PaaS is more simply an enapsulted software stack, abstracted from physical resources, hat can scale on demand. But as u say, everyone seems to define it differently, perhaps rendering the term meaningless.

    Like

  3. Trying this again w/o typos 😦 —

    I think, in the virtual Cloud world (as opposed to the Luddites’ view the world), PaaS is more simply an encapsulated software stack, abstracted from physical resources, that can scale on demand.

    But as u say, everyone seems to define it differently, perhaps rendering the term meaningless.

    Like

    1. Software stack to me in this context means “complete development environment” and thence I would agree that a PaaS is an environment encapsulated and abstracted from physical resources that can scale on demand. It’s an abstract development environment where the physical limitations in the real world of networks and hardware are irrelevant.

      However, in my view it is self-complete in that you should be able to go to a PaaS environment with little else in hand but possibly keys and ideas and implement your software vision from start to finish. If you have to come with a “finished product” that is simply deployed then that is what I call simply deployment as a service or cloud middleware.

      Any definition is always subject to change. It’s just a matter of what “words” we choose. I just think platform has more to do with the software development process than the deployment process which I think you are generally agreeing with.

      Like

  4. Well, a complete develomentenvonent might be Data Center as a Service. Definitions are cloudy (pardon the pun!! LOL).

    I think of IaaS as any encapsulation of multiple VMs; PaaS as the encapsulation of stacks; SaaS as te encapsulation of whole applications and everything they need to run; and, Data Center as a Service as an entire encapsulated environment with multipe SaaSs.

    Like

Leave a comment