Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at

  • Connie DeCinko 95 posts 247 karma points
    Jul 26, 2019 @ 15:29
    Connie DeCinko

    Would you recommend Umbraco in Azure over running on prem?

    We are considering using our Azure subscription to host our first Umbraco instance rather than hosting in our on prem VMs Can anyone share their experience and recommendation?

  • SteveV 48 posts 213 karma points
    Jul 26, 2019 @ 21:48

    I work for an agency and all the websites we create are hosted in Azure. Hosting an Umbraco website consists of 3 parts:

    • App Service
    • Azure SQL Database
    • Storage account

    App Service

    You start by creating an App Service Plan. Depending on the amount of sites and how much memory they take you choose either the S1 plan which starts cheap but has a max of 7 GB RAM or the P1V2 plan which can scale up to 14 GB RAM and has a bit more CPU horsepower.

    You can run multiple websites (App Services) on 1 server (App Service Plan), just keep an eye on the memory chart. If you go higher than 80-90% it's time to scale up.

    We don't scale out the websites to multiple servers. Microsoft doesn't give you an uptime guarantee with only 1 instance but the downtime we see from all our websites combined is negligible.

    Azure SQL Database

    You start by creating a free server. You pay for each database (or group them later with an elastic pool). We use the DTU type databases. I haven't looked into all this V-core stuff yet. You can start out with a Basic (5 DTU) database. If you have a lot of content on your website and your backoffice is too slow you can easily upgrade the performance to Standard (>= 10 DTU). Changing the performance is just a click (and 2 minutes) away. DB performance doesn't really impact front-end performance of Umbraco.

    Azure Storage

    Every customer/website has it's own storage account. We choose the Blob Only (Hot) type. All the media, cache (cropped media) and forms are stored on there.

    Why Azure

    • Scaling the App Service Plan or database with just a click of a button (while waiting a couple of minutes).
    • Not responsible for maintaining hardware or software updates. Last year Azure upgraded App Services from Windows Server 2008 R2 to Windows Server 2016. 0 issues - 0 downtime.
    • Point in time restore for SQL Databases. (Don't forget to configure a longer period)
    • Soft delete on the storage account. In case a user moves media items to the recycle bin and empties it by mistake. (Again, don't forget to configure this).
    • Using the storage account also allows you to run the website on your development PC and seeing the media and forms.
    • Each website can also have "slots", for example: test, preproduction, acceptance.

    The real magic

    Fully automate your deployment. Don't mess with FTP anymore. It's not hard to setup and will save you a huge amount of time and avoid mistakes. If you don't use Azure Dev Ops (formerly Visual Studio Team Services or Visual Studio Online) start using it now. It's free for < 5 developers and you get 120 minutes of build time per month. We put the code in a Git repository and develop on a development branch. When we want to deploy we create a pull request to the master branch and the build server will automatically create a build and deploy the binaries to the App Service.

    PS: Use the best practices you find on Our on how to configure Umbraco for use in Azure. (FileSystemProvider, Imageprocessor, Examine, Forms). We are still on v7 and are waiting for 8.1.1 to fix some Azure specific issues.

  • Connie DeCinko 95 posts 247 karma points
    Jul 26, 2019 @ 22:00
    Connie DeCinko

    Thanks SteveV. This is great information! I will pass this along to my team. Since we are evaluating other projects for Azure I think we would do well to kick the tires and give Umbraco a try on Azure. We too are sticking with v.7 at least for awhile.

Please Sign in or register to post replies

Write your reply to: