Modeling services by using blueprints
Before you begin
Before you create a service model, determine whether you want to use service blueprints in the service model that you can use while adding dynamic content to the services. If yes, verify whether the out-of-the-box service blueprints meet your business requirements. If not, create your own blueprints. For more information, see Service-modeling-with-blueprints.
Regular expressions in Blueprints
Blueprints
Blueprints are predefined service templates or building blocks to be used by organizations for defining services when creating service models. Blueprints visually map out the steps that make up a service process, and make it simpler to design a new service, or improve an existing service. Blueprints play a significant role in managing service operations, service design, and service positioning.
Blueprints in BMC Discovery include nodes that can be defined to have static or dynamic rules. Each blueprint contains one or more nodes of the same kind, interconnected to define a relationship.
Service model design considerations
Building a service model can be a daunting task. When you begin with the process, it might be helpful to identify one critical Business Service in an application, identify dependencies of the service, and build a complete service model for that part of the application.
Understanding how various nodes in a Business Service interact with each other helps you build other related services and design your service model. In addition, it helps you understand how services depend on each other, which in turn helps you decide the hierarchy of services in the service model.
For example, if you are in the retail business, one of the applications in your organization can be the order processing application. This application consists of several services. From the list of services, you might identify that your billing and payment service depends on the database that stores information about the products offered to the customers through the application. The billing and payment service also depends on the network that enables communication between various nodes. Also, the database and network are not dependent on each other. Therefore, you might want to build a separate service for each of them. Because the billing and payment service is impacted by the database and network services, you can add the database and network as the child services of the billing and payment service.
The following figure shows an example of a service model with a top-level service, Order Processing with its child services, which includes the Billing & Payment service. The Billing & Payment service is further dependent on its child services. The arrow lines between the services represent the direction of the impact relationship between services. For example, the Billing & Payment service is impacted by the changes in the Retail-AWS, Database, Mainframe, and Network services.
Based on your organization's need, you can define a blueprint to:
- Start with an application node, such as Namespace, and have the rest of the service contain one or more applications and infrastructure nodes. You can then use these applications and infrastructure nodes to create an application to infrastructure map.
- Start with an infrastructure node, such as Host, and have the rest of the service contain one or more applications and infrastructure nodes. You can then use these infrastructure and application nodes to create an infrastructure to application map.
Blueprints in BMC Discovery
Global flags in Python are meant to be placed at the start of regular expressions. Earlier versions of Python issued warnings for misplaced flags. BMC Discovery now uses Python 3.11, in which misplaced flags are an error. TKU patterns have been updated for this change, and the TPL compiler now warns if flags are misplaced in your custom patterns. However, regex searches with misplaced flags fail silently. In Blueprints, the searches fail to match and, without notification, your Blueprints will be empty, or will not contain what you expect.
A simple example of a misplaced flag is: '^(?i)Linux' which can be corrected to '(?i)^Linux'
Similarly: '/Common/(?i)((FV|dl)515sy):2121' can be corrected to '(?i)/Common/((FV|dl)515sy):2121'
An example from the EMC ControlCenter StorageScope pattern is: '^(?i)EMC ControlCenter \d(?:\.\d)*' which has been corrected in the TKU to '(?i)^EMC ControlCenter \d(?:\.\d)*'
Nodes and node kinds
- A node is an object that represents an entity in the environment discovered by BMC Discovery and stored in the datastore. Nodes can be connected to other nodes by using relationships.
- A node kind is the type of a node, such as a Host or Software Instance. The default set of nodes and their named attributes and relationships are defined in the BMC Discovery taxonomy.
To create a service model
You create a service model on the Blueprint Service Editor page.
- Perform the following steps to access the Blueprint Service Editor page:
- Click Model > Services & Applications.
- On the Services & Applications page, click Create/Import.
- Select the Create With Blueprints tab.
- Click Blueprint Service Editor.
The Blueprint Service Editor page is displayed.
- Click New Business Service and add the following details:
- Specify the service name.
- (Version 23.3.01 and later) Assign a kind to the service.
By default, a service is created as a Business Service. You can also choose to create a Technical Service or a Business Application by using the Kind dropdown.
For more information about service kinds, see Service-and-application-modeling. - (Optional) Click Add Dynamic content to add dynamic service components like blueprints to the service.
- (Optional) Click Add Static content to add static service components such as nodes to the service.
- (Optional) View content.
- Save and close.
- (Optional) Click a service in the Add Existing Service section to add an existing service to the service model. Repeat this step to add more new services.
- (Optional) Click + Add Service to add a new service to the service model. Repeat this step to add more new services.
- (Optional) Flip the relationship (connecting arrow) direction if required. Right-click and select Flip direction. The arrow represents the impact direction.
- (Optional) Remove an element from the hierarchy by using one of the following options:
- Hover over the service for which you want to remove child or parent services, and then right-click and select Remove element from hierarchy to delete the element.
- Hover over the arrow between two elements, and then right-click and select Remove element from the hierarchy to delete the element.
- Click Save and close.
To add dynamic content to a service model
- Click Add Dynamic content.
- Select a Blueprint from the list.
Select one or more node kinds in the Blueprint Configuration section or any other custom configuration. For more information about using regular expressions to search, see Logical and arithmetic expressions.
- Add the configuration and save.
For more information on service blueprints, see Managing-blueprint-definitions.
To add static content to a service model
- Click Add Static content.
- Click Add Nodes to Service to add nodes from the list.
- (Optional) Perform one of the following actions:
- To include all related objects with the selected nodes, click Add (inc. related).
- To add only the selected nodes without related objects, click Add.
- Click Close.
The service model is displayed. - (Optional) Change the display to Organic or Hierarchic view.
- Save the changes.
To view the service details
Once you have saved the service model, it is available to view outside the Blueprint Service Editor page.
- Click Explore > Data.
- In the Services & Applications pane, select Business Services.
- Click the Business Service that you want to view.
The Business Service is displayed in a visualization, and the Business Service details are displayed beneath the model view.
To view the service on the Blueprint Service Editor page
From the visualization, return to the Blueprint Service Editor page. You might, for example want to make revisions to the blueprint.
- Click Explore > Data.
- From the Services & Applications pane, select Business Services.
- Click the Business Service that you want to view.
The Business Service is displayed in the modeling window. - Click Revise Model.
The Business Service is now displayed in the Blueprint Service Editor page.
To edit a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
The Define Service panel is displayed. - In the Define Service panel, you can modify the service name or:
- (Optional) Click Add Dynamic content to add more components to the service or click Edit
to modify an existing dynamic service component.
(Optional) Click Add Static content to add or Edit Static content to modify the static service components such as nodes, to the service.
- Save and close.
- (Optional) Click Add Dynamic content to add more components to the service or click Edit
- (Optional) Click a service in the Add Existing Service section to add an existing service to the service model. You can repeat this step to add more new services.
Drag from the new service to an existing service or from an existing service to the new one to create a connection. The connection is directional, with impact flow coming from the first service to the second service. You can flip the direction of the connection. - (Optional) Click + Add Service to add a new service as part of the service model and add dynamic or static content as described in step 3. You can repeat this step to add more new services.
Drag from the new service to an existing service or from an existing service to the new one to create a connection. The connection is directional, with impact flow coming from the first service to the second service. You can flip the direction of the connection. - (Optional) Flip the relationship (connecting arrow) direction if required. Right-click and select Flip direction. The arrow represents the impact direction.
- (Optional) Remove an element from the hierarchy by using one of the following options:
- Hover over a service for which you want to remove child or parent services, right-click, and select Remove element from hierarchy to delete the element.
- Hover over the arrow between two elements, right-click, and select Remove element from hierarchy to delete the element.
- Save and close.
To edit the dynamic content of a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
The Define Service panel is displayed. - In the Define Service pane click Edit
and modify an existing dynamic service component.
- You can change the “Blueprint Configuration” to another node kind.
- You cannot change the blueprint type. You must delete the existing blueprint and select a new one.
- Click Save to add the component.
- (Optional) Repeat the steps to add more parent or child services to the model.
To edit the static content of a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
- Click the Business Service icon in the editor.
The Define Service panel is displayed. - Click Edit Static content (n Nodes) in the Static Composition section. n is the number of nodes in the static content.
- To add nodes from the list, click Add Nodes to Service.
- Click Add (incl. related) to include all the related objects with the selected nodes, or click Add to add just the selected nodes without related objects.
- Click Close to close the editor view.
The service model is displayed. - (Optional) Change the display to an Organic or Hierarchic view.
- Save the changes.
- (Optional) Repeat the steps to add more parent or child services to the model.
To delete a service model
- Select the model that you want to delete in the modeling window.
- From the Actions menu, select Delete Model.
You are prompted for confirmation.
To delete dynamic content from a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
- Click the Business Service icon in the editor.
The Define Service panel is displayed. - In the Dynamic composition section, click
to delete dynamic content.
- (Optional) Repeat the deletion to remove additional dynamic content.
- Save the changes.
- (Optional) Repeat steps 1 to 3 to delete dynamic content from other services.
To delete nodes from static content in a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
- Click the business service icon in the editor.
The Define Service panel is displayed. - In the Static composition section, click Edit Static content.
- Select a node from the hierarchy, right-click, and select Delete.
- (Optional) Repeat the deletion for any other nodes.
- Save the changes.
To add a child or parent service to a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
- Hover over a service for which you want to add child or parent services, right-click, and select Add Child Service or Add Parent Service.
- (Optional) Repeat the steps for each service in the model to which you want to add a parent or child service.
To view a child or parent service of a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
- Click the business service icon in the editor.
The Define Service panel is displayed. - In the Dependencies section, click one of the dependencies to view the service name and node kinds for the parent and child services.
To view the content of a service model
- Select the Business Service on the Blueprint Service Editor page. For more information, see To view the service on the Blueprint Service Editor page.
- Click the business service icon in the editor.
The Define Service panel is displayed. - At the bottom of the panel, click View Content,
, and then one of the options:
- Direct Connections – shows the service model for the selected Business Service.
- All content – where you have selected multiple business services, select the parent and click All content to view the service model for all the selected business services.