Moving on-prem apps to Microsoft Azure: The promise and the pitfalls

May 3 2021

Companies and organizations of all sizes are beginning to move apps from on-premises servers into the cloud. What apps should customers prioritize moving to the cloud? And what are the advantages of hosting these apps in Azure? Let's take a look at the migration process and find out what makes sense to shift to the cloud.

Deciding what makes sense

Web-based apps and database-backed apps are the top migration candidates. You will want to move web-based apps first because Azure Web App Services makes it very easy to set up and connect these apps to the back-end and provision computing capacity.

Size and complexity of your databases

Based on your circumstances, you might want to select your first project based on database size to limit the time required to upload data to Azure. You will need to do a lot of post-migration work to make sure everything is working. If you have SQL, it is pretty easy to upload tables. If you have Mongo, Postgres or some other open-source program, you will find it is still pretty straightforward but might involve a little bit more work post-migration.

Your team's expertise

Picking what to move first also depends a lot on the type of expertise you have in-house. Many organizations do migration projects in-house but turn to Microsoft for support. Thinking of some of my recent projects, app complexity matters. One project involved a client with a mobile app connecting to contracted WiFi services in every airport to get seat pricing. In that project, we had a problem with latency because the central server was in Texas, but people on the East Coast were constantly refreshing the app.

Microsoft support level

Determining what to do in-house also depends on the support contract you have with Microsoft. If have Premiere support, you will receive assistance within four hours. Microsoft is pretty responsive and if a problem is critical enough you can get someone on the phone in 10 or 15 minutes.

Your management tools

The tooling you have available also plays in. Assess what tools you have available. Common examples include: Robocopy, SCP, Azure File Manager, SQL Data Studio, Git, and Azure ADO. Consider how you will open up the correct ports for databases, check links between databases and endpoints, and run queries from admin tools like SQL Studio. There may be query changes if you have stored queries. And going into a migration you will have to consider your backup strategy because it may totally change if you move to PaaS.

Planning and assessment

The planning and assessment phase is probably the longest part of the migration process. You need to gather the configurations of the servers, performance data, and user accounts. Consider some of the following: How big is the related database? What about governance? What is the budgeting and billing outlook?

Typically, you will make a copy of what's running on-prem, and move it to the cloud as a pilot. Then you will make sure everything is working as it is and look for areas of optimization. Maybe it will run on a smaller CPU or less RAM. Take those findings and build out a non-production environment, and once it's running perfectly, export that into a deployment script like Terraform and have an exact copy to make the production version.

You will also need to think about documentation, which is mostly focused on governance: who does what, when, and where, and who calls who for support. On the technical side, you will need to get configurations of apps, databases, and the server. One time, I ran into an issue where the CPU count mattered a lot. At first, I gave the app more CPU and the performance was seriously degraded.  It turned out each thread of the app was mapped to a specific CPU. Things like that crop up that you just don't plan for. The more time you spend getting configurations and documentation nailed down, the less time you will spend in the migration.

Avoiding technical challenges and cost issues in the implementation

As with any project, you need to choose an executive stakeholder. Select a network admin, a security person, an app developer, and a database person. And of course, don't forget a governance person in charge of paying the bills.

You can supplement this team under the executive stakeholder with representation from HR and a communications person, particularly if apps are at risk of going down and disrupting company operations. Depending on the company, if you have federal contracts or if you are in healthcare, you will also need a compliance officer to keep track of regulations, and perhaps also a CFO to sign off on the expenses.

Cloud usually costs more. There's a myth going around that moving to the cloud is less expensive. But often it turns out to be a little more expensive. Why?

Cost increases result from how services are priced. Lots of VMs cost more compared with PaaS. Network traffic going out costs money, storage costs money. The more services you have, the more it is going to cost. Azure Firewall and Sentinel are usually the most expensive platforms from Microsoft, together with Load Balancer due to the amount of traffic that it handles.

For most organizations, it will be more cost effective to use a hybrid model, particularly if you have assets that haven't fully depreciated. Depending where your on-prem assets are located, and factors like electricity costs and how new your servers and assets are, it may make sense to keep them in-service longer. There are several ways to do that, but for the most part it boils down to connecting those servers to Azure cloud services.

Migrating on-prem apps into a fully cloud-based or hybrid model can benefit your organization, but considerations around planning, assessment, documentation, and management are key.


Photo by Ian on Unsplash

FREE Membership Required to View Full Content:

Become a MemberLogin
Joining gives you free, unlimited access to news, analysis, white papers, case studies, product brochures, and more, and it’s all FREE. You’ll also have the option to receive periodic email newsletters with the latest relevant articles and content updates. Learn more about us here
About Jeff Christman

Jeff Christman is a Navy Veteran with over 20 years of experience in the IT field. Specializing in cloud migrations, he has worked for companies such as Raytheon, AT&T, and NASA. Currently, he is a Sr. Cloud Security Consultant at a large consulting firm. In addition to his daytime job, he also has published content and courses for,, and 

In his off time, he loves fantasy football, everything tech, and embarrassing his teenage daughters.

More about Jeff Christman