What if the true cost of a change in your system could be measured? Learn how quantitative metrics can tame microservice complexity and accelerate innovation.
#1about 3 minutes
Defining modularity and its importance in system design
Modularity is the practice of dividing a system into separate, independent parts to improve communication and decision-making during the design process.
#2about 6 minutes
The hidden complexity of large microservice landscapes
While microservices offer benefits like fast delivery, they can create a complex, tangled landscape that slows down innovation when new business requirements touch multiple services.
#3about 2 minutes
Moving from gut feeling to quantitative architectural metrics
Instead of relying on intuition, teams should measure modularity at the product and domain level using concrete metrics, similar to how code quality is measured.
#4about 3 minutes
Measuring system tangles with average component dependency
The average component dependency (ACD) metric helps quantify the overall connectedness of a system by averaging the direct and indirect dependencies for each microservice.
#5about 3 minutes
Calculating propagation cost to measure change impact
Propagation cost (PC) is a key metric that measures the ripple effect of a change in one component across the entire system, directly impacting innovation speed.
#6about 2 minutes
Using lack of cohesion metrics for service grouping
The lack of cohesion metric helps determine if a group of microservices truly belongs together by analyzing shared concerns, such as data access patterns.
#7about 3 minutes
Applying coupling factor and other metrics in practice
By calculating the coupling factor and tracking metrics on a dashboard, teams can monitor trends and make informed decisions about system architecture and team structure.
#8about 2 minutes
Considering the modular monolith for easier refactoring
The modular monolith pattern offers a middle ground by enforcing strong boundaries between modules while keeping them in a single deployable unit, simplifying refactoring.
#9about 2 minutes
Key takeaways for adopting a modularity mindset
Adopting modularity requires a mindset change that extends beyond engineering to business decisions, experimentation with metrics, and sharing learnings with the community.
#10about 1 minute
Tools for tracking dependencies in large-scale systems
To count direct and indirect connections in complex systems, tools like Istio for service mesh data and distributed tracing can be used to automate dependency discovery.
Related jobs
Jobs that call for the skills explored in this talk.
Why You Shouldn’t Build a Microservice ArchitectureWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Michael Eisenbart who talks about the pros and cons of microservice architecture.About the speaker:Michael has been working for Bosch as a sof...
Chris Heilmann
Micro Components - a different approach to a simpler component-based webThere has been a lot of heated discussion lately in the web community about component based development. One side argued that Web Components are a standard we should follow whereas others complained that they still lag behind in what frameworks offer...