Building stateful, resilient and complex serverless systems while orchestrating old-school services
Serverless functions are by definition stateless. Also, when they crash there's no „top function“ out-of-the-box that will notice it. Building complex workflows with them mean that you'll usually use a whole bunch of queues, and place logic that determines what's the next step inside of each function (where it shouldn't be), instead of in a central place. Now enter Durable Task Framework and its Azure „implementation“ Azure Durable Functions. They come with event-sourcing available out-of-the-box, meaning that all of a sudden your functions can remember state. Developing complex workflow is no different that awaiting for some Tasks in your „console C# app“, and chaining and error handling is built in. So all of a sudden your serverless system start having simple, and clean code while being resilient. Not only that, but you'll be able to call some non-functions services, place your function to sleep (which doesn't incur costs), and wake out once the external event URL has been triggered. Enough said, let's build some live demos during this session 😉
Ivan is a .NET freelance developer in love with Azure, Xamarin, and the idea of automating whatever. When he’s not developing something new, he’s salvaging something inherited, consulting with enthusiasm, and testing and breaking new technologies in a quest for something useful.