Azure App Service

  • A fully managed platform (PaaS) for building, deploying, and scaling your web apps.
  • Different types of App Services: Web Apps, Web Apps for Containers, and API Apps
  • Automatically patches and maintains the OS and language frameworks.
  • App Service can scale up or out manually or automatically.
  • App Service supports the following languages:
    • .NET
    • .NET Core
    • Java
    • Ruby
    • Node.js
    • PHP
    • Python

  • An App Service plan is a collection of compute resources needed for a web app to run.
  • Each App Service plan consists of a region, number & size of virtual machines and pricing tier.
  • App Service plan pricing tier: 
    • Shared Compute Free and Shared are the two base tiers. These tiers allocate CPU quotas to every app running on the shared resources, but the resources cannot scale-out.
    • Dedicated Compute – It is composed of Basic, Standard, Premium, and PremiumV2 tiers. As the tier gets higher, you will have more VMs to scale-out.
    • Isolated – A dedicated virtual machine that provides maximum scale-out capabilities.

App Services Types:

  • Web Apps
    • Website and online applications hosted on Azure’s managed platform.
    • Build and deploy mission-critical web applications that scale with your business.
    • It supports auto-scaling and load balancing for resilience and high availability.
  • Web Apps for Containers
    • Deploy and run containerized applications in Azure.
    • All dependencies are shipped inside the container.
  • API Apps
  • IT Certification Category (English)728x90
    • Expose and connect your backend data.
    • Connect other applications programmatically.

Deployment

  • Deployment components in App Service:
    • Deployment Source – it is where the application code is stored.
    • Build Pipeline – reads your code and takes the application in a running state
    • Deployment Mechanism – enables you to put your application in the /wwwroot directory. It also supports Kudu endpoints, FTP, and WebDeploy.
  • Deployment Center lets you choose the location of your code, as well as build and deploy to the cloud. It also has built-in continuous delivery for containers.
  • When creating an App Service plan, there are runtime stacks that will only run on Windows or Linux but not on both operating systems. For example, ASP.NET (Windows), Ruby (Linux), and Java (Windows & Linux).
  • Swap app content and configuration elements with deployment slots.
    • The deployment slots allow you to create a staging slot for your application.
    • When you perform the swap operation, the following settings are swapped: General settings, App settings, Connection strings, Handler mappings, Public certificates, and WebJobs content.
  • App Service supports the continuous deployment of code and containers.
  • You can use local cache and deployment slots to prevent downtime.
  • App Service diagnostics will help you in troubleshooting your application.

Monitoring

  • Diagnostics logging helps you access the information logged by Azure.
    • Application logging 
      • The generated log messages by your application. Each message has the following level and categories:
        • Disabled: None
        • Error: Error, Critical
        • Warning: Warning, Error, Critical
        • Information: Info, Warning, Error, Critical
        • Verbose: Trace, Debug, Info, Warning, Error, Critical
      • You can also specify the disk quota (MB) and retention period (days) for the application logs.
      • The logs can be found on the App Service file system or Azure Storage blobs.
    • Web server logging
      • This log message contains an HTTP method, resource URI, client IP, client port, user agent, and response code.
      • You can set the retention period (days) for the web server logs.
      • The logs are stored in Azure Storage blobs or App Service file system.
    • Detailed Error Messages
      • A copy of the .htm error page. The page contains the information on why the server returns an error code (HTTP code 400 or greater).
      • The logs are stored in the App Service file system.
    • Failed request tracing
      • Detailed information on failed requests. The information you can find here helps you improve the site performance and isolate a specific HTTP error.
      • For each failed request, one folder is generated which contains the XML log file and XSL stylesheet.
      • The logs can be found on the App Service file system.
    • Deployment logging
      • This log is created when you publish content to your app.
      • You can also use this log to determine why the deployment failed. For example, if you use a custom deployment script and it fails, you can determine why the script is failing through deployment logs.
      • Like Detailed Error Messages and Failed request tracing, the logs are also stored in the App Service file system only.

Security

  • App Service protocols: HTTPS, TLS 1.1/1.2 and FTPS
  • The default domain name is using HTTPs. You can also secure your custom domain using an SSL/TLS certificate.
  • Service endpoints allow you to restrict access from a virtual network.
  • The first IP restriction rule has an explicit Deny all rule with a priority of 2147483647.
  • Service-to-service authentication:
    • Service Identity – you can use the identity of the app to access the remote resource.
    • On-behalf-of (OBO) – allows you to access a remote service using a delegated sign-in.

VNet Integration

  • It allows your app to access resources in your virtual network.
    • Regional VNet Integration 
      • You need to have a dedicated subnet to the services that you integrate with.
      • Block outbound traffic using network security groups.
      • Route table allows you to send outbound traffic.
    • Gateway-required VNet Integration 
      • Allows access to resources in the target virtual network.
      • Sync network allows you to sync certificates and network information.
      • You can also add routes for outbound traffic.

Hybrid Connections

  • Uses host:port combination.
  • It provides network access to your application using a TCP endpoint.
  • Supports access to multi-networks from a single app.
  • Tutorials Dojo Study Guide and Cheatsheet
  • Host your hybrid connection endpoint using a relay agent or Hybrid Connection Manager (HCM).
  • You can run multiple HCMs on a separate machine to achieve high availability.

Pricing

  • You are charged on a per-second basis in the App Service plan.
  • You are charged for the applications while they are in a stopped state.
  • You are charged for data egress when using VNet Integration.
  • You are charged for each listener in a Hybrid Connection

Sources:
https://azure.microsoft.com/en-us/services/app-service/
https://docs.microsoft.com/en-us/azure/app-service/overview

Pass your AWS and Azure Certifications with the Tutorials Dojo Portal

Tutorials Dojo portal

Our Bestselling AWS Certified Solutions Architect Associate Practice Exams

AWS Certified Solutions Architect Associate Practice Exams

Enroll Now – Our AWS Practice Exams with 95% Passing Rate

AWS Practice Exams Tutorials Dojo

Enroll Now – Our Azure Certification Exam Reviewers

azure reviewers tutorials dojo

Tutorials Dojo Study Guide and Cheat Sheets eBooks

Tutorials Dojo Study Guide and Cheat Sheets-2

FREE Intro to Cloud Computing for Beginners

FREE AWS Practice Test Samplers

Browse Other Courses

Generic Category (English)300x250

Recent Posts