Lift & Shift or Drop & Flop

Cloud Growth

There’s no doubt the growth and ascension of cloud providers has been at the mercy of those doing lift & shift from on-premises data centers to public cloud providers. In 2015 IaaS accounted for $16.5 B vs. PaaS spend of $1.7 B [1].

So, is this a good thing? I say it isn’t. Many might say it depends. Yea, that’s a cop-out, non-committal and, politically correct response. But I’m biased; we all have bias. And, like many professions, Computer Science, IT management, or whatever you call this industry is replete with subjective opinions not backed by any science.

Fueled by Infrastructure as a Service (IaaS)

Early in the cloud wars, there was significant effort to move from running data centers on premises towards moving workloads to cloud providers. This Lift & Shift has had mixed results in overall satisfaction.[2]

I’m in the midst of researching cloud experts and IT professionals with regards to suitability of application architectures for the cloud. After interviews with over 2 dozen experts having 3 or more years of cloud experience and 3 or more "applications" either running or migrated to the cloud, there is noticeable bias. Those that self-identify as more Infrastructure oriented architects see little issue with the Lift & Shift model. Those that self-identify as Application or Solution architects have reservations or outright objections towards Lift & Shift.

In addition to the expert feedback, data from cloud migrations has shown a significant portion of applications migrated to the cloud which had higher satisfaction were smaller line of business applications. These applications generally move with little perceived difference for users once running in the cloud. Data intensive or IO intensive applications had a greater incidence of limited satisfaction or forced rewrites.

Applications that truly needed to scale required some rewrite to accommodate either the impact of IO limitations (throttling) for storage or network - and in some cases, overall costs were so much higher that without a rewrite the financials were broken. Much of that related to high cost storage devices such as SANs or Direct Attached Storage. And finally, there were some applications that were deemed just not ready - or where the "cloud wasn't ready" - in that there were unique architecture or costs that just invalidated the move either due to significant rewrite, replace, or eventual sun-setting.

Platform as a Service (PaaS) Fuels Future Cloud

But something is happening among the growing number of architects running applications in the cloud. Forecasts for growth in cloud that rank IaaS and PaaS expenditures we seem to be at some inflection point. Growth rates in PaaS are greater than IaaS - 19% for IaaS and 36% for PaaS. [3]

Moving Forward

We can guess as to what is changing with regards to movement towards use of PaaS with cloud providers. Prior bias could be breaking down; reduced uncertainty with fear of cloud provider lock-in; a better feedback loop for Infrastructure Architects for satisfaction for cloud solutions; or maybe Application Architects are having direct input into selecting PaaS choices. Currently, there is little research that can solidify these reasons.

Future Research

Future research is needed that may achieve a framework for migration strategies or when doing greenfield making choices among PaaS offerings or IaaS with cloud providers. Some efforts are focusing on the economics and costs relative to performance or payback. Ideally, we can achieve an approach that can model a solution, possibly via TLA or other models, allowing architects and stakeholders to make "choices" - by turning back the dial on concerns such as reliability, availability, throughput, elasticity, etc. All the things that Architects practice when building systems - but generally don't know the result until it's done and deployed.

Where to Start

A good starting point on migration strategies is to objectively look at an application portfolio. We might generally bucket applications with regards to "cloud suitability" into 3 categories: 1) cloud native[4,5], 2) cloud compliant, and 3) never in the cloud. We'll examine this in future research.

However, I think like an Application Architect. With that bias we already we have a good foundation to start with as we build distributed applications. We should never forget the 8-fallacies of distributed computing as a starting point as cloud solutions are inherently distributed. In addition, there are industry efforts underway, such as The Twelve-Factor App[7,8], which while targeted towards Software as a Service (SaaS) applies just as well towards the composition of Applications in the public cloud based upon PaaS offerings.

So, happy cloud computing and until next time...


Author image
Software Architect @Microsoft in DX & former Delivery Manager Microsoft Americas Solution Delivery Center. Author & ABD Computer Science Pace University and Adjunct Professor.
US East2 Website