Turbonomic Blog

Survey: Approximately ⅔ of applications are being modernized or slated to be modernized.

Posted by Asena Hertz on Dec 17, 2019 4:23:52 PM
Asena Hertz
Find me on:

This blog kicks off a series of blogs in which we share some of the results from our State of Performance in Modern Applications Survey.

Want to binge read the results? Download the full report here.

 

In today’s digital economy, business success relies on their applications. Do they provide the services and functionality that customers expect? Do they perform reliably and at scale? Do they keep pace with ever-evolving customer needs? To that end, organizations are modernizing their applications to enable greater agility. In fact, about ⅔ of applications are being modernized or slated to be modernized. 

But there are different routes to modernization depending on existing applications, the organization’s operational maturity and skillsets, and most importantly, their business objectives. So, we asked the question, “For the applications that you plan to modernize, what approach(es) is your organization taking?” Replatforming (42%) and rehosting (42%) applications were the most popular approaches. One-third of respondents indicated they have applications they expect to retain as is, closely followed by 31% of respondents indicating they are retiring some applications. Not surprisingly, only 24% of respondents are refactoring applications, a testament to the massive investment that such an endeavor requires. 

Business needs drive application choices.

What are the reasons for choosing one approach over another when modernizing applications? Here are the considerations behind these decisions.

For applications that differentiate your business rehost, replatform, and/or refactor.

This is about modernizing the applications that directly impact your competitive advantage. While the holy grail is cloud native, enabling the speed and agility (ex. DevOps, CI/CD) that bring ideas to market faster, it’s not an easy undertaking. Depending on the application and its contribution to the business, you may decide to take an incremental approach with Rehosting or Replatforming, or fully invest in Refactoring the application for cloud native. 

Rehosting “Lift & Shift”

Rehosting is the simplest approach to modernizing applications, quickly offering the benefits of switching from a CapEx model to an OpEx model. (That said, by now we all know that the OpEx model does not guarantee cost savings.) This can be just a first step before refactoring in the cloud. 

What applications are appropriate?

  • Applications that don’t require continuous improvements (right now) i.e. won’t benefit from re-architecting to microservices for the advantages of faster cycles to deliver improvements.
  • Commercial and off-the-shelf applications that don’t allow code changes.
  • Applications that are being used but have no active roadmap.

Replatforming “Lift-Tinker-and-Shift”

Replatforming is when some modifications are made to an application to take advantage of public cloud services or elasticity, but they don’t necessarily need the full benefits of cloud native. But, here again, this may just be a first step before refactoring. 

 

What applications are appropriate?

  • Applications that don’t require continuous improvements (right now). Maybe they won’t benefit from re-architecting to microservices for the advantages of faster cycles to deliver application improvements; or your organization is not ready for this undertaking just yet.

Refactoring “Re-writing/re-architecting”

Refactoring an application involves re-architecting and re-coding some or all of an application to take advantage of cloud native elasticity, agility, and speed. It’s a major investment, but with great returns.

  • Cloud native applications allow developer teams to release new or improved application services more frequently.
  • CI/CD (and variations of it), enabled by containers/microservices, reduce deployment risks (quick roll backs).
  • Cloud native elasticity allows applications to scale with demand (more performant, more efficient).

Refactored applications bring ideas to market faster (increase revenue), mitigate deployment risks that are common to monolithic applications (reduce risk), and their application elasticity ensures better customer experiences, while minimizing costs. 

It’s worth noting that for many organizations, their first foray into microservices may be building a new application from scratch, for example, as part of a new line of business. 

What applications are appropriate?

  • Applications that differentiate your business, requiring faster, more frequent releases and better scalability. Refactoring is a longer undertaking so the business returns must be worth the investment in time, money, and skills (whether hiring or training).

Lemur Facebook

For applications that don’t differentiate your business, but are required for productivity, repurchase.

For table stakes applications that don’t differentiate the business, purchase them to minimize management costs. Again, it’s all about focusing resources on the most impactful efforts.

For applications that are no longer needed for the business, retire. 

In today’s world, lean operations aren’t just for cash-strapped startups, it’s about focusing resources in the right places.

And sometimes “no change” is the right approach.

But it’s still important to make this decision after some consideration. Retain applications as is where modernizing the app is not required for business differentiation or competitive advantage, or the cost is too high to justify the investment.

 

Guidance from Your Peers: Crawl, Walk, Run…

As part of this survey we asked respondents to provide guidance to their peers on how to effect change in their organization. Several responses had a crawl, walk, run theme…

  • “Start with a plan to crawl, walk, then run. The forward thinkers can get the big picture, but others will need to be convinced. Some need this to see the cost/value of what the budget is demanding.”​
  • “We are trying to modernize a few apps and then roll them out to be used by a wide user base and then socialize the results.”​
  • “A small proof of concept project can have the greatest impact on adoption for other applications.  They allow for a longer learning curve and if planned and executed well gain business line advocates for future projects.”

What's your take? Share your experience with peers on Quora: From your experience, what have been some effective ways to drive and execute application modernization initiatives in your organization?

Topics: Containers

Subscribe Here!

Recent Posts