Architects struggle in modern distributed architectures with two Hard Parts: finding the appropriate service granularity and determining the correct communication styles between services. This talk introduces a new technique for performing tradeoff analysis for microservices architectures around both static and dynamic coupling. Static coupling helps determine the proper granularity by applying integrators and disintegrators. Dynamic coupling helps architects understand the interplay between communication (synchronous versus asynchronous), consistency (atomic versus eventual), and coordination (orchestration versus choreography), along with guidelines on when to choose particular communication styles. In this talk, Neal provides architects with the nomenclature and patterns to understand these difficult aspects of microservices and related architectures.
Software architecture” is the stuff you can’t Google. Developers become adept at searching for solutions to the technical issues they face–but what about architects? Their solutions are generic; rather, each decisions features significant trade-offs. This workshop, based on the eponymous book, delves into many of the areas in software architecture where difficult decisions lie and discusses techniques for evaluating those trade-offs to reach informed decisions. The job of an architect isn’t to find silver- bullet solutions to problems (they are too rare); instead, architects should hone their ability to perform objective trade-off analysis for novel situations (because all situations in architecture are novel). This workshop unlocks many techniques that architects can use to make better decisions.
Part 1: Pulling Things Apart
1) What Happens when there are no "Best Practices"?
2) Discerning Coupling in microservices
3) Component Decomposition Patterns
4) Pulling Apart Operational Data
5) Service Granularity
Part 2: Putting Things Back Together
6) Data Ownership & Eventual Consistency
7) Distributed Data Access
8) Coordination: Managing Distributed Workflows
9) Transactional Sagas
11) Data Mesh
Neal is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals, who thinks disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He is an internationally recognized expert on software development and delivery, especially in the intersection of agile engineering techniques and software architecture. Neal has authored magazine articles, nine books (and counting), dozens of video presentations, and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting edge software innovations, and includes a business-focused book and video on improving technical presentations. Check out his web site at nealford.com.