I love mashing up ideas and seeing what happens. Two areas of deep interest for me over the last two years have been Domain-Driven Design (DDD) and Serverless infrastructure (also known as Functions as a Service). What do these two areas have in common? The central concept of events, of course!
Domain-Driven Design helps us to identify Aggregates, or clusters of objects, that maintain both business invariants and transactional boundaries for one or more domain concepts. These Aggregates communicate with other Aggregates through the use of Domain Events, which potentially trigger other behaviors. We can chain these behaviors to create eventually consistent, long-running business processes.
Serverless infrastructure, at least as its currently been expressed in offerings like AWS Lambda and Azure Functions, has also focused on events as the sole mechanism available for triggering the execution of standalone functions. For one function to trigger another function, it must produce an event that is then consumed by the downstream function’s trigger. We can achieve this through the use of queuing mechanisms, data stores, and even HTTP gateways.
In this session, we’ll explore a mashup of DDD and Serverless infrastructure, and examine how these two areas can synergize to create evolvable and scalable systems.
Matt Stine is an 18 year veteran of the enterprise IT industry, with nine of those years spent as a consulting solutions architect for multiple Fortune 500 companies, as well as the not-for-profit St. Jude Children's Research Hospital. He is the author of Migrating to Cloud-Native Application Architectures from O'Reilly, and the host of the Software Architecture Radio podcast.
Matt is obsessed with the idea that enterprise IT “doesn’t have to suck,” and spends much of his time thinking about lean/agile software development methodologies, DevOps, architectural principles/patterns/practices, and programming paradigms, in an attempt to find the perfect storm of techniques that will allow corporate IT departments to not only function like startup companies but also create software that delights users while maintaining a high degree of conceptual integrity. He is currently the Global CTO of Architecture at Pivotal, and spends much of his time advising IT leadership on the effective adoption of cloud-native architectures.
Matt has spoken at conferences ranging from JavaOne to OSCON to YOW! and is a nine-year member of the No Fluff Just Stuff tour. Matt is also the founder and past president of the Memphis Java User Group.