Advice - Developing a business application for Azure to replace an old style desktop program

Richard Dunning 6 Reputation points

The main program that currently runs our business (Purchasing, Sales, Warehouse, Stock Control, Works Orders) is a windows forms desktop program linking to an MS SQL Database on-premise. The current program is written inhouse and has developed over the last 20 years as the needs of our business have grown and changed. We have full control over the code and database. We are looking at the best way to future proof our business by moving away from the environment and are looking at how we could possibly replace our current desktop program with a new Web Enabled App within an environment like Azure. We don't think that taking the current applications and trying to 'Migrate it' would be the best answer so we are looking to start again from the ground up. We are TOTALLY new to Azure and are looking for advice on what is available, which direction to go and what options to look at. The current program is used by 15 users onsite (although most users are obviously currently logging on from home), but we would like a more future proof solution that takes advantage of cloud and possibly having users permanently remote and possibly multi offices accessing the application. My initial limited knowledge thoughts were to develop in .Net Core using C# to create a Web Compatible! App that could be run both on-premise or online (not sure if that is even possible) but I also notice that Visual Studio Code tools is available on Azure. Also Azure seems to have various environments and terminology that we are not to familiar with (would you use Virtual Machines, create a true Web App, use Azure Functions, what language would you code in, would you run SQL on-premise, off-premise, hybrid [what ever that is]). Sorry - so many questions. If you were in our position how would you implement a solutions, what environment would you use, what would you use to code it and using what language, what environment would you have the database. I am aware that their are probably many answers to this questions based on many different factors, but any suggestions, pointers and guidance that could help us understand which areas to look at further would be REALLY appreciated.

Windows Forms
Windows Forms
A set of .NET Framework managed libraries for developing graphical user interfaces.
1,864 questions
Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
7,175 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. brtrach-MSFT 15,531 Reputation points Microsoft Employee

    @Richard Dunning Thank you for your interest in Azure.

    I personally deal with Azure Web Apps, which will make my response a little bias but I can hopefully help address your questions and provide you further documentation.

    In regards to hosting your app, I would suggest using Azure Web Apps. This platform is great because it reduces the overhead management of applying patches and general maintenance. Here is a an overview of Azure Web Apps and here is a quick start for setting up a C# ASP.NET Core app on an Azure Web App. Web Apps are great because they also include much of what you need to get started, such as authentication support.

    In regards to the DB, there are few routes you can go. If you wish to keep your current DB and run it on-prem, you can use an Azure Web App feature called hybrid connection, which allows you to install an agent on your DB machine and the agent allows the DB and web app to communicate securely, reducing the work required for a migration to Azure and allowing you to maintain on-prem control of your DB.

    If you're looking to move away from on-prem server management and fully leverage the cloud, we do have a Azure MySQL DB offering and documentation on how to connect to your web app.

    If you were to ask your question over in Azure-VM, they might share a different approach but I believe that your scenario would be a great fit for a PaaS type solution that is outlined above because it reduces the amount of management and input required from you to make it work.

    Once you have reviewed the documentation, please let me know if you have any further questions. I also believe I can provide you with a link to contact our sales team if you're wanting more of a 1:1 interaction.