Creating blueprint definitions


Service blueprints are predefined service templates or building blocks that can be readily used by organizations to define dynamic service models. To learn more about blueprints, see Service-modeling-with-blueprints.

BMC Discovery provides default blueprints, which you can use to create your own blueprints. In addition, you can create blueprints from scratch. Before you create a blueprint from scratch, explore the out-of-the-box blueprints that are shipped with BMC Discovery and verify whether they meet your business requirements. When creating blueprints from scratch, you can either use the available nodes and their existing relationships or use the available node kinds and establish relationships between them.

You can create a blueprint in one of the following ways:

  • By using the available nodes and their relationships: Use this method if you have limited knowledge of the nodes in the infrastructure for which you create the blueprint.
  • By using available nodes and establishing relationships between them: Use this method if you have complete knowledge of the nodes in the infrastructure for which you create the blueprint.

Before you begin

Before you start creating a blueprint, perform the following tasks:

  • Discover the relevant infrastructure. 
  • Understand the nodes and their relationships that are present in the infrastructure for which you want to create a blueprint. For example, if you want to create a blueprint for a Kubernetes-based application, understand the namespaces, clusters, deployments, and their relationships.
  • Identify the starting node for a blueprint.

Sample blueprint for the Kubernetes applications

The following figure illustrates a sample blueprint, Kubernetes Infrastructure Blueprint, which represents the Kubernetes infrastructure. You can use the blueprint to create business services to monitor Kubernetes applications, for example, a Train Ticket Management System., an application that might be used to manage train reservations. 

SampleBlueprint.png

The sample blueprint for the Kubernetes applications contains the following information:

  • Start node: This is a Namespace node.
  • Default rule on the start node: Contains the following information:
    • Default filter criteria set on the start node: Indicates that the name of the namespace is added as a variable. This variable provides you the flexibility to specify the namespace name while creating an application or service by using the blueprint. The model is populated according to the specified name.
    • The content of the namespace is required and must be included while creating an application or service by using this blueprint.
  • Link rules: Indicate the relationship rules between different nodes. For example, the Collection rule between the Namespace and Deployment nodes indicates that only those deployments that are members of the namespace are considered when an application or service is created by using the blueprint.
  • Traversal path and connected nodes: Associated clusters, deployments, software pods, and hosts.

Use the steps described in the following procedure to create this blueprint.

To create a blueprint by using the available nodes and their relationships

  1. On the Manage Blueprint Definitions page, click Create Blueprint.
  2. Specify the name, description (optional), and provider (domain) details for the blueprint.
    For example, Kubernetes Infrastructure Blueprint, v1, itbiz.com.
    CreateNewBlueprint.png
  3. In the Select Nodes section, perform the following steps:
    1. Click + Add Nodes.
      The Add Nodes page displays a list of all available nodes for selection.
    2. Filter and add the required nodes by performing one of the following steps:
      • Type the name of the nodes (minimum three characters) that you are want to add.
      • Select another category and subcategory.
        For example, to add a namespace node, select the Cloud & Container Orchestration category and the Namespace subcategory.
    3. Scroll down to see the Include Related nodes check box.
    4. Select one or more nodes. Select Include related Nodes and Add to add the node with all the related elements or click Add to add only the selected node or nodes.
      When you select only one node, the check box is selected by default, which indicates that all the related nodes of the selected node will also be added.

      AddNodes.png

    5. Click Close to close the Add Nodes page.
    6. (Optional) To undo the selected nodes and start over, click Clear Content and perform steps 3 a to 3 c again.
    7. (Optional) Set the service topology display option as either Organic or Hierarchic (default).
  4. Click Next Step.
    The blueprint is created with a default filter with the Name attribute added to the start node. 

    Important

    The newly created blueprints are disabled by default. For information about enabling a blueprint, see To enable a blueprint.

    NewBlueprInt.png

  5. Click Next Step.
    Based on the selected node (cattle-fleet-system) in the previous step, its node kind (Namespace) is displayed as the start node. Because you have selected the Include Related nodes check box in a previous step, its relationship with other nodes, is also displayed.
    In addition, a default rule is added to the start node and link rules are added between different nodes.

    • Default rule on the start node: Contains the following information:
      • Default filter criteria set on the start node: Indicates that the name of the namespace is added as a variable. This variable provides you the flexibility to specify the namespace name while creating an applklication or service by using the blueprint. The model is populated according to the specified name.
      • The content of the namespace is required and must be included while creating an application or service by using this blueprint.
    • Link rules: Indicate the relationship rules between different nodes. For example, the Collection rule between the Namespace and Deployment nodes indicates that only those deployments that are members of the namespace are considered when an application or service is created by using the blueprint.
  1. (Optional) Edit the default rule, or add more node kinds, node rules, and link rules if this blueprint does not meet your blueprint requirements.
    For information about adding kinds, node rules, and link rules, see Define Node rules for the start node and other nodes.
  1. Click Next Step to preview the blueprint.
  2. Select the name of the namespace (for example, cattle-fleet-system) in the right pane.
    The left pane shows the blueprint preview according to the selected namespace. By default, nodes of the same kind are not grouped. To group nodes of the same kind, use Enable grouping by Node Kind EnableGrouping.png or Disable grouping by Node Kind DisableGrouping.png.
  3. Click Save to save the blueprint.
    The blueprint is added to the list of blueprints available in BMC Discovery. By default, the newly created blueprint is not displayed on the Manage Blueprint Definitions page.

    Important

    By default, the newly created service blueprint is disabled. To create a service by using a blueprint, you need to enable it. For information about enabling a blueprint, see To enable a blueprint.

When you create a service by using the Kubernetes Infrastructure Blueprint, the service topology is populated according to the namespace you provide as input.

For more information about creating a service by using a blueprint, see Modeling-services-by-using-blueprints.

Sample blueprint for the AppDdynamics applications 

The following figure illustrates a sample blueprint, AppDynamics Application Infrastructure, which represents the AppDynamics application infrastructure. You can use the blueprint to create business services to monitor AppDynamics applications, for example, Retail Outlet. This application is used to manage outlets in a retail chain of restaurants

BlueprintsSampleAppD_Final_24201_Sample.png

 The sample blueprint for the AppDynamics applications contains the following information:

  • Start node: Is a node of Software Cluster type.
  • Default node rule on the start node: Contains the following information:
    • Default filter criteria set on the start node: Indicates that the name of the software cluster is added as a variable. This variable provides you the flexibility to specify the cluster name while creating a service by using the blueprint. According to the specified name, the entire service topology is populated.
    • Content of the software cluster is required and must be included while creating a service by using this blueprint.
  • Link rules: Indicate the relationship rules between different nodes.
  • Traversal path and connected nodes: Are associated software clusters, software components, software instances, and so on.

Use the steps described in the following procedure to create this blueprint.

To create a blueprint from the available node kinds and establishing relationships between them

Use the node kinds and establish relationships between them to create a blueprint, AppDynamics Application Infrastructure, which is described in the previous section.

Task 1: Provide blueprint details

  1. On the Manage Blueprint Definitions page, click Create Blueprint..
  2. Specify the name, description, and provider (domain) details for the blueprint.
    For example, AppDynamics Application Infrastructure, V1itbiz.com.

Task 2: Add node kinds and establish relationships between them

  1. Click Next Step to skip the Add Nodes step and start creating the blueprint by adding node kinds.
  2. Add the node kinds by clicking them in the Available Node Kinds panel. Use the Filter to help find the node kind that you require.

    CreateNewBlueprintNodes.png

  3. Establish relationships between them by dragging one node kind towards another.
    For example, add Software Cluster, Software Instance, and Software Component. For the list of node kinds and relationships that you can add to a blueprint, see Supported Node Kinds and relationships.

    DragDrop.png

    DragDropEnd.png

    Important

    You might see error icons above node kinds indicating that there are multiple start nodes. These errors are resolved automatically after you establish relationships between nodes in the next step.

  4. After establishing relationships, make sure that there is only one start node.
    Multiple start nodes are indicated by an error icon above the possible start nodes.
  5. (Optional) Assign any other node as the start node.
    For example, if you want to start with the Software Cluster node, you can assign it as the start node.
    1. Select the node kind that you want to assign as the start node.
    2. On the Define Node Rule page, click Specify Blueprint Start Node Kind.
      When you assign any other node kind as the start node, the blueprint is automatically re-computed.
  6. To change the list view, from the Available node Kinds section, select view as icons view_as_icons.pngor view as type view_as_types.png.
  7. (Optional) Set the blueprint display option as either Organic or Hierarchic (default).


Task 3: Define Node rules for the start node and other nodes

  1. Define the node rules for the start node.
    1. Click the start node.
      On the Define Node Rule page, the default filter criterion shows the Name attribute of a node added as a variable. When creating a service by using this blueprint, you need to provide this attribute as the input. In the sample blueprint, the name of a software cluster is set as a variable.
    2. (Optional) Change the node kind from the list by selecting one or more node kinds.
    3. Include (default) or exclude the content of a node kind.
      You can exclude the content of a node kind and keep only the related nodes as part of a blueprint.
    4. Make sure that the Required Content check box is selected to indicate that content (nodes) must exist for the start node.
    5. (Optional) Edit the default filter criterion:
      1. On the Define Node Rule page, select Edit from Action.
      2. On the Define Filter page, select Edit from Action
      3. Clear the Set as variable check box if you don't want to set the default attribute, Name, as a variable.
        The filter criterion of a start node must have at least one attribute set as a variable. You can set up to three attributes as variables in a blueprint, including one mandatory variable for the start node. 
      4. Update the message in the Define user prompt message text box if needed.
        For example, replace the existing message with the following message: Select the Cluster App name
      5. Select any other node attribute for the default filter criterion:
        • Select a named node attribute.
        • Select an extended node attribute.
          To view extended node attributes, from Actions action_menu.png, select Use Extended Attributes.
    6. (Optional) Add more filter criteria to the start node:
      1. On the Define Node Rule page, select Edit from Action.
      2. On the Define Filter page, select Edit from Action
      3. Click Add New Filter Criteria.
      4. To set a node attribute as a variable, click Set as variable and update the message in the Define user prompt message text box if needed.
        You can set up to three attributes as variables in a blueprint, including one mandatory variable for the start node. When creating a service by using this blueprint, you need to provide these attributes as inputs.
      5. (Optional) If you don't want to set a node attribute as a variable, perform the following steps to select a node attribute and its value:
        1. Select a named node attribute, for example, key.
          To view extended node attributes, from Actions action_menu.png, select Use Extended Attributes.



        1. Select the node attribute value from the right pane or enter a regular expression. 
          For example, enter APPDYNAMICS.* as 
          the regular expression so that when you create a service by using the blueprint, the service topology contains only the clusters whose key starts with APPDYNAMICS.*.
    1. Click Save and Close.
    2. Save and close the Define node Rule page.
  1. Define the node rules for other nodes.
    1. Select the node kind (for example, Software Cluster) for which you want to define the node rules. 
    2. (Optional) On the Define Node Rule page, change the node kind from the list by selecting one or more node kinds. 
    3. Include (default) or exclude the content of a node kind.
      You can exclude the content of a node kind and keep only the related nodes as part of a blueprint.
    4. Select the Required Content check box to indicate that the content must exist for the node .
    5. To add a filter, click Add New Filter.
    6. On the Define Filter page, click Add New Filter Criteria.
    7. To set a node attribute as a variable, click Set as variable and update the message in the Define user prompt message text box if needed.
      You can set up to three attributes as variables in a blueprint, including one mandatory variable for the start node. When creating a service by using this blueprint, you need to provide these attributes as inputs.
    8. Optional) If you don't want to set a node attribute as a variable, perform the following steps to select a node attribute and its value:
      1. Select a named node attribute, for example, key.
        To view extended node attributes, from Actions action_menu.png, select Use Extended Attributes.
      2. Select the node attribute value from the right pane or enter a regular expression.
        For example, if you want to filter the AppDynamics applications only with the names Pricing and Inventory, enter Pricing and then Inventory in the Value field and select them.
  1. Click Save and Close.
    The Define Node Rule page shows the filter criterion.
  2. Save and close the Define Node Rule page.
    The node shows the filter icon.
  3. (Optional) Define rules on the relationships between node kinds.
    For example, add the Communication rule between Software Cluster and Software Component. This rule indicates that the software cluster must be communicating with the software component.
    1. Click the link between the node kinds.
    2. On the Define link page, select Filter by Kind.
    3. From the relationship type list, select Communucation.
  4. Similarly, add the Hosted Software rule between Virtual Machine and Host, as shown in the following image:
    BlueprintsSampleAppD_Final_24201.png
  5. If you observe any errors on any of the nodes kinds, resolve them.
    For more information, see To resolve errors when selecting a node kind

Task 4: Preview and save the blueprint

  1. Click Next step.
  2. Select the name of the cluster (for example, Retail-Outlet) in the right pane.
  3. If you have added attributes as variables in the filter criterion of other nodes, select the attribute values in each step in the right pane.
    The left pane shows the blueprint preview according to the selected cluster name. By default, nodes of the same kind are grouped.
  4. (Optional) Use Disable grouping by Node Kind DisableGrouping.pngto ungroup the nodes.
  1. Click Save to save the blueprint.
    The blueprint is added to the list of blueprints available in BMC Discovery. By default, the newly created blueprint is not displayed on the Service Blueprints page.

    Important

    The newly created blueprints are disabled by default. For information about enabling a blueprint, see To enable a blueprint.

    For more information on viewing the list of blueprints, see To view the blueprints.

To resolve errors when selecting a node kind

While you are creating or editing a blueprint, you might encounter an error. The error icon is displayed above the node kind that you select. 
Perform the following steps to resolve the error:

MultipleStartNodeError.png

Hover over the node kind for the tips and based on the error tips, do one of the following actions:

  • Ensure that there are no unconnected nodes. There must be only one starting node in the model.
  • If there is only one starting node with an error icon, do the following steps:
    1. Click the node to view the Define Node Rule page.
    2. Either select Add New Filter > Add New Filter Criteria and add filter criteria or select Edit > Edit and edit filter criteria.
      You can add only one filter to a root node and a maximum of three filters to a child node.
      1. Click Set as variable and type a message in the Define user prompt message text box.
      2. Select a named attribute.
      3. (Optional) Select an extended attribute:
        1. From the Actions menuaction_menu.png, select Use Extended Attributes.
        2. Select extended attributes from the displayed list.
    3. Click Save and close.
    4. Click Save and close on the Define Node Rule page. The error message on the node disappears.

Actions available on service blueprints

On the Service blueprints page, click the Action menu Action Menu.png to perform actions based on your requirements. 

Action

Notes

View 

  • By default, only enabled blueprints are displayed. To view the list of both enabled and disabled blueprints, click Show Disabled.
  • A blueprint that is created in

    BMC Helix AIOps

    appears in BMC Discovery with the suffix RULES_TEMPLATE.

Enable

  • By default, only enabled blueprints are displayed. To view disabled blueprints, click Show Disabled.
  • Before you use a blueprint for a service model, enable the blueprint.

Disable

  • A blueprint that is part of an existing service cannot be disabled.
  • Disabling a blueprint makes it unavailable for a service model.

Create new Blueprint from

copy of the existing blueprint with the suffix, (copy) is created.

Edit

Edit a blueprint.

List related Services 

The services that are currently using a blueprint are displayed.

Export

The blueprint is exported to a JSON file in your default downloads folder.

Best practice
Export the blueprints before you delete them. If you need them later, you can simply import them.

Import

  • You can only import files that have a .json extension.
  • The maximum file size that you can import is 1 MB.
  • Blueprints are imported in a disabled state. Before you use it for a service model, enable it. 

Delete

You can only delete blueprints that are not part of a service; the Delete option is disabled for a blueprint that is part of a service.

Where to go from here

Once you have created blueprints, you can use them to model your services. For details, see Modeling services by using blueprints.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*