What is our primary use case?
Azure Cloud App Services can be classified as a MEAP, Mobile Enterprise Application Platform. It is also a Platform As A Service solution. These Cloud PaaS services are the backbone and the back-end structure that you can use to build omnichannel applications (mobile + web SPA + Kiosk). Azure App Service eases the creation of flexible Express Node.js or .NET WCF microservices. It has an API based on OData and integrated security with OpenID Connect with federated or corporate login. If you need a quick mobile solution, particularly an enterprise mobile solution, this is a wonderful choice.
We use this solution as a template to build mobile, back-end-of-corporate-omnichannel apps.
How has it helped my organization?
When mobile is a necessity for an already-running corporate system, you do not want to lose time setting up a whole new environment and platform. You need something that can help you easily put in place all the scaffolding you need, and concentrate on the business solution that you are providing. Azure does this.
What is most valuable?
The time-to-market. Once you master the technology, you can create running, mobile back-ends in a few weeks. Additionally, it easily enables integration with legacy environments (like connecting to existing servers).
What needs improvement?
Scalability is definitely in need of improvement. Azure is a very good solution but it still lacks the performance of other cloud platforms.
For how long have I used the solution?
One to three years.
What do I think about the stability of the solution?
We had issues with the Mobile Service ORM and the Azure SQL Database (cloud version of SQL Server). At times, the queries that are created automatically from the ORM mapping are not very well optimized for this database and that can lead to performance and stability issues. On occasion, the connection manager from the ORM does not handle the database connections very well.
What do I think about the scalability of the solution?
Azure does not handle scalability as well as its competitors. Sometimes a 10 percent increase in a server with 20 percent of CPU usage pushes the server up to 100 percent load, and you start having performance issues.
How are customer service and technical support?
Microsoft allows you a certain number of tickets, depending on the cloud plan that you are paying for. If you have an available ticket, technical support is great, but if you happen to have none, it will be more difficult to find good support.
Once you gain a certain level of expertise on the platform, you will be able to handle most of the problems. Also, now that the platform is very open (Node.js + Express) it is easier to access good documentation and an excellent community.
Which solution did I use previously and why did I switch?
We tried many solutions. We tried Kinvey and Kony but prices were absolutely prohibitive for our customers. We also tried BAASBOX which is now a (mostly) defunct open-source MBaaS solution.
We move forward with a .NET customized solution that we created ourselves but maintenance of a general platform requires a lot of work and we couldn’t afford to charge our customers for the required amount of work.
We tried AWS Mobile Services once but our customers preferred Microsoft Azure (their existing back-end was mainly implemented in .NET, and they preferred to stay in the Microsoft world).
We also built a solution with SAP Mobile gateway which is the safest choice for companies that have huge legacy systems already running on SAP.
How was the initial setup?
The initial setup is very straightforward. You can very easily have an application up-and-running almost out-of-the-box. The learning curve is steeper once you need to start building more services or when you need to take care of performance issues.
What's my experience with pricing, setup cost, and licensing?
The cost-benefit equation for Azure is very good, particularly for small applications. However, Microsoft should do much, much more to improve how costs are communicated and how to forecast them. The Azure Pricing Calculator is not useful.
Which other solutions did I evaluate?
We checked the big players in MBaaS, particularly Kony and Kinvey. Kony was extraordinary (circa 2013) but the price was prohibitive. Kinvey was also very good and prices were slightly better but not affordable at all for our customers. We started using WAMS, Windows Azure Mobile Services, the previous version of Azure App Service, which was one of the first MBaaS solutions. Microsoft improved a lot the platform with App Service.
What other advice do I have?
I would rate Azure at nine out of 10. The previous version of Microsoft's mobile cloud platform, Mobile Service, had some security and scalability problems but the new version, App Service, has many improvements in these areas. It also uses open-source tools and allows developers to work in isolated environments, in their own workstations (without all the hassles and costs of putting the cloud into the developer’s cycle).
If the mobile application is not that big (up to 15 services) and time-to-market is very important, Azure App Service is a great solution. If you need heavy integration with an existing .NET legacy system, this solution will also work very nicely and will reduce costs. If you need to implement a much bigger system, my advice is that you should think about gathering a specialized team that has a very good grasp of the platform.
Disclosure: My company has a business relationship with this vendor other than being a customer: Gold Certified Microsoft Partner.
Azure is a great choice for a medium-large application that requires faster deployment, it is very scalable, but the minor thing about Azure is that they are costly, so you must estimate your cost using its pricing calculator first before deciding to go with them. Honestly, if you don't have large traffic, an ASPHostPortal shared hosting plan is a great choice since they are affordable and reliable.