Event Driven Architecture
Event-driven architecture (EDA), is a software architecture pattern promoting the production, detection, consumption of, and reaction to events.
An event can be defined as "a significant change in state". For example, when a consumer purchases a car, the car's state changes from "for sale" to "sold". A car dealer's system architecture may treat this state change as an event whose occurrence can be made known to other applications within the architecture. From a formal perspective, what is produced, published, propagated, detected or consumed is a (typically asynchronous) message called the event notification, and not the event itself, which is the state change that triggered the message emission. Events do not travel, they just occur. However, the term event is often used metonymically to denote the notification message itself, which may lead to some confusion. This is due to Event-Driven architectures often being designed atop message-driven architectures, where such communication pattern requires one of the inputs to be text-only, the message, to differentiate how each communication should be handled.
Event-driven architecture, in Wikipedia. Retrieved 2/24/2018. https://en.wikipedia.org/wiki/Event-driven_architecture
Position on the Adoption Curve
Presentations about Event Driven Architecture
Drivetribe: A Social Network on Streams
Drivetribe: A Social Network on Streams
The Present and Future of Serverless Observability
How Events Are Reshaping Modern Systems
Lambda Architectures: a Snapshot, a Stream, & a Bunch of Deltas
Actors or Not: Async Event Architectures
Interviews
The Present and Future of Serverless Observability
What is the focus of your work today?
At the moment, I’m building the backend services for a real-time multiplayer game on mobile, including an inhouse networking stack that will be deployed globally and supports both TCP and reliable UDP. We’re still doing a lot of tuning, and would put an early alpha build in front of users for external validation on our networking stack as well as general gameplay and meta design, and to get a better idea on the game’s potential to be the next big hit.
What’s the motivation for this talk?
I have worked extensively with AWS Lambda the last 2 years, especially during my previous job as architect at a social networking startup called Yubl, where we learnt a lot about operating a serverless architecture in production and many of the operational challenges that need to be addressed, as the technology itself is still very much rough around the edges.