Service Information Schema Description
Retired Content |
---|
This content and the technology described is outdated and is no longer being maintained. For more information, see Transient Fault Handling. |
On this page: |
---|
The serviceModel Element | The stabilizer Element | The subscriptions Element | The services Element | Attributes of the role Element | The storageAccounts Element | The scaleGroups Element | Attributes of the scaleGroup Element | Attributes of the role Element |
This topic lists the XML elements and attributes used to configure the service information in the Autoscaling Application Block. You can manually edit the XML data in a text or XML editor, or build your own tool to edit the configuration data. You can use the schema information contained in this topic when you edit the data manually, or when you design your own custom UI to edit this data.
If you have installed the Autoscaling Application Block in your Visual Studio project by using NuGet, you can find the AutoscalingServiceModel.xsd schema file in the root folder of the project.
The configuration file has the following top-level structure.
<serviceModel xmlns=
"https://schemas.microsoft.com/practices/2011/entlib/autoscaling/serviceModel">
<stabilizer>
</stabilizer>
<subscriptions>
<subscription ...>
<services>
...
</services>
<storageAccounts>
...
</storageAccounts>
</subscription>
</subscriptions>
<scaleGroups>
...
</scaleGroups>
</serviceModel>
The serviceModel Element
The serviceModel element has three child elements: the stabilizer element must appear once, the subscriptions element must appear once, and the scaleGroups element must appear once.
The stabilizer Element
The stabilizer element configures the behavior of the stabilizer feature of the Autoscaling Application Block. For more information, see the topic The Stabilizer.
The following table describes the attributes of the stabilizer element.
Attribute |
Description |
---|---|
scaleUpCooldown |
A timespan that specifies how long the block should wait after scaling up a role before performing another scaling operation on the same role. The block uses the value of this attribute as the default value if there is no scaleUpCooldown attribute defined for an individual role. This attribute is optional; it has a default value of 20 minutes. |
scaleDownCooldown |
A timespan that specifies how long the block should wait after scaling down a role before performing another scaling operation on the same role. The block uses the value of this attribute as the default value if there is no scaleDownCooldown attribute defined for an individual role. This attribute is optional; it has a default value of 20 minutes. |
scaleUpOnlyInFirstMinutesOfHour |
An integer value of 0 or between 10 and 60 that specifies when the block can perform scale up operations. For example, if this value is set to 20, the block will only perform scale up operations if they occur in the first 20 minutes of the hour. This attribute enables you to make the best use of the compute time you pay for by restricting role instances from running for a short period of time in the hour in which they start. This attribute is optional; if this attribute is 0 or is not present, the block can scale up at any time. |
scaleDownOnlyInLastMinutesOfHour |
An integer value of 0 or between 10 and 60 that specifies when the block can perform scale down operations. For example, if this value is set to 15, the block will only perform scale down operations if they occur in the last 15 minutes of the hour. This attribute enables you to make the best use of the compute time you pay for by keeping role instances running for as long as possible within an hour. This attribute is optional; if this attribute is 0 or is not present, the block can scale down at any time. |
notificationsCooldown |
A timespan that specifies how long the block should wait after sending a scaling notification before sending another notification for the same role. This attribute is optional; it has a default value of 30 minutes. |
The stabilizer element contains zero or more role elements. The following table describes the attributes of the role element.
Attribute |
Description |
---|---|
roleAlias |
This is the alias of a role defined in the services element. |
scaleUpCooldown |
A timespan that specifies how long the block should wait after scaling up a role before performing another scaling operation on the same role. If present, this value overrides the value set in the stabilizer element for this role. This attribute is optional; it has a default value of 20 minutes. |
scaleDownCooldown |
A timespan that specifies how long the block should wait after scaling down a role before performing another scaling operation on the same role. If present, this value overrides the value set in the stabilizer element for this role. This attribute is optional; it has a default value of 20 minutes. |
scaleUpOnlyInFirstMinutesOfHour |
An integer value of 0 or between 10 and 60 that specifies when the block can perform scale up operations. For example, if this value is set to 20, the block will only perform scale up operations if they occur in the first 20 minutes of the hour. This attribute enables you to make the best use of the compute time you pay for by restricting role instances from running for a short period of time in the hour in which they start. If present, this value overrides the value set in the stabilizer element for this role. This attribute is optional; if this attribute is 0 or is not present, the block can scale up at any time. |
scaleDownOnlyInLastMinutesOfHour |
An integer value of 0 or between 10 and 60 that specifies when the block can perform scale down operations. For example, if this value is set to 15, the block will only perform scale down operations if they occur in the last 15 minutes of the hour. This attribute enables you to make the best use of the compute time you pay for by keeping role instances running for as long as possible within an hour. If present, this value overrides the value set in the stabilizer element for this role. This attribute is optional; if this attribute is 0 or is not present, the block can scale down at any time. |
The stabilizer element contains zero or more group elements. The following table describes the attributes of the group element.
Attribute |
Description |
---|---|
groupName |
This is the alias of a scale group defined in the scaleGroups element. |
scaleUpCooldown |
A timespan that specifies how long the block should wait after scaling up a role before performing another scaling operation on the same role. If present, this value overrides the value set in the stabilizer element for this scale group. This attribute is optional; it has a default value of 20 minutes. |
scaleDownCooldown |
A timespan that specifies how long the block should wait after scaling down a role before performing another scaling operation on the same role. If present, this value overrides the value set in the stabilizer element for this scale group. This attribute is optional; it has a default value of 20 minutes. |
scaleUpOnlyInFirstMinutesOfHour |
An integer value of 0 or between 10 and 60 that specifies when the block can perform scale up operations. For example, if this value is set to 20, the block will only perform scale up operations if they occur in the first 20 minutes of the hour. This attribute enables you to make the best use of the compute time you pay for by restricting role instances from running for a short period of time in the hour in which they start. If present, this value overrides the value set in the stabilizer element for this scale group. This attribute is optional; if this attribute is 0 or is not present, the block can scale up at any time. |
scaleDownOnlyInLastMinutesOfHour |
An integer value of 0 or between 10 and 60 that specifies when the block can perform scale down operations. For example, if this value is set to 15, the block will only perform scale down operations if they occur in the last 15 minutes of the hour. This attribute enables you to make the best use of the compute time you pay for by keeping role instances running for as long as possible within an hour. If present, this value overrides the value set in the stabilizer element for this scale group. This attribute is optional; if this attribute is 0 or is not present, the block can scale down at any time. |
The subscriptions Element
The subscriptions element contains one or more subscription elements. Each subscription element defines a Microsoft Azure subscription. The following table describes the attributes of the subscription element.
Attribute |
Description |
---|---|
name |
A name to identify the subscription. This is a required attribute. |
subscriptionId |
A GUID that uniquely identifies your subscription. You can find this in your Azure portal. This is a required attribute. |
certificateThumbprint |
The certificate thumbprint of your Management API key. You can find this in your Azure portal. The Autoscaling Application Block needs this value when it invokes any scaling operations using the Azure Management API. This is a required attribute. For more information about using certificates with Azure, see "Managing Certificates in Azure" on MSDN. |
certificateStoreName |
The name of the certificate store that contains the Azure Management API certificate. This is a required attribute. |
certificateStoreLocation |
The location of the certificate store that contains the Azure Management API certificate. This is a required attribute. |
The subscription element has two child elements: services and storageAccounts.
The services Element
The services element contains one or more service elements. Each service element describes an Azure hosted service with roles that you want to use as rule targets.
Each service element contains a roles child element. Each roles element contains one or more role elements. Each role element describes an Azure role that can be a target in your autoscaling rules.
Note
You do not need to describe all your hosted services and roles, only those that you want to use as targets in your autoscaling rules.
The following table describes the attributes of the service element.
Attribute |
Description |
---|---|
dnsPrefix |
The name of the hosted service as it appears in the Azure portal. This is a required attribute. |
slot |
The name of the Azure deployment slot that contains the role you want to use as targets for your autoscaling rules. You can find this in your Azure portal. This is a required attribute. |
scalingMode |
Controls what scaling actions to perform on this hosted service. Scale. Scale the roles in this hosted service. Notify. Send a notification. ScaleAndNotify. Scale the roles in this hosted service and send a notification. This is an optional attribute. |
notificationRecipients |
The email addresses of the people who should receive notifications. If the scalingMode attribute is Notify or ScaleAndNotify, this is a required attribute. |
Attributes of the role Element
The following table describes the attributes of the role element.
Attribute |
Description |
---|---|
alias |
An alias used to identify the role. The definition of storage groups uses this alias to refer to the role. Alias and scale group names must all be unique. This is a required attribute. |
roleName |
The name of the role as it appears in the Azure portal. This is a required attribute. |
wadStorageAccountName |
The name of the Azure storage account that stores the diagnostics data from this role. This name is defined by the storageAccount element. This is a required attribute. |
The storageAccounts Element
The storageAccounts element is a child of the subscriptions element. It contains one or more storageAccount elements. Each storageAccount element defines an Azure storage account in the subscription.
The following table describes the attributes of the storageAccount element.
Attribute |
Description |
---|---|
alias |
An alias for a storage account in the subscription. The role element uses this alias to identify the storage account used to store its diagnostic data. This is a required attribute. |
connectionString |
The connection string needed to connect to the storage account. The block uses the connection string when it connects to a storage account from on premises or in a different hosted service. This is a required attribute. |
The scaleGroups Element
The scaleGroups element contains zero or more scaleGroup elements. Each scaleGroup element contains a roles element that contains one or more role elements. Each role element identifies a role that is a member of the scale group.
Attributes of the scaleGroup Element
The following table describes the attributes of the scaleGroup element.
Attribute |
Description |
---|---|
name |
A name that identifies the scale group. Autoscaling rules can use this name as a target. This is a required attribute. |
Attributes of the role Element
The following table describes the attributes of the role element.
Attribute |
Description |
---|---|
roleAlias |
An alias that identifies the role. This alias is defined by the role element in the service definition. This is a required attribute. |
ratio |
The value used as a weight when the autoscaling rule calculates the new instance counts for the scale group members. This is a required attribute. |
Next Topic | Previous Topic | Home
Last built: June 7, 2012