Project Flogo—an open source, ultralight edge microservices framework—now supports the running of Flogo flows as functions within AWS Lambda.
Why is this significant and what is all the buzz around serverless compute, anyway? Well, let me first start by saying that serverless compute does not mean that servers don’t exist and some black magic is happening behind the scenes. In reality, it simply means that they aren’t YOUR servers and YOU don’t have to worry about operations—a beautiful thing in today’s rapidly changing world where app logic needs to be updated on a whim to meet the constantly revolving business requirements.
With AWS Lambda, there is also a slight architectural shift. You no longer focus on microservices, whereby you build small services that contain a few operations, rather, you focus on the development of functions and a function is exactly that, a single unit of business logic implementing value. That said, with microservices you may build and deploy 10s of microservices, however with functions you’re building 100s or 1000s. Another magical bit is the fact that you literally can scale infinitely, but also scale back to zero when your functions are not in use. That is, you don’t pay for idle time. There is no such thing as idle time! So liberating!
Where does Flogo fit? Well, if we’re saying idle doesn’t exist, that must mean your function isn’t running, which means that your function better start up quickly when your customers action triggers your API. With Project Flogo running Flows as Functions within Lambda, we’ve seen cold start execution times as low as 30-100 milliseconds! Oh, and that’s not a simple HelloWorld function, this is a function that executes a predictive model within the Flow. What about memory footprint, surely there must be a heavy burden there? With other frameworks, yes, but with Project Flogo a total memory footprint of < 25MB has been observed with a variety of different functions and use cases.
To illustrate the cold start duration, consider the graph below showing roughly 49 cold starts for a Flogo flow in Lambda.
With pay-as-you-go compute and massive scale, quick app starts and minimal compute resource consumption is an absolute requirement.
If you’re not familiar with Project Flogo, please check my previous blog posts where I discuss the benefits across a variety of use cases and deployment models. However, to quickly get you up to speed with Project Flogo, you can design applications in a zero-code development environment and deploy those apps (or functions) to edge devices, containers, and other cloud PaaS environments or to AWS Lambda, without changing any code! A true build once, deploy anywhere model.