Skip to content
  • Sign In
  • Try Now
View all events
Microservices

Communication Styles for Distributed Architectures and Microservices

Published by O'Reilly Media, Inc.

Intermediate content levelIntermediate

Understanding trade-offs, an architecture hard part

When teams adopt microservices with an understanding of the structure of the architecture but not of how to get all the pieces to communicate, it’s all too easy to accidentally create a distributed big ball of mud. True success depends on knowing when to choose synchronous versus asynchronous communication between services and how to address reliability with domain and operational synchronization, transactions, and a host of other issues.

Join expert Neal Ford to learn the foundations of distributed architecture communication and discover how they apply to microservices. You’ll explore a new measure, the architecture quantum, to help analyze and identify communication boundaries—along with many common microservices communication patterns (and the inherent trade-offs for each). Dive deep into the patterns and concepts that will help you make objective choices within your own architecture.

What you’ll learn and how you can apply it

By the end of this live online course, you’ll understand:

  • A new way to measure coupling and the scope of architecture characteristics
  • The trade-offs between choreography and orchestration
  • The headaches of distributed architectures and how to deal with them

And you’ll be able to:

  • Choose appropriate communication within a microservices architecture
  • Assess service granularity
  • Analyze both structural and communication coupling more effectively

This live event is for you because...

  • You want a microservices architecture but don't understand how communication works.
  • You have a microservices architecture and need help understanding communication between services.
  • You want to learn the communication options for distributed architecture and their trade-offs.

Prerequisites

  • Familiarity with the principles of software architecture in general and microservices architectures in particular

Recommended preparation:

Recommended follow-up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Foundations (45 minutes)

  • Presentation and hands-on exercises: Event-driven architecture styles—broker and mediator; trade-offs between EDA styles; coupling metrics—coupling, connascence, and architecture partitioning; measuring architectural coupling and scope of architecture characteristics; architecture quantum—operationally complete, functionally cohesive, synchronous quantum connascence
  • Group discussion: When should an architect choose Broker? Mediator?; How does connascence show that domain partitioning is superior to technical partitioning?; What three things does architecture quantum measure?

Introduction to microservices structure (15 minutes)

  • Presentation and hands-on exercises: Topology of microservices; bounded context; architecture quantum in microservices
  • Group discussion: What kind of architecture partitioning do microservices use? Why?

Break (10 minutes)

Simple communication between quanta (20 minutes)

  • Presentation and hands-on exercises: Choreography; orchestration
  • Group discussion: What are the trade-offs between these two communication styles?

Data consistency in microservices (30 minutes)

  • Presentation and hands-on exercises: Eventual consistency; the saga pattern; the write-ahead log pattern; distributed transactions
  • Group discussion: When should architects use the saga pattern?

Break (10 minutes)

Avoiding transactions in microservices (15 minutes)

  • Presentation and hands-on exercises: Granularity; data caching patterns
  • Group discussion: What are the trade-offs between eventual consistency and transactions?

Common event patterns in microservices (30 minutes)

  • Presentation and hands-on exercises: Event sourcing; CQRS; pipes and filters; case study—using Kafka
  • Group discussion: What kinds of systems benefit from event sourcing?

Break (10 minutes)

Trade-offs (45 minutes)

  • Presentation and hands-on exercises: Choreography versus orchestration; interservice call versus caching; event sourcing versus transactional databases
  • Group discussion: When should an architect break a quantum apart?; When should an architecture bundle two or more quanta into one?

Wrap-up and Q&A (10 minutes)

Your Instructor

  • Neal Ford

    Neal Ford is a director, software architect, and meme wrangler at Thoughtworks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He’s an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal’s authored several books, a number of magazine articles, and dozens of video presentations (including a video on improving technical presentations) and spoken at hundreds of developer conferences worldwide. His topics of interest include software architecture, continuous delivery, functional programming, and cutting-edge software innovations. Check out his website, Nealford.com

    Xlinksearch