8.1 deployment to Azure websites - General Discussions - General Discussions - Progress Community
 General Discussions

8.1 deployment to Azure websites

  • 8.1 deployment to Azure websites
  • On the idea & feedback portal here (feedback.telerik.com/.../141516-support-for-azure-websites) Radoslav Georgiev said that they started work on supporting deployment to Azure websites for 8.2 but he said that you could do this with the current version (I'm assuming 8.1 based on the date of his comment) provide you don't have a cap on memory and CPU.

    Are there any quick instructions anyone has for deploying to an Azure website or experience doing this on pre-8.2 versions? I'm going to do it later today but was wondering if there's something special I have to set or is it really just an FTP deploy away?

    Thanks

  • I have been running SF on Azure websites since 6.x

    Easiest way is to download the website publishing file and publish the site to your azure website. 

    After the initial deploy I exclude the Configuration folder but its up to you to decide how to manage that.

    I also use the web.config transforms to handle the differences between my local and azure instance. I also move the database connection string to the web config file.

    You also need to enable the Telerik element and tell that the install is on Azure. (Use the web transform for this.

      <telerik>
        <sitefinity xdt:Transform="Replace">
          <environment platform="WindowsAzure"/>
        </sitefinity>
      </Telerik>

    You probably can run it on the shared Azure websites but SF needs a lot of memory so you should plan to use a dedicated instance.

    One issue you may come across is 'Runtime error..can't find msshrtmi.dll

    Basically this is a reference from the Azure files in the project.

    Fix Find the dll on your PC and add it to your project. I use a binding redirect to keep the error away.

    <dependentAssembly>

            <assemblyIdentity name="msshrtmi" publicKeyToken="31bf3856ad364e35" culture="neutral" />

            <bindingRedirect oldVersion="0.0.0.0-2.5.0.0" newVersion="2.5.0.0" />

          </dependentAssembly>

     

    And I use Thunder to deploy the database, (initially).

    That's the main things off the top of my head.


     
     
  • Brilliant Darrin! I gave up the minute I had put the files up there and the database connection yelled at me because it was the wrong type (or something to that effect, can't remember as it was months ago). Going to try this now!
  • Been running this for awhile now and never had the issue with the dll file you mentioned but I am wondering about running multiple instances using just the website. The "official" way to run the site on azure is using webjobs and all that jazz which does things like cache invalidation using Azure services. Do you see any issues just running multiple instances of the website on Azure or do you think we should keep it to just one (until Sitefinity provides support for running in this configuration on Azure). Thanks
  • 8.1 and previous versions will not run with multiple instances. This is all due to the cache. Sitefinity stores its cache in local memory and the Load Balancing module is a method of contacting each "instance" and clearing or updating the cache.

    I did get around this by using Azure Service Bus as a POC but....

    Sitefinity 8.2 supports Azure websites officially and uses the Azure Redis cache as the communicator to each instance. So wait for that.

    What would really be ideal is if they just use Redis Cache for the cache then we wouldn't need the Load Balancing module and we would save a whole lot of memory requirements.