I was in a Twitter conversation where the NIST definition was used as the preferred definition for hybrid PaaS. Unfortunately, the definition was for hybrid cloud itself, and not hybrid PaaS. Let’s understand why this matters. It’s a simple question: what is hybrid PaaS? According to NIST’s definition of hybrid cloud:
“Hybrid cloud: The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).”
Although it might be fine for defining hybrid cloud, the content of this definition is not fine for hybrid PaaS. In fact, if you look closely, PaaS is a word you can plug into the definition here: “…bound together by standardized or proprietary technology…” The word “technology” is a placeholder for things like a hybrid IaaS – or PaaS. You could read this as ““…bound together by [a] standardized or proprietary PaaS…” Hybrid PaaS is an embodiment of “hybrid cloud” and as such, you can’t use the abstract definition to define this specific implementation since it would be somewhat recursive. In order to understand hybrid PaaS, we need more color.
Let’s start by defining what PaaS is not.
The problem is that if this definition is applied as is, it implies that hybrid PaaS is achieved by having a private PaaS layered atop VPN’d resources. This isn’t hybrid PaaS – this is hybrid IaaS with a PaaS installed on it, or VPC type technology being leveraged to pool OS resources. It’s the PaaS trying to pass off a cloud infrastructure feature as its own. Why isn’t this hybrid PaaS? Because it lacks intelligence to make decisions based on the federation of these resources. Application placement and request routing will be done arbitrarily across the resources – a naïve approach that will prove harmful rather than helpful.
While an IaaS surfaces VMs and has little (if any) knowledge of the apps within those VMs, PaaS is “close” enough to the application that it can perform deep instrumentation and inspection. A good PaaS can help assess aspects of the applications and consume configuration information, and marry that with an intimate understanding of the location (public/private/other datacenter) of the OS resources that are part of the PaaS instance.
In order for a PaaS to be hybrid, it should:
As a result of these capabilities, applications can be intelligently placed and executed on the infrastructure, thereby exploiting the fact that the resources come from disparate pools rather than being oblivious to it. If a PaaS can’t do this – it’s not hybrid. It’s just a PaaS sitting on a bunch of VPN-connected resources, and provides no added value to the equation.