February 23–26, 2020

Practical microservices: Hands-on event-driven architectures with event sourcing and CQRS

Ethan Garofolo (Berkadia Commercial Mortgage)
1:30pm5:00pm Monday, February 24, 2020
Location: Murray Hill
Secondary topics:  Anti-Pattern, Best Practice, Hands-on

Who is this presentation for?

  • CTOs, software architects, and senior software engineers




Model-view-controller (MVC) and CRUD are great tools for prototyping applications, but they inevitably lead development teams to the dreaded monolith wall, where progress slows to a crawl and everyone goes and applies for a new job. Microservices architecture can help you deliver value and stay productive in the long run.

Most tutorials on the subject meander through theory or completely miss the point of what it means to be microservice based, but not so with Ethan Garofolo. Here you’ll learn that a monolith is a data model and not a deployment or code organization strategy. You’ll experience how simply deploying pieces of your monolithic application onto different servers just leaves you with all the problems your monolith already has, only now with 100% more distributed system problems. You’ll learn precisely why this approach isn’t microservices.

With that out of the way, you’ll immerse yourself in a workable alternative: autonomous services that communicate via asynchronous messages and pub/sub. Through hands-on examples, you’ll see how pub/sub enables autonomy in the components of your system, and you’ll learn the basic building blocks of an autonomous microservices-based architecture.

You’ll model system state as events—records of things that have happened—then take those events and reshape them into formats that make sense for the UIs you need to provide your users. You’ll leave with an understanding of the basics of microservices and where to go to continue learning.

Prerequisite knowledge

  • Experience coding in Node.js
  • Familiarity with PostgreSQL and basic Docker commands (useful but not required)

Materials or downloads needed in advance

  • A laptop with Docker and a code editor installed and the ability to run Node.js programs (nvm recommended on macOS and Linux; nvm-windows recommended for Windows)

What you'll learn

  • Discover why a monolith is a data model and not a deployment or code organization strategy, why deploying portions of a monolith onto different systems doesn't make microservices, how autonomy is the defining quality of microservices, and how a pub/sub architecture enables that autonomy
  • Learn why event-sourced microservices and CQRS are a good architectural choice even if you're not at Google scale
  • Build a functioning, albeit small, microservices-based system
Photo of Ethan Garofolo

Ethan Garofolo

Berkadia Commercial Mortgage

Ethan Garofolo is a software architect at Berkadia Commercial Mortgage. He’s been a professional programmer since 2006 and has worked both ends of the abstraction hierarchy, from device drivers to web-based systems. For the past few years, he’s been working exclusively on microservices projects and is the author of Practical Microservices (Pragmatic Bookshelf). He was also lead vocalist in a punk rock band.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)

Contact us


For conference registration information and customer service


For more information on community discounts and trade opportunities with O’Reilly conferences

Become a sponsor

For information on exhibiting or sponsoring a conference


For media/analyst press inquires