Microsoft Azure App Service

Sardar Mudassar Ali Khan
5 min readJan 30, 2023

An HTTP-based service called Azure App Service is used to serve mobile backends, REST APIs, and web apps. It doesn’t matter what language you prefer to program in — .NET, .NET Core, Java, Ruby, Node.js, PHP, or Python — you may use it. Both Windows and Linux-based platforms provide smooth scaling and operation of applications.

App Service enhances your application’s functionality by bringing Microsoft Azure’s security, load balancing, autoscaling, and automated administration features. Its DevOps features, such as continuous deployment via Azure DevOps, GitHub, Docker Hub, and other sources, package management, staging environments, custom domains, and TLS/SSL certificates, are also available for use.

You pay for the Azure compute resources you utilize with the App Service. The app service plan that you select to operate your apps determines the computing resources you need. View the Azure App Service plans overview for additional details.

Why use App Service?

Platform as a Service (PaaS) for developers, Azure App Service is fully managed. Here are a few essential aspects of the app service:

1. Multiple frameworks and languages are supported by App Service, including ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP, or Python. PowerShell and other scripts or executables can also be launched in the background as services.

2. Managed production environment: App Service will take care of OS and language framework updates and maintenance for you. Spend your time creating excellent apps and let Azure handle platform maintenance.

3. Dockerize your app and host a customized Windows or Linux container in App Service using containerization and Docker. Use Docker Compose to run multi-container applications. Directly transfer your Docker expertise to App Service.

4. DevOps optimization: configure CI/CD with Azure DevOps, GitHub, BitBucket, Docker Hub, or Azure Container Registry. Through test and staging environments, promote updates. Utilize Azure PowerShell or the cross-platform command-line interface to manage your apps in App Service (CLI).

5. Global scalability with high availability—MManually or automatically scale up or down. Your apps can be hosted anywhere in Microsoft’s extensive network of data centers, and the App Service SLA guarantees high availability.

6. SaaS platform connections and on-premises data connections Select from over 50 connectors for business systems (like SAP), SaaS offerings (like Salesforce), and online services (such as Facebook). Utilize Azure Virtual Networks and Hybrid Connections to access on-premises data.

7. Security and compliance — The app Service is ISO, SOC, and PCI compliant. Authenticate users with Azure Active Directory, Google, Facebook, Twitter, or Microsoft accounts. Create IP address restrictions and manage service identities. Prevent subdomain takeovers.

8. Application templates — The Azure Marketplace offers a wide selection of application templates, including those for WordPress, Joomla, and Drupal.

9. Integration of Visual Studio and Visual Studio Code — Specific tools in Visual Studio and Visual Studio Code simplify the process of developing, deploying, and troubleshooting.

10. API and mobile features — App Service provides turn-key CORS support for RESTful API scenarios, and simplifies mobile app scenarios by enabling authentication, offline data sync, push notifications, and more.

11. Serverless programming allows you to run a script or piece of code whenever you need it without explicitly provisioning or managing infrastructure, and you only pay for the compute time that your code consumes (see Azure Functions).

Azure provides more services in addition to App Service that can be used to host websites and web apps. App Service is the best option in most circumstances. Azure Spring Apps or Service Fabric are two options for microservice architecture. Consider Azure Virtual Machines if you require additional control over the VMs that your code is running on. See the comparison of the Azure App Service, Virtual Machines, Service Fabric, and Cloud Services for more details on how to decide between these Azure services.

App Service on Linux

For supported application stacks, App Service can also host web applications directly on Linux. Custom Linux containers can also be run on it (also known as Web App for Containers).

Built-in languages and frameworks

Several built-in images for different languages are supported by Linux’s App Service. Simply run your code. Node.js, Java (8, 11, and 17), Tomcat, PHP, Python, .NET Core, Ruby, and other languages are supported. Run list-runtimes as a web app — so Linux to view the most recent supported languages and versions. You can deploy your application with a custom container if the runtime it needs is not supported in the default images.

The Web Apps Create and Configuration blades in the Portal are updated on a regular basis to remove outdated runtimes. When these runtimes are deprecated by the maintenance organization or discovered to have serious vulnerabilities, the Portal hides them from users. To direct clients to the most recent runtimes where they will be most successful, some options are concealed.

Any of your current sites employing that runtime will continue to function even after it is hidden from the Portal. An email notification will be sent to the owner(s) of your Azure subscription in advance of the removal if runtime is completely withdrawn from the App Service platform.

The language configuration guides include advice on how to obtain the runtime version of your website if you need to construct another web application with an out-of-date runtime version that is no longer displayed on the Portal. Another site with the same runtime can be made using the Azure CLI. As an alternative, you can export an ARM template of the website by using the Export Template button on the web app blade in the Portal. This template can be used again to launch a new site with the same setup and runtime.

Limitations

The Shared pricing tier does not support App Service on Linux.

The Azure portal only displays functions that are compatible with Linux apps right now. Features are activated on the gateway as they are enabled.

Your code and content are given a storage volume for web content when pushed to built-in images, which is supported by Azure Storage. Compared to the latency of the container filesystem, the disc latency of this volume is larger and more changeable. The custom container option, which stores files in the container filesystem rather than on the content volume, may be advantageous for apps that frequently need read-only access to content files.

Conclusion

App Service enhances your application’s functionality by bringing Microsoft Azure’s security, load balancing, autoscaling, and automated administration features. Its DevOps features, such as continuous deployment via Azure DevOps, GitHub, Docker Hub, and other sources, package management, staging environments, custom domains, and TLS/SSL certificates, are also available for use.

--

--

Sardar Mudassar Ali Khan

8x-Microsoft Certified Senior Software Engineer | MCT|MCT |Microsoft Certified Cloud Solution Architect | Microsoft Certified Cloud Developer | Technical Author