Hands-On Evented Microservices, Pub/Sub, and Event Sourcing with Message DB and Eventide
Hands-On Evented Microservices, Pub/Sub, and Event Sourcing with Message DB and Eventide
Share this event
Need help?
This three-day course on microservices, pub/sub, and event sourcing will give you everything you need to deliver successful microservice projects.
The award-wining Eventide toolkit and Message DB will be used throughout the course's hands-on exercises, but the techniques can be used with any stack and language. No prior experience with either of these tools is required. No experience with distributed systems, service-oriented architecture, or evented systems is required.
This is a complete, self-contained course of hands-on labs punctuated by instructor-led exercises and lectures.
This workshop will guide you past the common pitfalls of microservices and help restore the joy of programming. Release more often, increase reliability, and free yourself from the rigid coupling that’s been slowing you down.
Hardship Scholarships and Group Discounts
Discounts and scholarships are available to students who've suffered reduced income due to the effects of the coronavirus outbreak, as well as to others from underrepresented backgrounds, and those who don't enjoy the privileges of a well-established technology career.
Discounts are available for groups of 3 or more.
Contact the organizers for more details.
What You'll Learn
Starting down the path of microservices while avoiding the dreaded "distributed monolith" requires a shift in thinking. An event-based approach to a service architecture can mean the difference between ending up with the robustness and productivity that service architectures promise, or the same old monolith but now with all headaches of distributed systems.
The benefits of an event-sourced approach aren't just limited to an easier path to microservices. You end up with a complete, life-long history of every change to your model data as a side effect of the architecture. Time becomes an explicit part of the domain model, reporting databases no longer depend on complex ETL processes, and service boundaries become easier to discover.
By the end of the course, students will have hands-on experience with the following topics and techniques:
- Microservices
- Event Sourcing
- Service architecture principles and patterns
- Autonomous Services & Components
- Distributed systems fundamentals
- Events
- Commands
- Messaging
- Handlers
- Projections
- Entities
- Idempotence
- Concurrency
- Robustness and resiliency
- Building client libraries for services
- Workflows between multiple services
- Messaging patterns like Expected Version and Reservation
- Consumers & Subscriptions
- Snapshotting state
- Hosting & Operations
- Deployment
Course Program
Day 1: Introduction to Service Architecture, Microservices, Pub/Sub, and Event Sourcing
This unit provides an overview of microservices, service-oriented architecture, and evented autonomous services, with an emphasis on event-sourcing and stream-oriented messaging. It covers the common pitfalls and mistakes that lead the best laid plans for a services initiative into a quagmire of mini-applications tightly-coupled by synchronous REST calls. In this unit, the techniques and patterns that ensure that microservice projects stay on-target are explained and discussed.
We’ll cover the theory, background, and the code, with examples taken from real-world autonomous services in production, and illustrated with animations and diagrams that put service architecture within reach of every developer.
This unit lays the foundations for getting hands-on with service implementation.
Day 2 and 3: Hands-On Service Development
In this unit, students build on the concepts introduced in the first unit by implementing two microservices that interact with each other via messaging and pub/sub. Students alternate between lecture, Q&A, and coding.
Starting from a bare bones starter project, students progressively build confidence with fundamental concepts, like writing and reading messages, as well as domain entity design and coding, message handling, and event sourcing.
The hands-on work progresses step-by-step from the basics, all the way through advanced topics and techniques, alternating between instructor-led demonstrations and coding exercises.
At the end of the unit, students will have an opportunity to review what they've learned, and get answers to questions about their own prospective projects.
Exercises and example code are in Ruby.
What's Included
- 3 days of services design and development training delivered by experts in the field
- Hands-on exercises that progress from the basics through advanced design and coding
- Tools for building and operating real-world, production-ready services
- Access to all of the course materials
- On-going chat support from instructors and community members
- Periodic refreshers delivered via video conference
Instructors
Nathan Ladd has been writing software professionally for over ten years, specializing in domain driven design, architecture, and systems engineering. He works extensively with service oriented architecture and event sourcing in Ruby. He's a software development coach, freelance coder, and management consultant, and is a co-founder and principal contributor to the Eventide Project.
Scott Bellware has been on a five-year mission to incorporate all the good things he’s learned in the distributed systems world with all the good things he’s learned in the app dev world. He's been coding professionally for twenty-five years, having held virtually every position in a software organization from QA, to engineer, designer, analyst, UX, and CTO, and worked in a variety of languages, frameworks, and platforms. He's a freelance developer and consultant, and a co-founder and principal contributor to the Eventide Project.
What Students Are Saying
The workshop is a fascinating deep-dive into a production-ready microservices framework. Scott and Nathan walk through their design rationale from first principles, then reinforce the concepts with step-by-step coding. They are spirited, irreverent, fun, and draw their opinions from a deep well of experience. I’d highly recommend this workshop to any web developer.
- Brendan Asselstine, Full-Stack Developer at Loft 47
This workshop opened my eyes to the huge potential of evented backend systems and the true power of Ruby as a programming language. The material was well prepared and we got the chance to implement basic and advanced uses cases and patterns with Eventide.
- Monica Olinescu, Founder of Design Drop and Independent Consultant
Prior to the workshop, no matter how much I was learning about Microservices, I never got any closer to solving the most fundamental, practical problems of the approach. No one was speaking or writing about how to actually accomplish the transition from the Monolith. Rather, everyone wanted to talk about peripheral issues like hosting or language.
Eventide's workshop actually addressed the most pressing and challenging topics of Microservices, namely the overarching principles and day-to-day tactics. I was actually experimenting with gold-standard examples, right there on my machine. I now feel able to assess Microservice approaches, avoid pitfalls and get my hands dirty. Unlike many other resources that explain the promises and perils of Microservices but fail to explain how to get there, Eventide's workshop made it feel like a concrete realizable goal.
- Shealen Clare, Software Engineer at Fuel Powered
The best part about Scott and Nathan’s approach to Event Sourcing is not that it works, but that they are placing emphasis on designing the foundation of your codebase as opposed to the the shine of your tools.
- Kenny Wu, Software Developer at Lendesk
Refund Policy
Tickets can be transferred, but they cannot be refunded.
Currency Policy
All ticket prices are in USD.