Recently i’ve received a few questions regarding single-tenant application cloudification. People are asking how they can migrate their existing desktop applications to cloud. Let’s leave the business case aside and talk about different strategies for migration:
- Heavy migration: in this option, your desktop application is legacy and needs to be rewritten to benefit from cloud concepts such as on demand, elasticity, anywhere access, etc. Probably your single-tenant use case will not justify this type of migration.
- Lucky migration: you’re lucky, you have the code base for your desktop application and it’s well suited (written with Java, node.js, etc.) to be migrated to cloud. Probably you’ll just reuse the code base for backend, expose the capabilities via REST APIs, and develop a front-end. Nowadays, MEAN stack is very popular, i recommend you take a look at Node, Express and Angular. This is not writing from scratch, but will still be expensive even if you use freelancers.
- Easy migration: just create an micro EC2 Windows instance and deploy your desktop application on top of it. And access to the instance with Remote Desktop application. You’ll only pay around 5 USD if you keep your server open all the time. You can even reduce this by using reserved instances or automating the idle-shutdown of the instance.
- Optimal migration: Use AWS’s new AppStream service to run the desktop applications on the cloud and make them available through streaming via any devices (MAC, Windows, IOS, Android). This service uses the same technology as game streaming and it’s available for mass market use now. Here’s the service description.