When you think of portability in cloud computing, you think of how to move applications code, data, and workloads. These are mostly horizontal movements within the same level of software stacks – from one IaaS to another, and from one PaaS to another.
There is a more interesting and potentially very important movement that I would describe as “cross stack” portability. Today we don’t see cross stack portability unless we re-write the application, which is not what I cover here (although it could be a good business opportunity for companies to explore). Rather, I am talking about how to move your application built on PaaS to an IaaS vendor or even to a private cloud. The reason I call it cross stack is because the application is moved up or down to a different level in the software stack.
In this blog, I’ll focus on portability without code change. I’ll discuss three conversions: from PaaS to IaaS, SaaS to IaaS, and IaaS to PaaS. Mathematically we can have other forms of conversions – say from IaaS to SaaS – but those examples are either not that interesting or not that practical. So I won’t cover them here.
From PaaS to IaaS