About This Course

Get an overview of the course’s prerequisites, target audience and it’s structure.

Prerequisites and target audience

This architecture course is for developers working with microservices or those architecting and designing new applications that will be built with microservices. Intermediate-level knowledge of Go is required to make the most of the examples and concepts in this course. Developers with a background in any programming language and experience working with microservices should still find the concepts and explanations useful.

Press + to interact

Course structure

This course consists of three parts:

  1. Event-driven fundamentals

  2. Components of event-driven architecture

  3. Production ready

The first part will provide an understanding of what event-driven architecture (EDA) is and the benefits of using it for your next application. You’ll also be introduced to the application we will be working with. This part will also cover some helpful patterns that can be helpful for the adoption and development of EDA. Then, it will introduce methods for planning an application using EventStorming.

Chapters included in the first part

In the second part, we’ll begin and complete a journey of transforming MallBots from a synchronous application into an asynchronous application. We will introduce and refactor the application using domain events, event sourcing, and messaging. This part will also provide an introduction to and hands-on experience of dealing with eventual consistency and other complications that developers must contend with when developing event-driven applications.

Chapters included in the second part

In the third part, we’ll cover the topics of testing, deployment, and observability. We will begin by discussing testing strategies and going over the different kinds of tests we can use to ensure our application works as intended. Next, we’ll refactor the application from a modular monolith into microservices that can be deployed into a cloud environment. Then, we’ll update the application so that it can be monitored using logging, metrics, and distributed traces.

Chapters included in the third part