Published Sep 3, 2019

Episode 213: James Lewis on Microservices

James Lewis delves into the nuances of microservices architecture, highlighting its evolution and contrast with service-oriented architectures, while offering insights on infrastructure, deployment, and team dynamics crucial for successful implementation. With a focus on testing complexities, Lewis shares advanced strategies like executable specifications and consumer-driven contracts to manage and optimize complex service environments.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Conway's Law

    Conway's Law plays a pivotal role in shaping microservice architectures by aligning software design with organizational communication structures. explains that the communication pathways within a company often mirror the software architecture it produces, a concept validated by various studies over time 1. This alignment can be strategically used to reinforce architectural boundaries through team structures, a practice known as the inverse Conway maneuver.

    If you ask nine people to write a compiler, you end up with a nine pass compiler.

    ---

    However, Lewis clarifies that while team and service decoupling is beneficial, it doesn't necessitate a one-to-one mapping between teams and microservices 2.

       

    Team Dynamics

    Team structures significantly influence the success of microservices by facilitating or hindering rapid changes and business alignment. highlights that within a team, changes to microservices can be swiftly implemented due to close communication, but stability is crucial when interacting with other teams 3. He emphasizes the importance of aligning microservices with business domains, advocating for a top-down approach driven by business needs.

    Microservices is a coming together of a bunch of better practices from a number of different communities.

    ---

    This alignment ensures that the software architecture mirrors the business structure, promoting efficiency and coherence in development processes 4.

Related Episodes