Getting Started with Middleware Open Source

Table Of Contents

Middleware lets you see DORA Metrics for your teams in a few clicks.

We built Middleware Open Source to enable engineering leaders to build software delivery pipelines that provide predictability to their releases and visibility into the pipeline.

In this blog we will discuss how to build and run Middleware locally and become a 10X Engineering Leader.

Pull Away

The fastest way to get started with middleware is to install docker on your machine and pull the docker image.

If you don't have Docker, download it from here.

Pull the latest Docker Image by typing the following command in your terminal: 

docker run --name middleware \

           -p 3333:3333 \

           -v middleware_postgres_data:/var/lib/postgresql/data \

          -v middleware_keys:/app/keys \

           -d middlewareeng/middleware:latest

docker logs -f middleware

This will pull the latest Middleware docker image and start building the container.

It can take some time to build and once it’s done you can get started with started with Middleware at localhost:3333

Set-up and configure

Middleware syncs data from multiple sources to show you DORA metrics and other insights.

The next step is connecting your code provider. For this you need to go to the integrations page (localhost:3333/integrations) and link the github integration (more integrations coming soon!).

Generate your class GitHub PAT from over here with the scopes mentioned on the UI.

Paste your token in the input box and wait a few minutes.

Once you save your token we start syncing your data like Pull Request, Workflows, Issues etc to a local Postgres database running inside your docker container. All this happens via the flask server used for data ingestion.

Data sync happens periodically to make sure that cached data is always available to calculate the metrics. This means that your experience of using Middleware is always smooth.

Team Creation

While the data is being loaded, it's time to create a team. Add your team name and link git repositories to your team.

Your DORA metrics for the team will be linked to the data from these repositories.

Keys

Visit the DORA Metrics page to view the 4 Key DORA metrics for your team with git based data.

You will be able to see a relative score for each of those metrics provided by dora.dev

Click on see details to get deeper insights on your metrics.

How do we get these metrics ?

You can study in depth about the 4 keys but they depend on 3 models: Pull Request, Incidents, Deployments.

We get the PullRequest data from GitHub or any code provider and transform it into the Database model.

Middleware allows showing DORA Metrics Purely based on Git Data itself.

GitHub Workflows or any other deployment providers can be used to to get Deployment related data. To keep things simple teams can set PR merges to be considered as deployments.

An incident is usually an event which may lead to a service outage or bug. For now we consider Revert PRs as incidents.

DORA metrics can be highly beneficial in a team's growth. You can read this article by Google to get a deeper understanding of how these metrics can be leveraged.

We are open source, feel free to star the repo and open any issues related to enhancements that you would like to see.

To get more insights on your teams and a deeper visibility into DORA, try Middleware Cloud, where we offer more integrations like CircleCi, Zenduty, OpsGenie etc and much more.

Recent on Middleware blog