By Rafael Cuevas, Lead Delivery Architect
At Coda, we often have customers who come to us with questions about moving their legacy applications to the cloud. Most organizations today have investigated the cloud and know that, in the right circumstances, there are significant efficiencies and cost advantages that can be gained. No matter what size business we talk to, however, the compelling reason for undertaking a “digital transformation” that includes a significant focus on cloud adoption really comes down to increasing both business and IT agility. When choosing new software applications, companies looking to modernize their data centers and business applications are naturally gravitating toward a cloud-first strategy. This allows them to realize value far sooner and with less upfront capital expenditures.
For some organizations, it’s easy to accept the mistaken notion that solutions that are paid off no longer burden the organization with costs. However, with patches and updates and security workarounds that have been applied year after year, legacy software – even business-critical applications – can provide a back door for cyberattacks, and at the very least, they require significant maintenance and attention from the IT department, a soft cost that is difficult to capture, yet very real.
A number of articles and reports about legacy solutions claim 80 percent or more of most IT budgets (corporate1 and government2) are being spent on legacy infrastructure and applications. Yet, a recent McAfee study also indicates that 93 percent of the organizations surveyed are currently using cloud services.3 An article in Digital Journal4 indicates that most businesses (85 percent) may allocate as much as one-fourth of their total budget to digital transformation this year, and a Forbes5 column notes that, before you know it, as much as 80 percent of all IT budgets will be committed to cloud solutions. So it’s a natural assumption by many IT professionals working for businesses both large and small that, by moving legacy apps to the cloud, they will be keeping up with their competition while saving both time and money in the management and deployment of important legacy applications.
Once the decision to migrate has been made, customers begin to have a lot of questions: Which legacy apps do we really need? Which ones are best suited for the cloud? Should we do a lift-and-shift or is there refactoring that needs to be done? Do we need to rewrite the application from scratch? To help, I’ve put together a quick tutorial that gives you a 50,000-foot overview of the four key methods for moving legacy apps to the cloud.
- Lift and Shift: This is the most basic way to move legacy apps to the cloud, and unfortunately, it’s not usually the best option. With a lift-and-shift, you’re simply taking an existing application and installing it on a virtualized server in the cloud. It might be an option for companies that are running a legacy app on older hardware who simply want to stop supporting that hardware or avoid purchasing replacement systems to run this older app. Aside from the advantage of shifting to an Infrastructure-as-a-Service (IaaS) model for hosting the software, however, there aren’t many other significant efficiency or productivity gains to be realized. Why?
Traditional applications are built to run on a server. When there are more user requests hitting that server than there is capacity to accommodate those requests, most applications crash. By simply moving the application to the cloud, you’ve changed the hardware that is running it, but not the way it runs on the hardware. To get a different result, you have to consider the underlying design of the application and what parts of that design are best suited for a cloud environment vs. the parts that need to be refactored to more advantageously leverage the cloud.
- Refactor the Application: An application can, however, be refactored to take advantage of a Platform-as-a-Service (PaaS) offering in the cloud. The best time to do this is when you have complete control of the application with full access to the source code and when there aren’t a lot of dependencies between the application itself and other services running on your network.
- Move to Containers: If you don’t have the source code and don’t want to do a lift-and-shift, there is another option: containerization. The needs of the business will usually dictate if a containerized solution is the best option or if you need to rewrite the entire application from scratch to be a cloud-native app. If you want to move a legacy application and its dependencies to the cloud – even one that is currently tied to a physical location – and you want a cloud-agnostic solution, containerization may be the right choice.
- Rewrite from Scratch: If you have a legacy app that you want to convert to a cloud-native application, it may have to be rewritten from scratch to run most effectively in the cloud. If the application is critical to the company’s future growth, you have a well-documented application, and you understand its dependencies, it’s possible to start breaking out parts of the app and rewriting them to run as cloud-native components using a microservices approach.
While I’ve broken this down into just four options, there are actually a number of other ways to move legacy apps to the cloud, each related to one of the four options outlined above. The differences lie in the amount of refactoring that must be done to gain the advantages your organization is looking for from the cloud.
The key takeaway here is that simply placing an app in the cloud doesn’t make it a cloud application. Many businesses mistakenly assume that moving an application to the cloud gives them the ability to leverage unlimited capacity to process user requests, but without retrofitting the application to meet those objectives or rewriting it entirely from scratch, the application will run into the same limitations you encountered when running it in your own data center.
At Coda Global, our business is 100 percent focused on making you successful with your cloud deployments and digital transformation initiatives. We live and breathe the cloud – it’s our bread and butter – so we can confidently help you through what is often a very complex transition. If you’d like to learn more about moving legacy apps to the cloud in general, or if you’d like to talk about your specific needs in more depth, just contact us and we’ll be glad to help.
Want to learn more? At Coda Global, we’re accustomed to solving complex business challenges to help you succeed with your cloud initiatives; after an initial call, the next step in planning your cloud-first transformation is to take our cloud readiness & strategy assessment. Wish you knew more about software-as-a-service? Download our infographic for all the details. And if you’d like to talk about your specific application needs, just reach out and we’ll give you a quick get-to-know-each-other call.
1Future of Work (September 19, 2017) Is It Time to Update Your Legacy Systems?
2Nextgov (October 25, 2016) Some Agencies Spend More than 90% of IT Budgets on Legacy Systems, Report Finds
3McAfee (Report 2016; Infographic 2017) Building Trust in a Cloudy Sky
4Digital Journal (October 6, 2017) Digital Transformation Spending to Soar in 2018
5Forbes (April 23, 2017) 2017 State of Cloud Security