Run your websites on Azure App Services
Azure App Service is one of the easiest options for developers and administrators to deploy and manage a Sitefinity website. Being a PaaS offering, App Service takes away the complexity of dealing infrastructure and servers. You can easily develop and deploy your Sitefinity website using Visual Studio, benefit from automatic high availability and configure auto-scaling while keeping the cost optimal. Azure App Service provides a secure ISO and PCI compliant environment for your Sitefinity website as well.
The following article provides guidance and insights into the recommended Azure components and services that must be used to configure a Sitefinity website in Azure.
Required components and Services
To set up your website infrastructure layer in Azure, the following components and services must be used:
- Azure App Service with pre-configured auto-scaling to optimally handle to load of the website at any time.
- Azure SQL Database to store the website’s data, tuned to ensure top performance for the application.
- Azure Cache for Redis used for data caching, to further optimize the website performance. Sitefinity CMS needs Redis (and Azure cache for Redis) configured, so the following mechanisms can work properly:
The following diagram demonstrates how the components fit together:
Optionally, you can configure additional components, like Azure search and Azure CDN, Azure Monitor, to take care of content indexing, search and live site performance. Solutions from other vendors can be used as well.
Benefits of using Azure App Service
Deploying your Sitefinity website to Azure App Service provides the following benefits:
- High availability
The App Service multi-region architecture can provide higher availability than deploying to a single region. If a regional outage affects the primary region, you can configure Azure to fail over to the secondary region. This way Azure automatically takes care of high availability and provides a 99.95% SLA. Deployment slots and pipelines enable developers to build a CI/CD pipeline where changes to your Sitefinity website are first deployed to a staging environment and tested there before swapping to production.
If configured to scale up, Azure App Service can dynamically allocate resources to match performance requirements. As the number of website visitors and requests to your website grows, Sitefinity CMS may need additional resources to maintain the desired performance levels. Autoscaling takes advantage of the elasticity of cloud-hosted environments and automatically decides whether to add or remove resources.
- Cost management
You can benefit from Azure’s pay-as-you-go pricing model, which is very effective especially for small and medium enterprises, since you pay only for the services that are active in your Azure account. App Service also has built-in load balancers that help save infrastructure costs.
In addition to the security mechanisms provided by the Sitefinity Web security module, Azure App Service also provides Infrastructure and platform security. App service also comes with layered security like multi-factor authentication and is ISO and PCI compliant.
- Easy integration with Visual Studio
App Service integration with Visual Studio makes it easy for developers to customize and quickly deploy Sitefinity projects to the cloud. Azure automatically handles deploying your code to multiple servers and high availability. For more information see Publish your project to Azure App Services.
Considerations when using Azure App Service
The Azure App Service architecture introduces a few limitations that developers and website administrators must be aware of, when planning to deploy their Sitefinity website to the cloud. Unlike the traditional approach where you have access to the application files and can remotely access the server running your Sitefinity website, in App Service the Remote desktop option is not available. This means that you cannot directly inspect/edit application files, install monitoring software on the server, and so on. Custom code is deployed via Visual Studio, Git, and so on. Application logs, resource and performance monitoring, and profiling is done via the Azure portal.