There have been a few incarnations of the Microsoft Azure Management Portal over the years. The current state is a fairly easy to use Web Application that is built as a Single Page Application (SPA). But, why is the Azure Portal a Web App instead of a Universal Windows Platform (UWP) app distributed through the Windows Store? Why isn’t it a native app in all the popular App Stores? This post digs into the specifics of why the Azure Portal is a Web App, as well as explains a few of the benefits and trade-offs of being a Web App.
Cross Platform
Just as it’s been since the 1990’s, the best way to create a cross platform application is to build a web application. This is the reason the vast majority of Enterprise Applications are Web Applications, and this is one of the primary reasons the Azure Portal is also a Web Application.
Ever since the early days of Azure, back in 2010 when the Azure Portal was written in Silverlight, it’s been a web application. However the current incarnations of the Azure Portals in use today, the Classic and Current Portals, are now HTML / JavaScript based applications. Even though there’s been a few rewrites over the years (there’s been 4 different incarnations over the years in my recollection) the Azure Portal has remained a Web Application.
The same reasons Enterprises in general write applications as Web Applications are the same reasons Microsoft has built the Azure Portal as a Web Application. The largest reason of them all is that Web Applications are the easiest way to be Cross Platform!
By building a Web Application using standard Web technologies like HTML and JavaScript, it really is an easy win to achieve Cross Platform support.
Sure, Microsoft could write the Azure Portal as native platform applications for all the major platforms. However, there’s a lot of platforms that would need an application written, maintained and updated. This wouldn’t require much more money to do, but a lot more coordination and work overall. After all, there are a lot of OS platforms used by customers of Azure; for example: Windows Desktop, Windows Store, Windows Phone, macOS, iPhone, iPad, Android, as well as various distributions of Linux. That’s a lot of platforms to support!
By building a Web Application using standard Web technologies like HTML and JavaScript, it really is an easy win to achieve Cross Platform support. Additionally, the Azure Portal lends itself nicely to a Web Application since it’s a management portal for the Microsoft Azure Cloud Services which all run in the cloud along with the Azure Portal.
Have you ever tried using the Azure Portal to manage or monitor Azure resources in a pinch from a mobile device? Here’s a screenshot of it from an iPhone!
Automatic Updates
Managing releases and syncing feature updates across platforms can be a pretty expensive endeavor. You don’t just have to build the native apps and features for each of the platforms (Windows Desktop, Windows Store, Windows Phone, Android, iPhone, iPad, macOS, Linux) but you also have to coordinate pushing out the updates to each of the platforms as well as the various app stores. Additionally the support of people running older versions needs to be handled appropriately and gracefully. This can be a huge feat to achieve!
An Auto Update system to handling the automated pushing / pulling of updates makes this tremendously easier to manage, but it still requires a large amount of coordination and effort. However, with the Azure Portal implemented as a Web Application, Microsoft is able to achieve Automatic Update almost completely FREE!
The Web provides a very easy mechanism to support automatic updates with a cross platform application experience.
Azure Portal updates, as with any web application updates, can be pushed out as necessary and all customers using the application automatically get the updates. Users navigate to the Azure Portal and they use the latest version. The Web provides a very easy mechanism to support automatic updates with a cross platform application experience.
One issue that still needs to be solved is, “What if an update is pushed out while a user is currently using the application?” To solve this, the Azure Portal actually notifies the user actively using the application when there’s a new version and will require them to refresh the browser window to “get latest” if it’s required.
As a Web Application, the Azure Portal is able to push out updates and bug fixes pretty instantaneously to users. If native mobile apps were built and distributes through manual install or mobile app store avenues, the Auto Update wouldn’t work nearly as smoothly are quickly.
Ability to Update Frequently
On a related note to Auto Update, the ability to push out updates frequently provides a tremendous amount of power to Microsoft’s ability to rev and innovate the Azure Portal very rapidly. As a Web Application, they can easily push out a bug fix ASAP, as well as add new features every week.
This allows for very rapid innovation for both adding new features, or fixing bugs or design decisions gone wrong to very quickly appease customers.
In fact, Microsoft is pushing out updates to the Azure Portal at least once per week, sometimes even more! This allows for very rapid innovation for both adding new features, or fixing bugs or design decisions gone wrong to very quickly appease customers.
Hopefully the above explanations will help you appreciate the Azure Portal a little more when your in there managing or monitoring your cloud resources. Also, hopefully this post helps you better understand the benefits and tradeoffs of Web Applications compared to Native Platform Applications when you’re maintaining or creating your next Enterprise Application.
If you have additional Pros or Cons of Web Applications vs Native Apps, please post them in the comments, or join the Build Azure Slack Channel to discuss with others. Thanks!
When small companies roll out platforms supporting native apps using tools like Xamarin Forms surely Microsoft can do so.
I think you miss the biggest selling point of UWP in that the Azure Portal can be super fast and seriously nice on UWP as most of the data that i see are all repetitive and you can do background refreshes with UWP in a away more efficient manner than a website.
As Elon Musk like to say , if you have a product you must be much better than your competition. Adding UWP for Azure portal will make the portal much better than AWS IMHO especially if the app is build for speed.
Your points above are all internally focused and I agree with most of them , sure it will be alot more work from Microsoft side but if you want the best portal out there that is super fast and seriously nice and not just a website as all your competition you should seriously reconsider.
As a developer myself using AWS I like the direction Microsoft is going but I think the AWS website is much better than Azure IMHO. It feels faster and more responsive , perhaps I’m biased because I know the website well or perhaps it feels faster because I don’t have a fat internet line.
I simply wanted to point out your reasons all makes sense , but sometimes the best product is the one that is the hardest to maintain 😉
I understand your points, but a UWP app will only run on Windows 10 based platforms. This would mean to completely abandon the Azure Portal being Cross-Platform. This is by far the biggest strength of the portal in the first place. I used to wonder why they didn’t just “go native” in the past until I realized this. Let me put it another way… Would you rather Microsoft spend resources on building and maintaining an awesome set of native apps for the Portal experience, or would you rather they spend resources on building up cloud services and features?
I’m not saying abandon the website , all I’m saying is add a Xamarin Forms solution or Native UWP app.
Having a cloud first , mobile first vision it will make a huge difference to Microsoft’s competitive position in the market providing solutions that is better than the competition. I always prefer a mobile app over a website on especially my phone/tablet.
To your question : “Would you rather Microsoft spend resources on building and maintaining an awesome set of native apps for the Portal experience, or would you rather they spend resources on building up cloud services and features? In my case the answer would be Yes I prefer the native apps, everything I need is already there , my needs are simple.
I understand what you mean, but I’ll have to disagree with the need for a web portal AND native app. Although, some native app features on top of what’s in the portal would be really awesome.
Yes , perhaps the answer is some native apps with functionality that is used most often. Will be a start.
The thing is this , every developer can follow Microsoft’s reasons for only building websites in which case nobody will embrace UWP. Microsoft in this instance has to set an example, you can’t preach to develop for UWP and then you don’t do it yourself.
To me the vision in the cloud space for Microsoft is simply this , don’t build a similiar infrastructure to your competition build the “best” front end tools to access the cloud and your clients will follow.
Great discussion. When we talk about cross platform for Azure Portal, we really talk about cross desktop platforms, it need not be native desktop application, but web (HTML/JavaScript/TypeScript) based applications, for example, Visual Studio Code, I would rather run the desktop Azure Portal App everyday than go to web browser every time.