Published Mar 19, 2018

Clean Architecture - Are Microservices Truly Decoupled?

Michael and Joe delve into the complexities of microservices, exposing hidden dependencies and deployment challenges, while emphasizing clean architecture principles and testing strategies to ensure maintainable and scalable software systems.
Episode Highlights
Coding Blocks logo

Popular Clips

Episode Highlights

  • Decoupling

    The discussion begins with the realization that microservices may not be as decoupled as they seem. Alan Underwood questions whether updates to a microservice can impact downstream services, highlighting hidden dependencies 1. Joe Zack shares an anecdote about outside-in unit testing, which challenges traditional unit testing norms and emphasizes real-world usage 2.

    All of a sudden you start realizing these things are way more coupled than what you thought they were because now you can't independently deploy this thing because it's going to break everything downstream of it.

    --- Alan Underwood

    This insight prompts a reevaluation of how dependencies are managed in microservices.

       

    Deployment Challenges

    Deploying microservices presents unique challenges, particularly with independent deployment and service versioning. Alan Underwood and Joe Zack discuss the complications of running multiple versions of a service and the potential for breaking changes 3. They emphasize the importance of a robust CI pipeline to manage these complexities effectively 4.

    If you've only got three servers or one server, you know, microservicing, it's just another, you know, it's a premature optimization.

    --- Joe Zack

    Proper planning and infrastructure are crucial for successful microservice deployment.

Related Episodes