O'Reilly logo
live online training icon Live Online training

Microservice Collaboration

Events, sagas, and schemas

Sam Newman

You’ve probably seen plenty of “boxes and arrows” diagrams when looking at microservice architectures, but what’s behind those lines? In this 3-hourfull day course we explore the nature of service-to-service calls.

The array of technology choices in this space is vast, so one of the first things Sam will share will be a model for thinking of service-to-sevice collaboration. From there we’ll explore some of the technology choices that fit into this model, including looking at newer interaction models enabled by technology Kafka and service meshes.

Finally, we’ll discuss how to implement business processes through Sagas – how to we manage all those individual service calls and make them part of something more. Expect discussion about schemas, serialization formats, messaging patterns, and maybe even some BPM…

What you'll learn-and how you can apply it

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

  • The nuances of the different styles of service-to-service communication
  • How to manage the collaboration of multiple services to implement cross-cutting business processes
  • Why picking the right technology can be key in helping avoid tight coupling between services

And you’ll be able to:

  • Better decide what sort of communication protocol works best for your use case
  • Understand why you may want to mix and match different styles of communication
  • Apply what you’ve learned to new technologies as they arise

This training course is for you because...

  • You want to try and find a way to make sense of all the different options out there
  • You work with asynchronous technology like Kafka but want to know how to get the best out of it
  • You want to work out how to build architectures which don’t become tightly coupled distributed monoliths

Prerequisites

  • It is assumed participants have an understanding of what Microservices are.
  • Attending the previous Microservices Fundamentals course is very helpful.

Recommended preparation:

Recommended follow-up:

About your instructor

  • Sam Newman is a technologist at ThoughtWorks, where he currently splits his time between encouraging and sharing Innovation globally and helping design and build their internal systems. He has worked with a variety of companies in multiple domains around the world, often with one foot in the developer world, and another in the IT operations space. If you asked him what he does, he’d say “I work with people to build better software systems.” He has written articles, presented at conferences, and sporadically commits to open source projects. He is the author of Building Microservices.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

From Method Calls to Service Calls (30 minutes)

  • Poll: How many of you are actively using Microservices?
  • Presentation: How do method calls and service calls vary? We’ll look at performance and error handling in this context and explain why mapping directly from method calls to service calls can be dangerous
  • Q&A

A Model For Microservices Collaboration (45 minutes)

  • Poll: Which communication technologies do you use?
  • Presentation: I’ll walk attendees through synchronous and asynchronous integration, and compare that with request/response vs event-based collaboration. I’ll finish by sharing a model of how to select different technology, and will give a brief overview of each
  • Poll: Based on what you’ve learned, are there other technologies you might be interested in?

Breaking Changes in a Microservice Architecture (30 mins)

  • Poll: How many of you have experienced a situation where another service changed and it broke your software?
  • Presentation: How do you roll out breaking contract changes if you also want to ensure you have independent deployability? Will look at how you achieve this, and supporting ideas like schemes and consumer-driven contracts
  • Q&A

Sagas! (45mins)

  • Presentation: How do you have lots of services collaborate to perform complex business processes? Sagas are the answer. We’ll look at the generic saga pattern and then explore how it can be implemented using a choreographed or orchestrated style.