SQL Azure Scale-Out Setup Guide
SQL Azure Scale-Out Setup Guide
SQL Azure Scale-Out Setup Guide
2017-02-10
Orckestra, Europe
Nygårdsvej 16
DK-2100 Copenhagen
Phone +45 3915 7600
www.orckestra.com
Contents
1 INTRODUCTION .................................................................................................... 3
1.1 Who should read this guide 3
1.2 Getting started 3
2 PRE-INSTALLATION AND INSTALLATION STEPS ............................................ 5
2.1 Installation 5
3 CONFIGURING MEDIA FILE SYNCHRONIZATION ............................................. 7
3.1 Creating a container in Azure blob storage 7
3.2 Getting the blob connection string 7
3.3 Specifying the blob connection string in Web.config 8
3.4 Configuring the media file provider in Composite.config 8
4 CONFIGURING DATA CHANGE SYNCHRONIZATION .................................... 10
4.1 Creating a service bus on Microsoft Azure 10
4.2 Getting the connection string for the service bus 10
4.3 Specifying the service bus connection string in Web.config 11
4.4 Configuring the data provider in Web.config 11
5 VERIFYING THE CORRECT CONFIGURATION OF SYNCHRONIZATION ...... 13
The scaled-out setup works for multiple-instance SQL-based C1 CMS deployments where it
handles media and data change synchronization.
As a result, content and media file changes are immediately updated on all website
instances.
We expect that this person has an SQL-based C1 CMS website running or is able to
migrate an XML-based website to an SQL-based data store.
This person should have access to the System perspective in the CMS Console to install
add-ons, migrate the website and make backups if needed, and check the logs. Please note
that he or she should also have access to a Microsoft Azure account.
Once you've configured the synchronization within your scaled-out setup, you may want to
check the logs for synchronization errors to make sure that everything is working properly.
Using an C1 CMS Azure service package with the "Small" or larger VM size for the
web role being deployed.
Allowing write-backs on the website to be able to work in the CMS Console of the
website: <Runtime writeback="true" websiteType="composite-c1" />
Starting with a 1-instance deployment. (You may increase the number of instances
in the Microsoft Azure management portal after you have configured your scaled-
out solution.)
2.1 Installation
Installing the SQL Azure ScaleOut add-on is no different from installing any other CMS add-
on:
Now you are ready to configure the work of the installed add-on by setting up media and
data change synchronization.
1. In the Microsoft Azure management portal, select the blob storage with the
container.
2. Click “Manage Keys”.
3. Make a note of, or copy, the storage account name and storage access key.
1. Edit ~/Web.config.
2. Add the blob storage connection string with some name, for example, "c1media":
<configuration>
<!-- skipped -->
<connectionStrings>
<!-- skipped -->
<add name="c1media"
connectionString="DefaultEndpointsProtocol=https;AccountName=[AccountName];
AccountKey=[AccessKey]" />
</connectionStrings>
</configuration>
where:
1. Edit ~/App_Data/Composite/Composite.config.
2. Search for name="MediaFileDataProvider" to locate the default media provider.
3. Comment out this media file provider.
4. Add a reference to AzureMediaProvider as shown below:
where:
For example:
<add …
blobStorageConnectionStringName="c1media"
blobContainer="c1mediafiles" />
Please note that when adding a service bus, the "Messaging Tier" parameter must be set to
"Standard" (not "Basic") because the add-on is using the “Topics” feature of the Service
Bus.
Please note that there are two types of service bus connection strings: SAS and ACS. You
can use either.
<configuration>
<!-- skipped -->
<appSettings>
<add
key="Composite.Azure.ScaleOut.DataCacheFlusher.ServiceBus.ConnectionString"
value="Endpoint=sb://[yourServiceNamespace].servicebus.windows.net/;SharedS
ecretIssuer=[issuerName];SharedSecretValue=[yourDefaultKey]" />
<add key="Composite.Azure.ScaleOut.DataCacheFlusher.DataProviders"
value="DynamicSqlDataProvider" />
</appSettings>
<!-- skipped -->
</configuration>
1. Edit ~/Web.config.
2. Set the service bus connection string in the
"Composite.Azure.ScaleOut.DataCacheFlusher.ServiceBus.ConnectionString"
setting. For example:
<add
key="Composite.Azure.ScaleOut.DataCacheFlusher.ServiceBus.ConnectionString"
value="Endpoint=sb://mysrvbus.servicebus.windows.net/;SharedAccessKeyName=R
ootManageSharedAccessKey;SharedAccessKey=gkTvceSqsUAx+okXzOG8WKCOJ9MflR/cx0
ZBwyA0QW0=" />
However, you may want to ensure the synchronization has been configured correctly:
If there are errors, please consider redoing the configuration and, if needed, reinstallation of
the add-on – as described above.