Categorizing Applications Using the TIME Framework with Tags

Set up an automation to update tags on your Applications and measure their business value using the TIME model.

In this guide, you will learn how to update tags on Applications using Azure Functions. Tags reflect the elements of the TIME framework, which allows you to map and measure the business value of your Applications.

Getting Started with Azure Functions

Overview

What is Azure Functions?

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.

2872

Get Function URL

Connect LeanIX to Azure Function

  • Once you have created an Azure Function from the above section you can create a Webhook Subscription in LeanIX.
  • Updated the Target URL in the above as per the one available from Azure Function created above.
  • You can use the Callback in LeanIX to determine what you want to send to Azure Function.

Set up an Azure Function for Application Tags

Overview of the TIME Framework

TIME 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 on the TIME Model please see the User documentation.

Initial Setup

Clone LeanIX Public Scripts

  1. Clone the LeanIX repository with scripts.
  2. 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 : "Time Model"

  • Add the specific tags to the Tag group : invest, eliminate, tolerate and migrate.

Set up a Webhook Subscription

To learn more about webhooks, see Webhooks.

  1. Create a webhook subscription for the events: "FACT_SHEET_CREATED" and "FACT_SHEET_UPDATED".
  2. Set type to "PUSH".
  3. Paste the invoke url of your Azure function into the target url field.
  4. Grab the callback function from callback.js and paste it to the callback field.
  5. Select "Ignore Errors".
  6. Save.
1061

Webhook Subscription

Set Azure Environment Variables

  1. Create an environment variable in your Azure portal called "HOST " and set it to your host (e.g. app.leanix.net)
  2. 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 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 "Functional Fit" and "Technical Fit", see the impact on the Tag : "Time Model".