Application Service: Web Apps

  • Author: Ronald Fung

  • Creation Date: May 9, 2023

  • Next Modified Date: May 9, 2024


A. Introduction

An App Service Environment is an Azure App Service feature that provides a fully isolated and dedicated environment for running App Service apps securely at high scale.

An App Service Environment can host your:

  • Windows web apps

  • Linux web apps

  • Docker containers (Windows and Linux)

  • Functions

  • Logic apps (Standard)

App Service Environments are appropriate for application workloads that require:

  • High scale.

  • Isolation and secure network access.

  • High memory utilization.

  • High requests per second (RPS). You can create multiple App Service Environments in a single Azure region or across multiple Azure regions. This flexibility makes an App Service Environment ideal for horizontally scaling stateless applications with a high RPS requirement.

An App Service Environment can host applications from only one customer, and they do so on one of their virtual networks. Customers have fine-grained control over inbound and outbound application network traffic. Applications can establish high-speed secure connections over VPNs to on-premises corporate resources.


B. How is it used at Seagen

As a biopharma research company using Microsoft Azure, you can use Azure App Service Web Apps to build and deploy web applications. Here are some ways you can use Azure App Service Web Apps:

  1. Build web applications quickly: Azure App Service Web Apps provides a quick and easy way to build and deploy web applications. You can use popular web frameworks such as .NET, Java, Node.js, and Python to build your applications.

  2. Secure your web applications: Azure App Service Web Apps provides built-in security features such as authentication and authorization, HTTPS support, and IP whitelisting. This helps to ensure that your web applications are secure and protected from unauthorized access.

  3. Scale your web applications: Azure App Service Web Apps provides automatic scaling capabilities that allow you to scale your web applications up or down based on demand. This helps to ensure that resources are used efficiently and costs are kept under control.

  4. Integrate with other Azure services: Azure App Service Web Apps can be integrated with other Azure services such as Azure Functions, Azure Logic Apps, and Azure Event Grid. This allows you to easily integrate your web applications with other Azure services and applications.

  5. Continuous deployment: Azure App Service Web Apps provides built-in continuous deployment features that allow you to automatically deploy changes to your web applications when you push changes to your source code repository.

  6. Use multiple deployment options: Azure App Service Web Apps supports multiple deployment options such as FTP, Git, and Visual Studio. This allows you to choose the deployment option that best fits your workflow.

Overall, Azure App Service Web Apps can help your biopharma research company quickly and easily build and deploy web applications. With built-in security features, automatic scaling capabilities, and the ability to integrate with other Azure services, Azure App Service Web Apps can help you streamline your application development and improve your overall agility and efficiency.


C. Features

App Service Environments have many use cases, including:

  • Internal line-of-business applications.

  • Applications that need more than 30 App Service plan instances.

  • Single-tenant systems to satisfy internal compliance or security requirements.

  • Network-isolated application hosting.

  • Multi-tier applications.

There are many networking features that enable apps in a multi-tenant App Service to reach network-isolated resources or become network-isolated themselves. These features are enabled at the application level. With an App Service Environment, no added configuration is required for the apps to be on a virtual network. The apps are deployed into a network-isolated environment that’s already on a virtual network. If you really need a complete isolation story, you can also deploy your App Service Environment onto dedicated hardware.


D. Where implemented

LeanIX


E. How it is tested

Testing Azure Application Service: Web Apps involves ensuring that the web app is functioning correctly, securely, and meeting the needs of all stakeholders involved in the project. Here are some steps to follow to test Azure Application Service: Web Apps:

  1. Define the scope and requirements: Define the scope of the project and the requirements of all stakeholders involved in the project. This will help ensure that the web app is designed to meet the needs of all stakeholders.

  2. Create test plans: Develop test plans that cover all aspects of the web app functionality, including input validation, authentication and authorization, error handling, and performance testing. The test plans should be designed to meet the needs of the organization, including scalability and resilience.

  3. Conduct unit testing: Test the web app’s individual features and modules to ensure that they are functioning correctly. This may involve using tools like Selenium or Protractor for automated testing.

  4. Conduct integration testing: Test the web app in an integrated environment to ensure that it works correctly with other systems and applications. This may involve testing the web app with different operating systems, browsers, and devices.

  5. Conduct user acceptance testing: Test the web app with end-users to ensure that it meets their needs and is easy to use. This may involve conducting surveys, interviews, or focus groups to gather feedback from users.

  6. Automate testing: Automate testing of the web app to ensure that it is functioning correctly and meeting the needs of all stakeholders. This may involve using tools like Azure DevOps to set up automated testing pipelines.

  7. Monitor performance: Monitor the performance of the web app in production to ensure that it is meeting the needs of all stakeholders. This may involve setting up monitoring tools, such as Azure Application Insights, to track web app usage and identify performance issues.

  8. Address issues: Address any issues that are identified during testing and make necessary changes to ensure that the web app is functioning correctly and meeting the needs of all stakeholders.

By following these steps, you can ensure that Azure Application Service: Web Apps is tested thoroughly and meets the needs of all stakeholders involved in the project. This can help improve the quality of the web app and ensure that it functions correctly in a production environment.


F. 2023 Roadmap

????


G. 2024 Roadmap

????


H. Known Issues

There are several known issues that can impact Azure Application Service: Web Apps. Here are some of the most common issues to be aware of:

  1. Performance issues: Performance is a critical concern when it comes to web apps. If the app is not performing well, it can impact the user experience and cause delays in processing requests. This can impact the overall performance of the application.

  2. Security issues: Security is another critical concern when it comes to web apps. If the app is not properly secured, it may be vulnerable to attacks or data breaches. This can impact the confidentiality and integrity of the data being transmitted through the app.

  3. Compatibility issues: Compatibility issues can arise when different teams are using different tools or technologies. This can cause issues when integrating the web app with other systems and applications. It is important to ensure that all stakeholders are using compatible tools and technologies to avoid compatibility issues.

  4. Integration issues: Integration issues can arise when integrating the web app with other systems and applications. It is important to ensure that the web app is designed to work seamlessly with other systems and applications to avoid integration issues.

  5. Scalability issues: Scalability is an important concern when it comes to web apps. If the web app is not designed to scale, it may not be able to handle the increased traffic and user demands that come with organizational growth.

  6. Configuration issues: Configuration issues can arise when the web app is not properly configured. This can cause issues with performance, security, and compatibility. It is important to ensure that the web app is properly configured to avoid configuration issues.

Overall, Azure Application Service: Web Apps requires careful planning and management to ensure that the web app is functioning correctly and meeting the needs of all stakeholders involved in the project. By being aware of these known issues and taking steps to address them, you can improve the quality of the web app and ensure the success of your project.


[x] Reviewed by Enterprise Architecture

[x] Reviewed by Application Development

[x] Reviewed by Data Architecture