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





Who is this presentation for?
- CTOs, software architects, and senior software engineers
Level
Description
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
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

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.
Comments on this page are now closed.
Platinum Sponsor
Gold Sponsors
Silver Sponsors
Exhibitor
Innovators
Supporting
Community Partner
Contact us
confreg@oreilly.com
For conference registration information and customer service
partners@oreilly.com
For more information on community discounts and trade opportunities with O’Reilly conferences
Become a sponsor
For information on exhibiting or sponsoring a conference
pr@oreilly.com
For media/analyst press inquires
Comments
Hey Jigar,
If you pull down the workshop repo , and you have docker installed, if you run “docker-compose up” from within the project, the docker compose mechanics should pull down both images for you. Please post back if that doesn’t work.
How to download this second image?
https://hub.docker.com/layers/postgres/library/postgres/10.6-alpine/images/sha256-fe57898d566b66988aede78418a788e8bb4bafbe85197956fbd53a17ff8126e8?context=explore