Application Hosting Options on Azure
If you’re trying to host an application on Azure, your first guess might be utilizing a virtual machine (VMs) or container, which provides excellent hosting options. VMs, might be the best option if you’re new to the cloud. It will give you maximum control of the hosting environment and also allow you configure it the way you want. Containers on the other hand have the ability to isolate and manage different aspects of the hosting environment individually, which is an enticing option.
However, Azure offers a wonderful feature that provides a comprehensive solution to hosting applications, the Azure App Service.
Azure Service App
Azure Service App enables you to build web apps, mobile back-end, Restful APIs in your preferred programming language and background jobs, without managing infrastructure. It automatically deploys from GitHub, Azure Devops or any Git repo. Also, with App Service, you focus on building and maintaining your app, while Azure focuses on keeping the Environment running.
Azure App Services are of different types which are:
- Web Apps: with full support for hosting web apps by using ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP, or Python. Windows or Linux are options for the host operating system.
- API Apps: Like hosting a website, you can build REST-based web APIs by using your choice of language and framework. You get full Swagger support and can package and publish your API in Azure Marketplace. The apps produced can be taken from any HTTP- or HTTPS-based client.
- WebJobs: Webjobs are programs or scripts that run in the same instance as a web app, API app or mobile app. and are used to perform background tasks that do not require a user interface. This feature allows you to run a program (.exe, Java, PHP, Python, or Node.js) or script (.cmd, .bat, PowerShell, or Bash) in the same context as a web app, API app, or mobile app. They can be scheduled or run by a trigger.
- Mobile Apps:Using this feature builds a backend for iOS or Android apps. You can store mobile app data in a cloud- based SQL database, authenticate customer against common social platforms ,send push notifications and execute logic in C# or Node.js. It also contains an SDK that supports native iOS, Android and React Native apps.
Are there Drawbacks?
Azure App Services can be a bit pricey to maintain as it has a fixed domain name. It also takes a long time for deployment to compute. It also has limited information storage capabilities and may suffer from disk errors or insufficient space on disk.
Below are some images on creating a web app using Azure