Set up an automation to update tags on your Applications and measure their business value using the Gartner® TIME framework.
In this guide, you will learn how to update tags on Applications using Azure Functions. Tags reflect the elements of the Gartner® TIME framework, which allows you to map and measure the business value of your Applications.
Getting Started with Azure Functions
Overview
As defined by Microsoft, Azure Functions is a serverless solution that allows you to write less code, maintain less infrastructure, and save on costs. Instead of worrying about deploying and maintaining servers, the cloud infrastructure provides all the up-to-date resources needed to keep your applications running.
Azure Functions are triggered by specific events that you define.
Create an Azure Function
You can use one of the below options to create an Azure Function:
Upon creation of the Azure Function you will receive a unique endpoint which can be used to invoke the function and will be used in the Webhooks configuration at a later point. You can also use the link highlighted below to get your Function URL.
Connect SAP LeanIX to Azure Function
- Once you have created an Azure Function from the above section you can create a Webhook Subscription in SAP LeanIX.
- Updated the Target URL in the above as per the one available from Azure Function created above.
- You can use the Callback in SAP LeanIX to determine what you want to send to Azure Function.
Set up an Azure Function for Application Tags
Overview of the Gartner® TIME framework
The Gartner® TIME framework represents a 2x2 quadrant and is an acronym for Tolerate, Invest, Migrate, Eliminate. You can use the setup provided and add your own logic on top in order to implement the specific case where a Tag on Fact Sheet will be updated according to "Functional Fit" and "Technical Fit".
For more information, see Gartner® TIME Framework.
Initial Setup
Clone SAP LeanIX Public Scripts
- Clone the SAP LeanIX repository with scripts.
- Go to the timeModelSync folder.
Create an Azure Function App
There are two options here to create an azure function app on your Azure Environment:
Deploy the Project to Your Environment
func azure functionapp publish timeModelSync
Copy the Invoke URL that is posted in your console after the successful deployment.
Create a Tag Group
Create a tag group with the following tags: invest, eliminate, tolerate, and migrate. To learn how to create tag groups, see Tagging.
Create a Webhook
To learn more about webhooks, see Webhooks.
To create a webhook, follow these steps:
- Create a PUSH webhook for the following events:
FACT_SHEET_CREATED
andFACT_SHEET_UPDATED
. - In the Target URL field, enter the invoke URL of your Azure function.
- In the Callback field, enter the callback function from the
callback.js
file. - Select the Ignore Errors checkbox.
- Click Save.
Set Azure Environment Variables
- Create an environment variable in your Azure portal called "HOST " and set it to your host (e.g. app.leanix.net)
- Paste the following JSON into an environment variable called "TAG_MAPPING" with the correct ids for your workspace.
{
"tolerate": "<tag id>",
"invest": "<tag id>",
"migrate": "<tag id>",
"eliminate": "<tag id>"
}
Recommendation
To save your API token for a live environment SAP LeanIX advises you to use the Microsoft KeyVault. Create a link to the Key Vault from an environment variable called: "DEMO_TOKEN"
Now you are ready to use the Azure Functions and run some tests by changing values of the Functional Fit and Technical Fit. The corresponding tags are assigned to fact sheets.