Service modeling with 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.