Tuesday, November 5, 2024
HomeCloudAzureAzure App Services Features

Azure App Services Features

In last post we have seen about azure app services introduction and benefits, in this lets see the azure app services features.

How App Service runs on App Service Plan

One of key benefits for azure app services or any PaaS services are auto/scale up and down. In this will see how azure handles the scale up and domain. In azure it use Service Fabric to handles it. You might have heard Service Fabric powers a lot of services in Azure, including App Service.

For instance, when you have a Web App that is running a website, Service Fabric makes sure that it runs on a VM, in a Microsoft datacenter. And if that VM fails, or if the underlying hardware fails, Service Fabric moves the Web App to another VM and/or physical server, so that it continues to run. Service Fabric also takes care of scaling for you. When you scale your Web App, by, for instance scaling it out over multiple instances, Service Fabric replicates your Web App over multiple VMs and keeps those running. This is the magic of cloud and this is what makes it so easy for you to run something like a Web App. In azure, Service Fabric takes care of all of this. We no need to worry about the uptime and availabilities, once it is deployed it will keep running, until there is some misconfiguration done manually.

The VMs that Service Fabric uses, are the actual things that your App Service runs on. And you can choose what type of VM Azure should use to run your App Service. You do this by configuring the App Service Plan.

An App Service Plan is the logical abstraction that represents one or more VMs that your App Service runs on. It is a representation of compute resources, like CPU, memory, and disk space.

Deployment features

One of the major feature we should know or discuss in deployment, as this is critical to maintain the the application uptime and availability. Please note, some features wont available when you use functions apps with Serviceless option.

Deployment slots

The deployment slots feature is one of the features that adds a lot of value with little work. A deployment slot is a fully functioning App Service, like a Web App, that runs next to your original Web App. You can use a deployment slot to deploy a new version of your application in and test it. And the best of this feature is that you can swap a deployment slot into production with zero downtime. This means that you can deploy the new version of your application to production without having any downtime.

Deployment slots – testing in production

When you have one or more deployment slots, you can use them to test in production. You can configure if and how much traffic you want to be routed to each of your deployment slots. For instance, you could route 10% to your staging slot and the rest (90%) to your production Web App. 10% of your users will be sent to the deployment slots and those users get to test your new features.

Deployment Center

You can use the deployment center feature to connect a code repository to your Web App and have that code built and deployed whenever it is updated. So, the deployment center enables you to implement Continuous Integration (build every time code is checked in) and Continuous Deployment (deploy every time the code was built successfully).

Settings

These are shared settings that you can use within all App Service types. please note, some features wont available when you use functions apps with Serviceless option.

Application settings

The application settings let you configure everything from the stack and versions that the App Service runs, to which HTTP version it runs. In here, you can also add application settings as key/value pairs and connectionstrings to other services.

Authentication / Authorization

App Service allows you to easily require users to authenticate before they can use your application. Just flip a switch and choose which identity provider you want to use. You can choose Google, Facebook, Twitter, Microsoft, Azure Active Directory, or a custom provider.

Azure Monitor Application Insights

You can configure the Azure Monitor Application Insights extension that runs in the App Service. This extension collects performance and diagnostics information from the App Service and sends that to the Application Insights instance that you use to monitor and analyze your App.

Identity

The identity feature allows you to assign a Managed Service Identity to the App Service. This is an identity that lives in Azure Active Directory and can be used to authenticate to other services, like Azure Key Vault. Using this, you don’t need to store any credentials in your code or in the configuration of your App Service to authenticate to services like Azure Key Vault.

Backups

You can create backups of everything in your App Service on a regular basis. Backups saves the content, so the application and the settings of your App Service. It can also backup connected services, like an Azure SQL Database that is connected to the App Service with a connection string. These backups are useful for when you want to revert to a previously working version of your App Service.

Custom domains

When you create an App Service, it has a URL that you can access from the internet. By default, this is something like xyz.azurewebsites.net. You can couple your custom domain names to the App service, so that you can reach it through your URL. You can also buy a domain and couple it to your App Service, straight form the Azure portal.

SSL settings

You can secure the traffic to your App Service by adding SSL certificates and binding them to domains that are assigned to your App Service. The default App Service URL, xyz.azurewebsites.net, is already secured with an SSL certificate. For custom domains, you can use SSL certificates that you’ve bought somewhere. Or you can use an Azure App Service Certificate that you buy through the Azure portal. Azure App Service Certificates are bought from famous providers like digicert or godaddy.

Networking

You can protect your App Service by adding IP restrictions. And you can create hybrid connections to your App Service that connect it to services and data stores that run somewhere else than Azure, for instance in your own datacenter. And you can use virtual networks to securely connect services to your App Service.

Scale up (App Service plan)

When you increase the amount of compute resources that run your App Service, you call that scaling up. You can do that by choosing a higher pricing tier for the App Service Plan. This will provide your App Service with more CPU, memory, and disk space. Obviously, you can also scale down to save costs.

Scale out (App Service plan)

Scaling out happens when you increase the number of instances that you run. In App Service, you can scale out with a manual slider, to increase the amount of App Service instances that you run. Or you can scale out automatically, based on a schedule, or on metrics like when the CPU utilization hits 70%. You can also create an automatic scaling method that uses both a schedule and metrics.

WebJobs

A very interesting feature of App Service is WebJobs. WebJobs is a type of service that you can use to run background jobs with. And they can be triggered by a schedule or by an external event, like when a new message arrives on a queue. All that you have to do, is write the code that does something whenever the WebJob runs. WebJobs are very similar to Azure Functions, which run in Function Apps. In fact, Azure Functions are built on the same technology as WebJobs. Functions are the evolution of WebJobs, but you can still use WebJobs and they might stick around for a while.

Push

If you want to send push notifications to applications, you can use the Push feature in App Service. This enables you to send push notifications to many push notification platforms, like the ones from Apple, Android, and Windows, without you having to cod the specific implementations for these platforms. We’ll discuss te Push feature more in the post about Mobile Apps.

Important Tools:

These are shared development tools that you can use within all App Service. please note, some features wont available when you use functions apps with Serviceless option.

Extensions

Sometimes, you need more functionality than App Service can provide out-of-the-box. In these cases, you can install extensions in your App Service. There are lots of extensions, like monitoring solutions from New Relic and Stackify and even the Application Insights extension from Microsoft. There are also extensions for to enable the Python runtime and runtimes for other programming languages.

API features

These features used to be unique to API Apps but are now part of the shared features. Every type of App Service can use these features.

API Management

Azure API Management is a reliable, secure and scalable way to publish, consume and manage API’s running on Microsoft Azure platform. Azure API Management provides all essential tools required for an end-to-end management of API’s.


API definition

The API definition feature lets you configure the location of the Swagger metadata describing your API. This makes it easy for others to discover and consume your API.

CORS

CORS stands for Cross Origin Resource Sharing and allows client-side code (most often JavaScript) to interact with your backend, which is the App Service in this case. You can use this to create a whitelist of domain names that have client-side code that can interact with your backend.

Monitoring

There are lots of monitoring strategies for App Service. These features are the built-in options that you can use without using additional services.

Metrics

The Metrics feature allows you to explore and monitor metrics, like the CPU time used, or the amount of server errors over a certain period of time. It even allows you to monitor metrics like Gen x Garbage Collections. And it allows you to create alerts for the metrics that you monitor.

Diagnostic logs

Diagnostic logs create logfiles for everything that happens in your App Service. You can store these logs in the file system of the App Service, or somewhere else, like in Azure Blob Storage. There are several types of diagnostic logs that can help you to diagnose your App Service:

  • Application logging
    • This contains trace information you write from your application
    • You can indicate the logging level: Error, Warning, Information or Verbose
  • Web server logging
    • Information of the webserver itself
  • Detailed error messages
    • Detailed information about exceptions in your App Service
  • Failed request tracing
    • Specific information about requests to your App Service that fail.

Follow us on: Foxutech – Home | Facebook

RELATED ARTICLES
- Advertisment -

Most Popular

Recent Comments