Notes on Efficiently Navigating Microservices

Posted by Tim R on May 17, 2021

microservice catalogs using

Marc Andreessen, co-founder and general partner at venture capital firm Andreessen Horowitz, announced ten years ago that software would alter (or “eat”) the economic models of traditional industry leaders. 

In 2011, he had enough evidence of disruptive internet-based services and software programming tools to make this prediction: Amazon’s engine and virtual platform, Comcast and Time Warner’s online ecosystem, Spotify’s ascendant streaming solution were a few examples then given. Andreessen correctly saw every business — even those already software-based — threatened by innovative, self-developed digital offerings. 

A decade later, the race between “incumbents and software-powered insurgents” has diversified. Mid- to large-sized companies of every industry seize upon the competitive advantages of building software, and in turn, a de facto standard for development has emerged: cloud-native technology.

This technology is entrenched within today’s business practices and propelled by communities like the Cloud Native Computing Foundation (CNCF). For the estimated 6.5 million cloud-native developers worldwide, the CNCF has codified best practices on DevOps and the use of containers, service meshes, microservices, immutable infrastructure, and declarative APIs. Institutions like this have turned scalability, resilience, and reusability — three pillars of cloud-native application development — into business terms as much as IT value points

Indeed, when cloud-native technology and microservices power digital business capabilities, business stakeholders have a stake in software development activities. System changes impact user experiences, and when accelerating time-to-market, technical concerns such as an API’s scalability, the dependencies between point-to-point connections, and open-source licenses must be well-documented and evaluated in the context of business goals and risks. 

Opening the doors to microservices

Enabling engineering teams to collect and filter this information — all while rationalizing increasing volumes of microservices — is thus a determining factor in the maturity of DevOps organizations. This means not only observing, testing, and qualitatively measuring deployments but also identifying whether a company service needs (or can sustain) decoupled architecture in the first place. 

NÜRNBERGER, for example, connects enterprise architecture tools with a solution that extracts metadata across the DevOps toolchain to drive informed decisions on its application and microservice landscapes. They have automated the process of discovering and cataloging microservices to create an up-to-date, centralized database for empowering product IT. This knowledge base provides reliable metrics and business-specific insights on where and how microservices are used — thereby allowing unlimited stakeholders to independently:

  • Navigate the microservices landscape
  • Mitigate business-relevant violations
  • Faster onboard developers 
  • Monitor deployment KPIs (MTTR, deployment frequency, failure rate, etc.)

"We had an ITIL-compliant CMDB but the data quality was not sufficient to create reliable metrics and gain specific insights," explains Andreas Michler, enterprise architect at NÜRNBERGER. "Thus, we had no useful information on a technical level. Even if we had taken a 'traditional' approach and documented microservices by hand, the data quality would have been so poor from the start that this information wouldn't have served us as a trusted database either. It was clear to us that we needed automated processes."

Michler’s approach to microservice documentation is championed also by Donovon Simpson, a software engineer at OneMain Financial. Since technology like MuleSoft has limited value when building microservices for concrete tasks, Simpson recommends leveraging DevOps management tools like LeanIX Value Stream Management and its out-of-the-box connectors to services like Jenkins, GitHub Actions, and Kubernetes. 

“These [connectors] allow you to surface your metadata from a DevOps toolchain to navigate microservices. They allow you to monitor development metrics to allocate resources efficiently, increase productivity by automating documentation, and facilitate knowledge exchanges and ensure software reliability,” says Simpson.  

Putting automated solutions to work

Making microservice data available and in the hands of the right people is an integral part of continuous transformation journeys. For this reason, LeanIX’s Dominik Rose, VP Product, offered the below Value Stream Management product walkthrough to show how his company improves the following areas of DevOps management:

  • Microservice discovery & cataloging 
  • Open-source license and obsolescence management
  • API catalog and data flows
  • Security and vulnerability management 
  • Capability modeling and roadmap planning
  • Technology scouting and adoption standards