Software Artifact & Service Discovery

Automated transparency is the starting point for Value Stream Optimization

Development speed and ingenuity can be best achieved by empowering autonomous teams. But in fast-scaling development organizations and service landscapes, increasing complexity can quickly become a burden. Therefore, managing DevOps complexity is critical to driving development efficiency and software reliability.

📘

Complexity around modern software cannot be handled without automation

Cloud computing, microservices, APIs, small empowered teams & the advance of no-code / low-code introduces a highly dynamic landscape. Instead of wasting tedious time with manual processes or fire fighting, automating the documentation of developed software and dependencies frees time & helps product leaders to increase the maturity of their engineering organization.

👍

How VSM can help

VSM ships with a well-established out-of-the-box Data Model for Product IT, fueled by ready-to-use & extensible Integrations into Business, Development & Operations. Easy to configurable collaboration functionality like the Portals can be used to provide tailor-made catalogues for various stakeholders, while our Reports helps product leaders to get a quick overview. All discovered artifacts can be used in Diagrams as well.

What's in there for me?

As a member of a product team: Save time by automated documentation, get fast access to information & people by a well-maintained knowledge base.

As a product leader: Get a big picture of Teams & Technologies in your organization, help teams to streamline governance & foster knowledge exchange

As an enterprise architect: Automate the intake of self-developed software to boost governance (e.g. am I allowed to use a Cloud Service in this region) & technology standardization use cases.

As an engineering leader: Facilitate new team members onboarding by providing them with a centralized knowledge base while promoting reusability of existing software components.

Example - Tangible outcomes

24322432

A self-service portal for all your developed software to enable fast information access - see Portals

24322432

A browsable overview for all of your teams - see Inventory

24322432

A knowledge graph that enables you to navigate dependencies

What do I need?

Buy-in from product leadership (at least in your sub-organization) to boost transparency & knowledge sharing based on a central catalog

Access to at least one of the systems described at Discovery - Overview. We highly recommend starting with out-of-the-box integration to show results fast.

❗️

Don't shoot the messenger

Transparency can be painful. Reinsure yourself that you have the necessary buy-in, and be prepared to learn that establishing central standard might be tedious - yet, it's the base for every following optimization

How do I get there?

👍

Make sure to try it yourself before continuing

It takes only a few minutes to try it yourself - make sure to have an overview of the system before moving on.

In the following, we will show a high-level walkthrough based on a Github connection - make sure to read the User Guides to understand details.

To create an inventory of your services and the corresponding responsibilities, you start setting up a connection to your GitHub organization and read out all self-developed services based on your repositories' names and descriptions. If you use team entities in GitHub you can understand the responsibilities through the assigned teams or you can ask your developers to create GitHub topics with the team name, such as team-<team-name>.

Our out-of-the-box repository integration will do all the heavy lifting, all you need to provide is an API token. Learn more about our GitHub Repository Integration.

📘

Not using GitHub?

Discover your services and responsibilities with our out-of-the-box CI/CD or Public Cloud integrations.

Surfacing microservices and team responsibilities

Based on the Microservice Fact Sheet and the related Team Fact Sheet you can already understand who is owning which services. If you define a Domain-Model or Products in your organization you can map both Domain and Product Fact Sheets to your Microservice Fact Sheet to understand: Which Product/Domain is supported by what services and who owns those?

30983098

Visualize service, domain, and team relationships in Matrix Reports

Based on automation, views like this service maintain accurate overviews and provide developers with a central knowledge base to look up service-related information and navigate your service landscape.

31043104

Provide table views to look up service data

Enriching services with deployments & dependencies

Going into more depth of your service landscape, you can now provide additional information on how those services are being developed and deployed. This information is stored on the Deployment Fact Sheet to understand how a particular service is built and deployed at a specific point in time.

Both the Deployment and Library Fact Sheet are populated automatically through our CI/CD integration. You can leverage one of our native plugins for Jenkins, GitHub Actions or Azure Pipelines or hook any other pipeline up to our CI/CD API.

📘

Need more data? Customize our CI/CD integration

The CI/CD integration can also reinforce or even replace the aforementioned repository integration (e.g. with GitHub). Through a yaml manifest we allow you to add a variety of additional information about your microservices and team responsibilities.

VSM shows you the current live deployment while also allowing you to go back and see historical deployments. With this mechanism, you can understand what software libraries were introduced to a certain service at a certain point in time and what dependencies are currently deployed in production.

31043104

Navigate along dependencies with the Relations Explorer

Understanding service infrastructure & architecture drift

To make the picture on our microservice catalog complete we also want to visualize how our services are running on production infrastructure. Complex pipeline setups with multiple developments and test stages can become overwhelming and it is easy to lose track of what build of your service is actually currently running in production and how they are configured.

Through our Kubernetes integration, we provide you a simple mechanism to understand what version of your service is running on which cluster. We deploy a simple agent to your cluster that scans your K8s objects and sends the information directly to VSM.

📘

No K8s? No problem!

With our existing customers, we have also worked on visualizing more traditional infrastructure setups. We are happy to support you!

The Compute Environment Fact Sheet displays your Clusters with their configuration and links them to the Fact Sheets of the microservices that they run. Additionally we add detailed information about your K8s configurations.

15851585

Understand what clusters currently run your microservice

Additionally we create a Deployment Fact Sheet for any K8s deployment that we track on your cluster. By holding this against the Deployment Fact Sheet from your CICD build & deployment we can detect any infrastructure drift that might occur.