In an event driven application, each component of application logic emits events, which other parts of the application respond to. We have examined this pattern in previous shows that focus on pub/sub messaging, event sourcing, and CQRS.

In today’s show, we examine the intersection of event driven architecture and serverless architecture.

Serverless applications can be built by combining functions-as-a-service (like AWS Lambda) together with backend as a service tools like DynamoDB and Auth0. Functions-as-a-service give you cheap, flexible, scalable compute. Backend as a service tools give you robust, fault-tolerant tools for managing state.

By combining these sets of tools, we can build applications without thinking about specific servers that are managing large portions of our application logic. This is great–because managing servers and doing load balancing and scaling is painful.

With this shift in architecture, we also have to change how data flows through our applications.

Danilo Poccia is the author of AWS Lambda In Action, a book about building event-driven serverless applications. In today’s episode, Danilo and I discuss the connection between serverless architecture and event driven architecture.

We start by reviewing the evolution of the runtime unit–from physical machines to virtual machines to containers to functions as a service. Then, we dive into what it means for an application to be “event driven.” We explore how to architect and scale a serverless architecture, and we finish by discussing the future of serverless–how IoT and edge computing and on-premise architectures will take advantage of this new technology.

Transcript

Transcript provided by We Edit Podcasts. Software Engineering Daily listeners can go to weeditpodcasts.com/sed to get 20% off the first two months of audio editing and transcription services. Thanks to We Edit Podcasts for partnering with SE Daily. Please click here to view this show’s transcript.

Sponsors



Auth0 makes authentication easy. As a developer, you love building things that are fun–and authentication is not fun. Authentication is a pain. It can take hours to implement, and even once you have authentication, you have to keep all your authentication code up to date! Auth0 is the easiest and fastest way to implement real world authentication and authorization architectures into your apps and APIs. Allow your users to log in however you want–regular username and password, Facebook, Twitter, enterprise identity providers like AD and Office 365–or let them login without passwords, using an email login like Slack or phone login like WhatsApp. Getting started is easy. Just grab the Auth0 SDK for any platform you need and add a few lines of code to your project–whether you are building a mobile app, a website, or an API–they all need authentication. Sign up for Auth0 and get the free plan or try the enterprise plan for 21 days at auth0.io/sedaily . No credit card required. Auth0 is trusted by developers at Atlassian, Mozilla, and Wall Street Journal. Try it out at auth0.io/sedaily . Stop struggling with authentication–get back to building core features, with Auth0.



Thank you to our sponsor, Datadog, a SaaS cloud monitoring platform for cloud infrastructure and applications. Datadog integrates seamlessly with more than 200 technologies, including AWS Lambda. With powerful visualizations, sophisticated alerting, distributed tracing and APM, Datadog helps you get a handle on the performance of your serverless applications, as well as their underlying infrastructure.

Start a free trial today & Datadog will send you a free T-shirt! Visit Visit softwareengineeringdaily.com/datadog to get started.