Episode 213: James Lewis on Microservices

Topics covered
Popular Clips
Episode Highlights
Testing Challenges
Testing microservices presents unique challenges, particularly in ensuring that all components work seamlessly together. highlights the complexity of testing microservices due to their asynchronous nature and the need to verify business processes across multiple systems 1. He explains that while unit testing is straightforward, integration testing becomes more complex as it involves multiple services working in tandem. To address these challenges, some organizations are adopting innovative approaches such as testing in production environments, supported by robust monitoring and logging systems 2.
The problems come when you've got behavior that spans multiple systems. So how do you test business processes, say, across multiple, multiple microservices?
---
This approach allows for real-time testing and quicker identification of issues, although it requires a shift in traditional testing mindsets 3.
Executable Specs
Executable specifications and consumer-driven contracts offer innovative solutions for managing microservices. describes executable specifications as a way for clients to define how they expect a service to behave, which can then be tested by service maintainers 4. This method ensures that any changes in the service do not break existing contracts, facilitating smoother integrations. Consumer-driven contracts take this concept further by allowing clients to write tests for downstream services, which are then run by the service owners themselves 5.
The idea of consumer driven contracts is kind of flipping that on its head. And rather than me as the client of the downstream service running the tests, I still write the tests, but I hand them off to the service owners themselves and they run them as part of their own.
---
This approach enhances collaboration between teams and ensures that services remain reliable and consistent 6.
Related Episodes


Episode 495: Vaughn Vernon on Strategic Monoliths and Microservices
Answers 383 questions

Episode-226-Eric-Evans-on-Domain-Driven-Design-at-10-Years
Answers 383 questions

Episode 6: Model-Driven Software Development Pt. 2
Answers 383 questions

Episode 32: Service Oriented Architecture, Pt.2a
Answers 383 questions

Episode 542: Brendan Callum on Contract-Driven APIs
Answers 383 questions

Episode 69: Nico Josuttis on SOA (SOA Pt. 3)
Answers 383 questions

Episode 27: Service Oriented Architecture Pt.1
Answers 383 questions

Episode 44: Interview Brian Goetz and David Holmes
Answers 383 questions

Episode 33: Service Oriented Architecture, Pt.2b
Answers 383 questions

Episode 210: Stefan Tilkov on Architecture and Micro Services
Answers 383 questions

Episode 451: Luke Kysow on Service Mesh
Answers 383 questions

Episode 216: Adrian Cockcroft on the Modern Cloud-based Platform
Answers 383 questions

Episode 39: Interview Steve Vinoski
Answers 383 questions

Episode 85: Web Services with Olaf Zimmermann
Answers 383 questions

Episode 221: Jez Humble on Continuous Delivery
Answers 383 questions













