Refactoring apps is a necessary evil in the cloud journey

Application refactoring — the process companies undertake when they move their on-prem applications to the cloud so that the application can take advantage of cloud-native services— is a little like starting a home remodeling project. What begins a simple upgrade quickly turns into a major renovation when you uncover underlying issues such as faulty electrical or corroded pipes or cracks in the foundation.

Induprakas Keri, SVP of NC2 and NCI and chief product security officer at Nutanix, likes to use this home remodeling analogy to help those new to the cloud journey understand what lies ahead when refactoring an application to the cloud. “It starts as a simple project and turns into a gigantic process,” Keri said, adding that some enterprises spend anywhere from 12 to 18 months refactoring their application to the cloud before they see any of the benefits.

The reason it is so complex is that when an application is re-architected for the public cloud, it is hard for problems to be diagnosed and resolved. For example, an enterprise may experience a degradation of the application, such as latency, but cannot easily find the source of the problem because there are so many different layers and processes to sift through.  

That is why Nutanix recommends that its customers “lift and shift” before they begin the refactoring process. Lift and shift, according to Keri, refers to a customer taking a workload that is on-prem and “lifting and shifting” it to a bare metal instance. The advantages of doing it this way is that it’s faster and requires less work. However, the downside is that application can’t take advantage of all the cloud-native features.

“If you want to use the cloud-native services you need to refactor,” Keri said. But Nutanix advises clients to refactor after the lift and shift because at that point problems can be more easily detected and resolved. “You can be much more surgical about what you want to replace with public cloud,” he said, adding that this process “makes the refactoring journey much less frustrating.”

However, refactoring may not be a long-term issue. Keri said that modern applications, or those that are built from the beginning for a cloud-native environment, don’t typically require refactoring.

“New application development can happen much better in the public cloud because most modern applications are containerized and are more portable between clouds,” he said.

Telecom companies hit with refactoring headache

Telecom companies, like enterprises, also have to refactor applications when they move to the public cloud but the process can be particularly difficult because telecom applications are vertically integrated.

According to Martin Halstead, senior distinguished technologist in HPE's communications technology group, refactoring is a big headache for telcos because most of the big cloud providers have vertically integrated stacks of platforms on top of curated infrastructure. And telco applications are also vertically integrated and dependent upon hardware to work. That’s why operators like Dish Network, which is running its 5G core in the public cloud, is actually running its network functions on VMware, which is then running on Amazon Web Services (AWS).

“That gives them [Dish] an abstraction layer to run on top of the AWS cloud,” Halstead said.

He added that because the cloud providers are competitive with each other they don’t really have any incentive to make it easier for companies to refactor their applications. “They want customers to be locked in,” he said.

And he warns that even if applications are written for a cloud-native environment that doesn’t mean there won’t be issues, particularly if companies want multi-cloud support. “You can’t guarantee that you will have all the functions that you have with one cloud in another cloud,” he said. “There are glaring differences.”

However, Halstead believes that eventually it will become easier to refactor applications and move them from one cloud to another. “I think it’s inevitable. The industry will evolve and eventually things will become more open.”