By now, most partners are familiar with the traditional methods of hosting an application back-end, such as on-premises servers, co-location, managed hosting, virtual servers, shared hosting, etc. The options in the Azure Web & Mobile category are something new. Because almost everything traditional has been called “cloud hosting” at some point, the meaning of “cloud” has been reduced to “someone else’s computer.” But Azure Web & Mobile are what I think of when I hear “cloud computing.” It’s a place to effortlessly upload code and have it “just work.”
Here’s what you need to know about Azure’s Web and Mobile services and an overview of how they can help you grow your business.
App Services can be broken down into five key service types, all of which are easy to use, scalable, and reliable. They are each intended to host a specific workload and differ in customization and templated access to commonly needed supporting services.
The five service types are:
- Web Apps – For hosting websites and web applications.
- API Apps – For hosting RESTful APIs.
- Mobile Apps – For hosting mobile app back ends.
- Logic Apps – For automating business processes and integrating systems and data across clouds without writing code.
- Function Apps – The new 5th type of App Service, still in Beta.
1. Web Apps
Web Apps is a hosting service for websites and applications written using any server-side approach, from .Net to Python, running Windows or Linux, deployable from any source. It has all the setup convenience of a shared host, all the reliability of dedicated infrastructure, and scalability which only comes with cloud hosting.
We use it for almost everything we do now at Digital Mettle.
The legacy systems we maintain which are hosted on dedicated hardware are slow but with Azure Web Apps, creating a new parallel test environment is as simple as changing the value of a single field in a deployment script and waiting two minutes. This kind of flexibility is great for live A/B comparisons of one version of a feature against another.
Azure Web App production costs start at insignificant and only scale up to noticeable after an application is successful enough to need more horsepower. This is a cost runway which will save the lives of many startups in the future.
2. API Apps
The API Apps service is optimized with supporting services commonly needed for public APIs such as Documentation, SDKs, Cross-Domain support, and various authentication options.
API Apps are unique since they are most frequently consumed by other developers. They contain code-free, best-practice solutions to common API challenges and include a user interface and command-line access to configure them. To achieve the same results hosting a public API in a Web App, custom code and interfaces are needed to achieve the same results.
3. Mobile Apps
The Mobile Apps service is a variation on the API App, packaged with services that make creating the back-end of a mobile application easier, including cross-platform push notifications and data sync to support occasionally-offline usage scenarios.
Designed largely for enterprise line-of-business mobile applications, Mobile Apps start with the built-in security services of API Apps and solve the other two common problems of all mobile apps. First, how to reach the users when the app is not active (Push Notification). Second, how to allow the user to continue working while offline (Data Sync). These problems greatly distract from developer productivity implementing custom business automation code. Given the frequency of the change of best practices in the mobile space, having these solutions abstracted away from application code is a great benefit for long-term ROI.
To learn more, check out the Azure App Service Mobile Apps video with Kirill Gavrylyuk and read through the App Service Mobile Apps documentation here.
4. Logic Apps
Logic Apps is similar to Microsoft Flow, but with a different set of use-cases. Logic Apps is like an Enterprise version of the popular If This Then That service. They provide a user interface to configure connections between unrelated systems, like allowing data from a mobile app to flow smoothly to both SalesForce and WordPress without having to include custom code for either in the app.
The idea that Enterprises will have homogeneous environments with all services provided by a single vendor was never realistic. As a result, custom line-of-business applications became spaghetti messes containing SDKs and APIs from a wide range of sources. The idea behind Logic Apps is to prefer configuration over code. This approach allows greater flexibility to migrate to best-of-breed services as they evolve. If the organization decides to migrate from, for example, Dropbox to OneDrive for Business, instead of all applications that use cloud storage having to be reviewed and updated, one “Connector” just needs to be swapped out for another in the Logic App UI and the migration is done.
Check out the Logic App List of Connectors and the Azure App Service Logic Apps video with Josh Twist.
5. Function Apps
This is the newest addition to the App Services family, and the one I am most excited about. Called “serverless computing,” this is the closest possible developer experience to my ideal of “upload code and it just runs.”
Function Apps cost literally nothing outside of time they are actually executing. This makes them perfect for occasionally-used processes that may need a lot of power, but that power would be cost prohibitive to “reserve” ahead of time and overly-complex to manage enabling it on-demand. For developers building applications with clear times-of-use (like “business hours”), Function Apps make a lot of sense so you are not paying for server time when your application is not active.
Azure’s extensive support for Web and Mobile apps goes far beyond the basics of “Platform as a Service” and “Infrastructure as a Service.” The Web and Mobile app families package “best practice as a service” across a wide spectrum of benefit: security, cost of development, cost of ownership, ongoing engagement, and 3rd party integration. Hopefully they can help you boost developer productivity and focus on the app itself.
How do you use Microsoft Azure to provide value to your customers? Share your thoughts in the comments below.