The Flowable Engine as a Serverless Function

There’s a lot being written and talked about serverless these days. Whether from the infrastructural or from the software architectural point of view, at minimum it’s worth thinking about this way of deploying and writing software. Calling out to a serverless function from a process or case is one thing, but it gets really interesting when thinking about how a process, case or rule engine can be used to construct a serverless function. Of course, such a thing is not easy.

Flowable core developers Joram Barrez and Filip Hrisafov looked into what it would take to make the Flowable engines ready for this serverless world and recorded a webinar to share the results. In this video, they look at the challenge of getting the cold boot up time as low as possible, while building a real process function that starts and finishes a process when the function is invoked.

Using Spring Cloud and the Spring Cloud AWS function adapter, they demonstrate how to build, package and run a Flowable process function on AWS. After that, they dive into Micronaut and GraalVM to build a native image that boots up a full HTTP REST process endpoint in only 14 milliseconds!

Suffice to say the webinar is worth a watch!

Timestamps to the different parts:

0:00 Introduction
1:28 What is serverless?
6:54 Flowable serverless challenges
7:47 Flowable serverless idea
8:36 Flowable Ahead-of-time Compilation & Annotation processing
17:33 Flowable without persistency
23:00 Flowable + Spring Cloud Function
27:09 How fast does it boot? (benchmarks)
32:57 Flowable + AWS with Spring Cloud
41:08 Flowable + Micronaut
44:45 Flowable + Micronaut + GraalVM
55:52 Conclusions