Taught by Chris Richardson, an experienced software architect, author and serial entrepreneur.
Chris works with clients around the world helping them adopt the microservice architecture.
Chris also writes code regularly.

new
new
From requirements to microservices: defining APIs, responsibilities and collaborations
This is part of a series of virtual bootcamps that will teach you how to create a microservice architecture for an application. The first bootcamp, described how to use the distributed data patterns. This bootcamp tackles the most important aspect of creating an architecture: identifying services, and defining their APIs, responsibilities and collaborations. A later bootcamp described how to define the technical aspects of a microservice architecture.
About this bootcamp
The microservice architecture enables an organization to deliver software rapidly, frequently, reliably and sustainably over the lifetime of a long-lived application. It’s an architectural style that structures an application as a set of services. Each service is
- Highly maintainable and testable
- Loosely coupled
- Independently deployable
- Owned/developed/tested/deployed by a small team
The microservice architecture is multi-dimensional. Some dimensions, such as inter-service communication and deployment, are technology focussed. But while the implementation technologies are important, this bootcamp focusses on the most important dimension of an application’s microservice architecture: service definition and collaboration. In this bootcamp, you will learn how to identify and define services and design how they collaborate.
Who is this bootcamp for?
Technology leaders, architects and experienced developers who want to learn the microservice architecture. The architecture and design exercises are independent of any particular technology stack.
What you will learn
You will learn
- How to distill an application’s requirements into a set of collaborating services.
- Identifying and defining services
- Designing service collaborations including how to design transactions and queries that span services
- Techniques for evaluating a microservice architecture
- Refactoring techniques that improve an architecture
- Documenting a microservice architecture
How you will learn
This is a self-paced course consisting of:
- Video lectures
- Architecture exercises where you define a microservice
- Quizzes to test your knowledge
- Discussion forums where you can ask questions and get answers from Chris and your fellow learners
You can enroll and start learning at any time.
There will also be a weekly “Ask-me-Anything” video conference where I will answer your questions. It’s repeated in multiple timezones: currently 7am, 11am and 5pm (Pacific Daylight Time/California time, GMT-7).
Prerequisite
Learners must have taken the distributed data patterns bootcamp
Bootcamp outline
The bootcamp consists of the following modules:
- Overview of the Designing microservices bootcamp
- Introduction to the microservice architecture definition process
- Using event storming to define a microservice architecture
- Identifying and defining subdomains
- Overview of system operations
- Defining system commands
- Defining system queries
- Overview of designing system operations
- Designing system commands
- Designing system queries
- Evaluating a microservice architecture
- Refactoring a microservice architecture
- Wrap up
Certificate of completion
A certificate of completion will be issued upon successful completion of the course.
Alumni community
Once you have successfully completed the bootcamp, you will receive an invite to join the alumni community.
Frequently asked questions
-
Do I need to be a Java developer? No. Like the rest of my workshops, the bootcamp focusses on concepts. The labs, which use Spring Boot/Java examples, are there for people who like to learn by reading and writing code. There are two sets of labs: code review and code writing. If you aren’t a Java developer you can just review code or you can skip the coding labs entirely. You don’t need to complete the labs in order to complete the bootcamp.
-
When can I join?. This is a self-paced course and so you can enroll and start learning at any time.
Get notified
Get notified when registration for this bootcamp opens:
Learn more
Alternatively, to find out more: