If you have an application that is more than 3 years old, it is likely your software was built to run on hardware or virtual machines hosted on-premises. With an increasing amount of competition providing subscription based cloud solutions, many Independent Software Vendors (ISV’s) are looking to modernize their application delivery model in the cloud.
There are two options to accomplish this goal:
- Invest a large amount of time and resources into completely re-writing your application
- Deliver your native application in the cloud by leveraging Infrastructure-as-a-Service
The goal of this article is to briefly compare both options to understand better which model fits your long-term strategy best.
Option 1 – Re-write Your Application as a Web App
Approach this option in phases – Research, Planning, Design, and Execution. During the research and planning phases, be sure to undertake a risk assessment and cost analysis. Consider re-architecting specific parts of the application to phase out or partially replace specific pieces of the application. To execute, hire additional developers or re-purpose existing developers to re-write application code accordingly. For some applications, this process may take many months, and for some it may take many years to have a fully baked solution ready to deliver as a web service. Once your new web application is complete, there are clear benefits, but also some disadvantages to consider. Here are a few pros and cons of re-developing your existing application as a web-based app.
- Ease of Use - No installation required for users
- Cross platform - Your application will run on any browser regardless the platform
- Accessible anywhere – If developed with all common browsers, users can access from any device
- Cost and Time – Higher cost and time required for development and maintenance of a web-based application
- Security – Browsers typically are easier to exploit vs secure protocols (e.g Microsoft RDP)
- Less Control – Developing in web standards requires more code and offers less control
Option 2 – Migrate the Native Application to the Cloud
Unlike rewriting your application, this approach requires very little effort as it does not require any code changes. Depending on which technology you choose (Microsoft RDS, Citrix, VMware) you can realize the best of both delivery models (Web App and Native App). Here are the Pros and Cons to consider when taking this approach.
- Security – Leveraging a secure protocol for connection mitigates security risks
- Performance – Scale up and down infrastructure on demand globally for better performance
- Speed to Market – Have your app running in the cloud in days, not months or years
- Infrastructure Management – You will need to find hosting partner/platform or dedicate engineering resources to manage cloud infrastructure
- Cost Predictability – Can be difficult to estimate costs in the cloud
- Updates – Updates are pushed out based on monthly/quarterly schedules vs continuous