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!

azureportal_iphone_dashboard

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!


Pin It on Pinterest