Reinventing the Wheel – Cloud Edition: Leverage vs Portability

Reinventing the Wheel – Cloud Edition: Leverage vs Portability

Moving more work into the cloud makes IT revisit the question: Leverage vendor-specific platform services or give up leverage for control and portability.

Haven’t We Been Here Before

We are just about to launch our latest round of benchmarking the enterprise’s use of emerging technology in cloud and data center.  One of the aspects of cloud use we are specifically seeking to illuminate is the best strategy around workload migration from data center to cloud and around creation of new workloads ab initio in the cloud.

We see three basic approaches in conversations to date: rehosting, replatforming, and rearchitecting. Let’s put that last aside for now, since it only really applies to applications you control the architecture of; those you develop yourself.  We’ll discuss that another time.  We’ll focus here on rehosting and replatforming.

Rehosting is just what it sounds like: changing the place where the virtual machines providing a service are hosted.  Here, we mean moving them from host servers in an organization’s own data center out to an IaaS environment somewhere.  This approach is sometimes called “lift and shift.”

Replatforming takes a deeper look at how resources can be supplied to the application, and substitutes PaaS-type services for services provided DIY-style in-house.  The classic substitution is to use a database service in place of a database server.  For example, one might replace a MySQL server with Amazon Aurora or Google Cloud SQL (actual MySQL, but provided as a service) or with some other relational database such as Microsoft’s Azure SQL Database service. One might as easily replace a DIY NoSQL deployment supporting an analytics application with the IaaS provider’s NoSQL services, such as Google’s BigTable or IBM BlueMix’s Cloudant.  (The same ideas apply to spinning up a workload in the cloud first, rather than migrating it.  If it is built to be run in a data center or IaaS, you have to make the same choice regarding building vs buying supporting services like databases or file-based storage.)

IT folks should feel a strong sense of deja vu (at least any “seasoned staff” — i.e. old timers like me).  This is just another round of the classic debate between leverage and portability.  We’ve played out this drama several times in the data center, whether with operating systems (Stick with POSIX UNIX features or use proprietary extensions?) or relational data bases (Stick with SQL standard or use proprietary extensions?) or networking (Stick with IETF routing standards or use proprietary extensions?)

Lock-in vs Labor

So, the drama plays out again, with respect to cloud environments. Here, I want to focus in on the trade-off between lock-in and labor, between leverage and portability.

Those not worried about vendor lock-in but concerned about staff resources will incline toward leveraging the bells and whistles available from the cloud provider (or partners).  In addition to whatever technological benefits might accrue in performance or scaling, this reduces the amount of configuration, deployment, and management work the staff have to handle.  However, it does more tightly couple the organization to the IaaS environment, making it harder to pick up and relocate the service to another provider (or back into the data center) should the need arise.

Those who are more worried about lock-in than labor will make the opposite choice.  By retaining responsibility for providing all the ancillary services, they also retain a higher degree of control over their own environment. They have a much easier time recreating the environment in whatever IaaS space they want to use next, or in in-sourcing the service.  Balancing that out, they fail to realize any advantages they might get in scale, reliability, or performance by using a cloud-native service.  And, they retain the full burden of configuring, updating, and managing the component pieces.

Leverage Means the Age of PaaS?

It’s too early to say, but we are seeing some signs that interest in leveraging services is rising as experience with both IaaS and PaaS increases.  Specifically, among the 50% or so of enterprises using PaaS in our last benchmark, we’re seeing a near quadrupling of the amount of work going into it on average; from around 3% early in 2016 to 11% going into 2017

Percentage of Workload in PaaS rises from near 0% in 2013 to 11% in 2017

2016: Take-off Point for PaaS

This is of course one of the points we will be researching in this year’s cloud benchmark, and not just to clock the rate of adoption but also to get a clear picture of whether pursuing leverage results in higher success, or pursuing portability does. (And do reach out to let me know if you’d like to be interviewed for the benchmark!  In exchange for an hour or so of your time on the phone with me, you’d get back the results of the research when the analysis is complete.)