Designing Microservices: Responsibilities, APIs and Collaborations with Chris Richardson

23rd August 2022   4 days

English   Online Workshop

AUD $2681.80 plus GST

Learn how to design a microservice architecture.

When applying the microservice architecture pattern, the most important design decisions that you must make do not involve technology choices, such as Kubernetes vs. Serverless or REST vs. gRPC. Instead, what’s critical to your success is correctly identifying services, defining their responsibilities, APIs and collaborations. That’s because if you design your services badly, you risk creating a fragile, distributed monolith where every service is a potential point of failure, and services regularly change in lock step.

Through a combination of lectures, discussions, and kata exercises, Chris will walk you through distilling your application’s requirements into a collection of loosely coupled, appropriately-sized services.

The course will take place over 4 days spread over 2 weeks as follows:

Tuesday 23 - Wednesday 24 August
Tuesday 30 - Wednesday 31 August

Learn how to:

In this workshop, you'll learn about:
  • Identify and define services
  • Design operations that span multiple services using patterns such as Saga and CQRS.
  • Evaluate an microservice architecture and identify architectural smells
  • Refactor and improve an architecture
  • Document a microservice architecture

About the Author

Available dates

Starts at 10:00 AM AEST (12:00 AM UTC)

Can't make it on any of these dates?
Our team is happy to discuss other options with you.
Contact us at and mention ref: MICROSERVICESAPI-CR-02.
Private tuition and large-group discounts are also available. Find out more here.

Who should take this workshop?

Technology leaders, architects and experienced developers who want to learn how to design a microservice architecture. The architecture and design exercises are on paper and are independent of any particular technology stack.


There are no prerequisites for this workshop.

Workshop Outline

  • Lecture: How to define a microservice architecture
    • The architecture definition process overview
    • Using the dark energy and dark matter forces to define services
    • Documenting a microservice architecture
  • Lecture: Discovering and defining system operations
  • Kata (design exercise): Define system operations
  • Lecture; Discovering and defining subdomains
  • Kata: Define subdomains
  • Lecture: Overview of designing system operations
  • Lecture: Designing system commands
    • Partitioning subdomains to form services
    • Applying the command collaboration patterns: Saga and Command-side replica
  • Kata: Designing commands and designing services
  • Lecture: Designing queries
    • Partitioning subdomains to form services
    • Applying the query collaboration patterns: API composition and CQRS
  • Kata: Designing queries and designing services
  • Lecture: Evaluating microservices and identifying architectural smells
  • Kata: Evaluating an architecture
  • Lecture: Refactoring a microservice architecture
  • Kata: Refactor a microservice architecture

Designing Microservices: Responsibilities, APIs and Collaborations with Chris Richardson
4 days
Online Workshop
= start_date
10:00 AM AEST
AUD $2681.80 plus GST
See more dates