Configuring Placement Attributes

Placement attributes are used to identify the capabilities of each deployment destination and the requirements of a service. They help ensure that service requests are deployed to the best destination. For example, placement attributes can help Commander decide whether to deploy to public or private cloud, or which datacenter or geographic region is best suited to a service.

You can configure two types of placement attribute:

  • Fixed Requirement: a placement attribute that's either required or not required. Backup and PCI compliance are good examples of fixed requirement capabilities. If a destination doesn't provide this capability, it's filtered out of the list of valid destinations.
  • Selectable Values: a placement attribute with one or more prioritized values/capabilities that you specify. For example, you can create a placement attribute called "Licensing" with a single value, "Oracle". Or, you can create a placement attribute called "Deployment Environment", with values "Private Cloud" and "Public Cloud". Destinations providing one or more of these values are given a placement rating.

In this topic:

Placement attribute usage examples

The following examples demonstrate how you can use placement attributes to help service requests to be automatically deployed to the best destination:

Example 1: Deploying a service using Intelligent Placement

The following example shows how service requirements and deployment destination capabilities affect Intelligent Placement. In this scenario, the service must be hosted in the UK, and while it can be deployed either on-premise or in a public cloud, an on-premise destination is preferred.

Three destinations are available to users requesting this service. However, the UK datacenter is the best destination, because it provides both data sovereignty and the preferred deployment environment.

Best deployment destination — quota not considered

Intelligent Placement Example

However, quota limits have been configured for the requester's organization. So if this service was deployed to the UK datacenter, it would cause the requester to exceed quota limits on the UK datacenter. Therefore the UK datacenter is no longer the best destination, so the AWS - EU (London) destination is now chosen, because it satisfies the data sovereignty requirement, and the requester has sufficient quota.

Best deployment destination — quota considered

Intelligent Placement Example - Over Quota

Required placement attributes configuration

Configuring Commander for this example involves three main steps:

  1. Create two placement attributes:
    • "Data Sovereignty", with the selectable values "UK Hosting" and "Germany Hosting"
    • "Deployment Environment", with the selectable values "Public Cloud" and "Private Cloud"

    See Creating placement attributes.

  2. Assign appropriate values for these two placement attributes to your deployment destinations:
    • The UK Datacenter destination provides "UK Hosting" and "Private Cloud".
    • The AWS-Europe (London) destination provides "UK Hosting" and "Public Cloud".
    • The AWS-Europe (Frankfurt) destination provides "Germany Hosting" and "Public Cloud".

    See Assigning placement capabilities to deployment destinations.

  3. Assign appropriate values for these two placement attributes to your published services.
  4. Our example service requires "UK Hosting" and prefers "Private Cloud", but "Public Cloud" is allowed.

    See Assigning placement requirements for published services.

  5. Optional: If you want requesters to be able to specify their preference for a public or private cloud destination, add the "Deployment Environment" placement attribute to the Service-level form in the Form Designer, using the Custom/Placement Attribute form element.
  6. See Enabling requesters to specify new service placement requirements below.

    When a user requests this service, their choice of deployment environment affects the predicted destination and displayed service cost, as well as the form elements displayed on the component form. If the requester chooses public cloud, the Instance Type form element will be displayed, rather than the Memory and Storage form elements.

Example 2: Oracle database instances must be deployed on clusters licensed for Oracle

  1. Create a placement attribute called "Licensing". Specify that this attribute has selectable values, and add a single value, "Oracle".
  2. Assign the placement attribute value "Oracle" to the deployment destinations configured for the Oracle-licensed cluster. By doing this, you're indicating that these destinations provide Oracle licensing.
  3. Assign the placement attribute value "Oracle" to the Oracle instance in the service catalog. By doing this, you're indicating that this service requires Oracle licensing.

Later, if you have other licensing requirements, you can add more values for this placement attribute.

Example 3: All services that require backup must be deployed to destinations that support backup

  1. Create a placement attribute called "Backup", as a Fixed Requirement. For a Fixed Requirement placement attribute, you don't need to provide any values.
  2. Assign the placement attribute "Backup" to the deployment destinations that provide backup capabilities.
  3. Assign the placement attribute "Backup" to the service catalog entries that require backup.

Example 4: Requester selects the service level, which affects where the service can be deployed

  1. Change the existing custom attribute "SLA", with the values Gold, Silver, and Bronze, into a placement attribute.
  2. See Changing custom attributes into placement attributes.

  3. Assign the proper placement attribute values for "SLA" to your deployment destinations, according to the service levels they fulfill.
  4. Assign the proper placement attribute values for "SLA" to your service catalog entries, according to the service levels they require.
  5. Add the placement attribute to the service request form in the Form Designer, using the Custom/Placement Attribute form element.
  6. See Enabling requesters to specify new service placement requirements.

Creating placement attributes

Note: You can also use the Commander REST API v2 to create placement attributes and apply them to deployment destinations and published services. This can help with adding placement attributes to existing destinations and services, as well as easing the onboarding process. For examples, see the built-in help for the Commander REST API v2 PowerShell client.

Access through:

Configuration > Self-Service > Placement tab

Available to:

Commander Role of Superuser and Enterprise Admin

To create a placement attribute:

  1. Click the Placement tab.
  2. On the Placement page, click Add.
  3. In the Configure Placement Attribute dialog, enter a name for the new attribute.
  4. In the Description field, enter descriptive text for the attribute.

    This description is optional. However, if you use this field, the details that you enter here are displayed when a user selects an attribute.

  5. Select the attribute type.
    • List allows you to define values that users can select from a drop-down menu. If you select this type, skip to Step 7.
    • Sublist allows you to define allowed values for each value of another custom attribute. See also Creating relationships between custom attributes for complete information on sublist attributes.

      Note: Unlike custom attributes, placement attributes don't support the Text type.

  6. If you selected Sublist in the previous step, the Sublist Of drop-down menu appears. Select the placement attribute that will act as the parent attribute. See also Creating relationships between custom attributes.
  7. If you selected List in Step 5, from the Applies To menu, keep the default selection, All Types, which allows you to:
    • apply values to service catalog entries and destinations
    • add the placement attribute to request forms through the Custom/Placement Attribute form element. In this case, selected values are applied to deployed services.
  8. To allow a Service Portal user to change the value of the attribute, enable Edit in Service Portal.

    Service Portal users can change the value only if their Service Portal role has the required permission.

  9. On the Configure Attribute page, choose one of:
    1. Fixed Requirement to create a placement attribute that's either required or not required. Backup and PCI compliance are good examples of fixed requirement capabilities.
    2. Selectable Values to create a placement attribute with one or more values that you specify. For example, you can create a placement attribute called Licensing with a single value, Oracle. Or, you can create a placement attribute called Deployment Environment, with values Private Cloud and Public Cloud.
  10. If you chose Selectable Values in the previous step, configure the allowed values.

    List Type

    Sublist Type

    1. Enter a comma-separated list of allowed values for the attribute and click Add. The maximum number of characters for each value is 100.
    2. or

      Enter each value separately and click Add.

    3. Use the Move Up and Move Down buttons to arrange the allowed values.
    4. Click Finish.
    1. For each value of the parent attribute, enter a comma-separated list of allowed values for the sublist attribute.
    2. Click a value in the list and enter values in the text field, then click Add.
    3. Click another value in the list and enter values for it, and click Add.

      You can also use the Move Up and Move Down buttons to arrange the allowed values in the tree.

    4. Click Finish.

What's next? Add placement attribute values to deployment destinations and published services, as described in the following sections.

Placement attributes can be managed from two locations:

  • Configuration > Self-Service > Placement tab. This view also shows the number of destinations and services referencing each placement attribute.
  • Configuration > Custom Attributes page. A value of Yes in the Placement column indicates a placement attribute.

Assigning placement attributes to destinations and services

To ensure that services will be assigned to the best available destination, you must assign placement attributes to both your deployment destinations and published services:

  • When you assign a placement attribute value to a deployment destination, you're identifying the capabilities of that destination.
  • When you assign a placement attribute value to a published service, you're identifying the requirements of that published service.

Therefore, when you assign placement attributes to both destinations and services, you're ensuring that you will get the best match.

Assigning placement capabilities to deployment destinations

Access through:

Configuration > Self-Service

Available to:

Commander Role of Superuser and Enterprise Admin

Administrator and All Operator Levels of Access Rights

To assign placement attribute values to a deployment destination:

  1. Click the Provisioning tab.
  2. In the Automatic Deployment Placement area, select a destination from the tree and click Edit.
  3. In the Edit Automated Deployment Placement wizard, go to the Intelligent Placement page.
  4. Click Edit Placement Attributes.
  5. In the Edit Placement Attributes dialog, move any attribute values that are provided by this destination to the Provided area, then click OK to close the dialog.
  6. Click Next and then Finish to apply your changes.

Assigning placement requirements for published services

Access through:

Configuration > Self-Service

Available to:

Commander Role of Superuser and Enterprise Admin

To assign placement attribute values to a published service:

  1. Click the Catalog tab.
  2. Select a service and click Edit.
  3. Go the Intelligent Placement page, and click Edit Placement Attributes.
  4. In the Edit Placement Attributes dialog, move any attribute values that are required for this service to the Required area, then click OK to close the dialog.
  5. Click OK to close the Edit Placement Attributes dialog.
  6. For a placement attribute with selectable values, use the Up and Down arrow buttons to order the attribute values by preference.

    For example, if you prefer to deploy a service in a private cloud, but you're willing to deploy the service in a public cloud if the requester has insufficient quota in a private cloud, make sure the "Private Cloud" appears in the list before "Public Cloud".

  7. Click Next and then Finish to apply your changes.

Enabling requesters to specify new service placement requirements

If your users require input in placement decisions, you can enable them to select values for placement attributes when requesting a service.

Notes:  

  • You can also enable users to select a destination by adding the Destination form element to the request form.
  • Placement attributes are service-level attributes and must be added to service-level forms. Placement attributes can't be added to blueprint forms. Because service-level forms are assigned to users, adding a placement attribute to a form means that it's displayed whenever a user requests any service.

Access through:

Configuration > Self-Service

Available to:

Commander Role of Superuser and Enterprise Admin

To add a placement attribute to a service request form:

  1. Click the Forms tab.
  2. In the Form Library, select a form in the Service Forms list.
  3. The form's elements appear in the center pane.

  4. In the Toolbox, click Custom/Placement Attribute.
  5. The Custom/Placement Attribute form element is added to the form.

  6. Select a placement attribute from the Custom/Placement Attribute drop-down list.
  7. Note: The (Placement) suffix is used to distinguish placement attributes from custom attributes.

  8. If you want this to be a mandatory selection, enable Required.
  9. Click OK.

Changing custom attributes into placement attributes

If you have a list-type custom attribute that you would like to use for Intelligent Placement, you can change it into a placement attribute. Any sublist attributes are also changed into placement attributes.

Access through:

Configuration > Custom Attributes

Available to:

Commander Role of Superuser and Enterprise Admin

To change a custom attribute into a placement attribute:

  1. On the Custom Attributes page, locate a list-type custom attribute.
  2. Note: If an attribute isn't currently used for placement, the value in the Placement column is No.

  3. Select the attribute and click Edit.
  4. On the Define Attribute page, enable the Placement Attribute option.
  5. Click Next and Finish.

Changing placement attributes into custom attributes

You can change a placement attribute into a regular custom attribute. You may want to do this if you no longer want to use the placement attribute for Intelligent Placement, but you want to keep it as a custom attribute.

When you change the placement attribute, any sublist attributes are also changed into custom attributes.

Access through:

Configuration > Self-Service

Available to:

Commander Role of Superuser and Enterprise Admin

To change a placement attribute into a custom attribute:

  1. Click the Placement tab.
  2. On the Placement page, select the attribute and click Edit.
  3. On the Define Attribute page, disable the Placement Attribute option.
  4. Click Next and Finish.

Deleting placement attributes

Access through:

Configuration > Self-Service

Available to:

Commander Role of Superuser and Enterprise Admin

Tip: Before you delete a placement attribute, check what services and destinations refer to it — select a placement attribute to view its details on the right; all services and destinations that refer to it are listed in the Details pane.

To delete a placement attribute:

  1. Click the Placement tab.
  2. On the Placement page, select a placement attribute in the list and click Delete.
  3. Click OK to confirm the deletion.
  4. If values for this placement attribute were added to a published service or a deployment destination, these references are removed when you delete the placement attribute.