If your custom software is web-based and uses Microsoft technologies like ASP, .NET Web Forms, or MVC, it is a good candidate for cloud-enabling and running in Azure without servers.

Managing servers, whether physical or virtual, is costly and prone to issues leading to application downtime. Servers require backup infrastructure, SAN storage, load-balancing, anti-virus, Windows updates, and regular maintenance. Sometimes, a single Windows update leads to catastrophic failure, requiring disaster recovery procedures and outages for end-users. You might have managed to keep your application running relatively smoothly for years only to find out the server operating system is out of support in the coming months. To top it off, the IT administrators who maintain the servers often don't understand the applications themselves and how they are impacted by maintenance. Deploying your custom applications to Azure serverless infrastructure eliminates all these problems.

Why choose Azure?

In Azure, web applications run in App Services, and databases run on Azure SQL. Sure, you can choose whether the app service is running on Windows or Linux under the hood, but the operating system is abstracted away. Without access to the operating system, you don’t have to worry about Windows updates, security vulnerabilities, file permissions, OS version, etc. Additionally, with the click of a button, you can scale up your app service plan with more memory and CPU as your needs change. You can even configure auto-scaling so that if your application suddenly receives more traffic, it will automatically scale it out to multiple servers and meet the new demand without even a hiccup. Similar concepts exist with Azure SQL as well. All this goes to show why cloud-enabling your applications to move from on-premise servers to the serverless infrastructure in Azure has huge benefits.

Cloud-Enabling Your Applications

So, how hard is it to cloud-enable your applications? The answer is: it depends. It depends greatly on the complexity of your application and how it utilizes additional on-premise resources. There are many things you must check to determine what changes your custom application requires to be cloud-enabled including port bindings, use of COM components, use of assemblies in the GAC, use of on-premises resources, etc. Microsoft has published a pretty comprehensive list on their Azure blog. Your software development team should be able to use this as a checklist and provide cost estimates for what it would take to handle each potential blocker to cloud-enablement.

If your team doesn't have the time or Azure expertise to evaluate your existing custom applications, contact Emergent Software today to start an evaluation project!