According to George Young, Microsoft's big bet on cloud computing has led to 850% growth in market valuation (i.e., stock price) over the past eight years under CEO Satya Nadella.
Microsoft has grown to be the second largest company in the world with three primary revenue drivers over its history (plus one that they're betting big on for their future):
- 80's - 90's: Operating Systems (DOS, Windows)
- 90's - 00's: Office Suite (Word, Excel, Outlook, Access)
- 10's - 20's: Cloud Computing (Azure, Power Platform)
- 2023 and beyond: AI Copilots (GitHub/MS 365/Windows Copilots)
If you're an observant Access developer, you'll notice that Access has not been a primary revenue driver component for Microsoft in nearly twenty years. To make matters worse, Access seems to have been left out of the Cloud Computing and AI Copilot parties, too. (Though this does provide a partial explanation for all the time spent integrating Dataverse into Access.)
Given this reality, George Young posed an obvious question during his DevCon Vienna 2023 presentation,
"How can Access remain relevant?"
After all, Access is a Windows-only client application. It has no "native" mobile or cloud story. So, George wonders, "Are we hosed?"
Access Applications in the Cloud
To answer that question, George offers a relatively straightforward way to move Access applications to the cloud: host it in an Azure VM.
George Young, president of Dawson Butte Software and the Denver Area Access User Group, presented this topic during Day 2 of Access DevCon Vienna 2023. He covered the following topics:
Let's briefly recap each section of George's presentation.
The key benefits of hosting Access applications in an Azure VM are:
- Cross-platform: RDP clients allow accessing the VM from an iPad, iPhone, Linux, or Android device
- Available anywhere: hybrid workers can securely access the application from their home or office computer
- Simplified deployment: with multiple users logging into a single server, third-party tools and applications only need to be installed in one place
- Increased performance: connections to Azure SQL database or cloud-hosted backend Access data files are blazing fast
- Scalability: start with a low-end hardware configuration and instantly add capacity only if needed
Here is a brief recap of the minimum costs required to get started with an Azure VM. These are bare-bones specs. For a production environment, you may need additional capacity depending on your situation.
- Virtual machine (Windows Server 2019; 2 CPUs; 4 GB RAM): $42/month
- Windows Server CALs (Client Access Licenses): $40/user; one-time fee
- *RDS CALs? (Remote Desktop Services CALs): $220/user; one-time fee
- Azure SQL Database (SQL Server in the cloud): $5/month
*In the meeting chat, Jim Dettman noted that RDS CALs are required in addition to Windows Server CALs to maintain licensing compliance with Microsoft. Neither Jim nor George provided pricing, but this page is where I got the $220 number. Here's Jim's note from chat:
You get two admin sessions with the server OS. But once you go past that, you need to have the RDS role, which is a server cal and RDS Cal
RDS CAL Follow-up [2023-06-26]: George Young wrote to me with a note about the RDS CAL situation:
"We've run Access in Azure VMs for a number of years, needing only the one-time Windows Server CAL, never an RDP CAL also."
So what does all this mean? As is typical with much of the Microsoft licensing regime, you need an advanced degree to make sense of any of it. I did my own research when I wrote the article. An hour on the Microsoft website left me more confused than when I started. Ultimately, licensing questions are highly dependent on your own unique circumstances. Use the information in this article as a guide, but be sure to do your own research. Caveat lector.
Some additional notes:
- Two concurrent users are included with Windows Server
- For three or more concurrent users, each user requires a CAL (one-time fee)
- Azure SQL Database is not needed if backend data is stored in Access files
- Machine not billed while turned off (on/off cycle can be automated)
- Some MS 365 subscriptions include VM licensing at no additional cost
- The Access Runtime is also supported
George performed a full deployment during the course of his presentation, so the entire process took well under an hour. Here are the basic steps:
- Create an Azure Virtual Machine
- Log in to (or setup) an Azure account at portal.azure.com
- Select Virtual Machines > Create (Windows Server 2022)
- Download and run an .rdp (Remote Desktop) file via Connect link
- Add local users to the VM as members of the Remote Desktop security group
- Set up Microsoft Access in the VM (four options)
- Download and install from www.office.com
- Install using Office Deployment Tool
- Install using image (perpetual version)
- Deploy your Access app to the cloud
- Copy and paste the application front-end to the VM
- Put back-end in a shared folder on the VM
- Put front-end on each user's folder on the VM (e.g., ProgramData, Desktop)
- Distribute the .rdp file to each user to connect from local devices
In the meeting chat, Jim Dettman offered some tips about sizing your virtual machines and how many users a single server VM can handle:
General rule of thumb on sizing is 2GB per user. Usually don't need to go to a "farm" (multiple RDS servers) until you hit about 30 [users]
Migrating from SQL Server to Azure SQL
Right-click the database in SSMS and choose "Promote to Azure."
Access Remote Apps with Luke Chung
The DAAUG YouTube channel has a Luke Chung presentation that shows how to make a single application RDP session:
George Young's Prior Presentation on Access in an Azure VM
About six months before his DevCon Vienna presentation, George gave a similar talk to the Denver Area Access User Group:
UPDATE [2023-06-22]: Clarified that Microsoft's 850% growth was in market valuation/stock price. (h/t George Young)