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.
Matching moments
03:20 MIN
Focusing on modularity over architectural labels
Monoliths: A love story
03:17 MIN
Contrasting modulith and microservice architectures
Modulith Instead of Monolith - Pragmatically Towards Microservices
01:57 MIN
Conclusion: Focus on fundamentals beyond the hype
Microservices? Monoliths? An Annoying Discussion!
02:55 MIN
Why microservices fail without proper modularity
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
05:26 MIN
The real problem is poor modularization, not architecture choice
Microservices? Monoliths? An Annoying Discussion!
03:04 MIN
Why microservices often become a distributed monolith
CQRS and Event Sourcing without the pixie dust
04:19 MIN
Defining the modulith as a pragmatic alternative
Modulith Instead of Monolith - Pragmatically Towards Microservices
06:13 MIN
Using modular design to isolate the consequences of decisions
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...
Benedikt Bischof
MLops – Deploying, Maintaining And Evolving Machine Learning Models in ProductionWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Bas Geerdink who gave advice on MLOps.About the speaker:Bas is a programmer, scientist, and IT manager. At ING, he is responsible for the Fast...
Daniel Cranney
The real reason we document our codeThe world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...
From learning to earning
Jobs that call for the skills explored in this talk.