Thunder: Sitefinity Azure configuration and deployment
You can deploy your Sitefinity CMS project to Microsoft Azure Cloud Services using Sitefinity CMS Thunder.
NOTE: You can not use Thunder to deploy projects to Azure App Services.
For more information, see Deploy projects to Azure Web Apps.
License requirements
You must have a valid Sitefinity CMS license for <your domain> (<domainprefix>.cloudapp.net by default).
To use multiple role instances in Azure (Azure SLA requires at least two), your license must support Use Network load balancing (NLB) (NLB).
IMPORTANT: When using Sitefinity CMS on Azure Cloud Services in a load-balanced scenario (including Auto scaling) you do not need to configure Sitefinity CMS for Load Balancing. Sitefinity CMS uses the Azure API to automatically identify the web role instances that must be messaged to invalidate the cache dependencies.
NOTE: The Enterprise and the Professional editions have NLB support included by default. You can also purchase it as an additional module. For more information, see the Sitefinity CMS editions page.
PREREQUISITES: Before you proceed to deployment, you must have the following:
- You must be using Sitefinity CMS 4.2 SP1 or above.
- You must have an active Azure subscription.
The following procedure uses Azure Platform Management Portal to manage your hosted services, storage accounts, and databases.
- You must have one of the following versions of Microsoft Visual Studio installed:
- Visual Studio 2013
- Visual Studio 2012
- Visual Studio 2010 (does not support Azure SDK 2.2)
- You must have installed the proper version of Azure SDK.
For more information, see Reference: Windows Azure SDK supported versions.
- You must have installed and Microsoft SQL Server 2008 R2 Service Pack 1 to version Microsoft SQL Server 2012.
RESTRICTIONS: Deploying the project to Azure has the following restrictions:
- You cannot install a project directly to the cloud. You must create and develop your project locally and then migrate it to the cloud environment.
- You must prepare locally and include in the deployment package all themes, labels (after language pack imports), and other resources that are kept in App_Data folder. Once the project is deployed, they must remain read-only. For example, to include an imported language pack in the deployment, include the ~/App_Data/Sitefinity/GlobalResources folder in project. Always ensure that the Build action property of the included files is set to Content. To view or change this, in the context menu of the file, select Properties.
- Search is disabled in a way that nothing is actually written to the disk. This means that the UI works as previously, but nothing is actually kept in search indexes and no search results are fetched.
- Video thumbnails are not automatically generated and you must set them manually.
To deploy your Sitefinity CMS project to Azure, perform the following:
- Thunder: Setup the cloud environment.
- Deploy Sitefinity CMS to Azure.
You deploy Sitefinity CMS, using the Deploy Sitefinity CMS project to Windows Azure wizard. With the wizard, you can configure your Sitefinity CMS project, you can deploy the database of your project to SQL Database (formerly known as SQL Azure Database) and change the connection string to reference to the deployed database. You can also publish your Sitefinity CMS project to Azure and then revert back the changes made by the wizard so you still have a working local project.
Perform the following:
- In the context menu of your Windows Azure project, click Deploy Sitefinity CMS to Azure.
The wizard appears and you click Next.
- Choose what you want to configure, by selecting one or more of the following:
- Set up Sitefinity CMS project for Azure deployment
If you have selected only this option, on the next screen, click Finish.
A success message appears.
- Migrate database to Azure
If you have selected only this option, perform procedure, Thunder: Migrating the database to Azure.
By selecting the Change Sitefinity CMS connection string to the Migrated Azure SQL Database checkbox, your project will start using the database stored in the Azure server.
NOTE: If you want to perform the publish procedure after you migrate your database, you must keep checked this option so the deployed project can use the Azure database.
- Publish Sitefinity CMS project to Azure
To publish your project, perform Thunder: Publishing the Sitefinity project to Azure .
- Revert changes to the local Sitefinity CMS project
If you select this option the wizard rollbacks all changes made to your local project so you are still able to work with it.