Service Mapper: Our First Step Towards True Service Management

Applications are IT’s reflection of the business processes a company is automating. Applications are collections of Services which essentially model and deliver specific business processes. A management tool would presumably do quite well then to be able to specifically identify, connect to and model a “Service”. This blog introduces a new capability which is our first step towards service management.

Services are constructed and delivered by their interactions/requests to your microservices. The challenge of monitoring these types of applications is that the structure/design/architecture of the microservices (and thus the Services) are constantly evolving due to your own continuous integration and delivery (CI/CD) processes. Let’s remember, the purpose of monitoring, especially APM, is to help you manage quality of service and subsequently support, deliver and improve the desired business outcome and customer experience.

Instana is very capable at monitoring microservices. Instana automatically detects your microservices, automatically discovers and tracks their changes and brings to your attention any quality issues (Incidents) you should take action on. With the introduction of the Service Mapper capability, Instana now allows you to more precisely align (identify, define, name) and then manage your services.

Service Mapper

Service Mapper enables you to define how Instana should discover your Services. All configuration is applied to the processing of the data in the Instana backend. There is no need to configure the agent at all. All settings are applied after about 30 seconds.

Approach

Services are discovered by analyzing Traces and grouping them. As soon as a Service is discovered Instana will analyze its health and inform you if something needs your attention. To help Instana better align to your architecture you can customize the Service detection. Please note that the data used to discover the Services are the Traces.
Trace

By default we recognize e.g. HTTP Services using the first request path segment – /productsearch/hello would be mapped to the Service “productsearch“.

You change the default behaviour and configure a rule and Instana will group the Traces accordingly. Below is an example how the Service Mapper works.
Service Mapper setting

The detected Service in this example will be called “localhost:84/shop” because the rule gets the Hostname and Request Path and uses these values to detect the Service. If another request would be done on another server a new Service would be discovered.

If you would apply the above rule to the second span in the above example with the values Host=172.17.42.1 and URL=/productsearch the Service would be named: 172.17.42.1/productsearch.

You can also inform Instana how to “name” the identified Service by setting static Service names in rules. Here is another example:
Service Mapper

Following this simple approach, you inform Instana how it should discover your Services. All discovered Services are subsequently automatically monitored!