Project Flogo: From IoT to Machine Learning

Reading Time: 3 minutes

Project Flogo is an open source framework to simplify building efficient & modern serverless functions and edge microservices. But how did it come to be, and how has it matured and grown over a short period of time?

The idea of Flogo came out of a Friday afternoon conversation between Frank Martinez and Rajeev Kozhikkattuthodi; the idea was simple: Let’s leverage our expertise in application integration by building our process engine in a lightweight, statically compiled language that is better suited for a new breed of compute — edge and cloud native. Golang was the ideal language for tackling such an effort, as it is statically compiled, produces a single binary, and does not require any additional OS dependencies, hence making it more secure and reliable. In fact, the first Flogo prototype was built over that same weekend! Now, the naming of the project — Flogo, was equally as simple, its a Flow-based process engine written in Go, hence Flogo.

As compute power grows, it’s only logical to begin pushing logic down to the edge. Doing so enables IoT and edge devices to act in an autonomous fashion reducing network latency and lowering ingress costs to the cloud by as much as 80 percent. While in many cases, you’ll still want to collect data in the cloud for additional learning and data training, the cloud does not become a requirement for decision making at the edge. Because Flogo was so lightweight and statically compiled enabled us to build extensions to the framework to support edge compute requires, additionally, last June, we launched Flogo Edge Apps — applications that can be run on something as small as an Arm M0.

One key requirement was that Flogo had to be open source. It is something that we truly believed in. Open source enables developers to consume the technology in ways that we have not seen and also fosters a powerful community of contributors from all different backgrounds.  This facilitates faster innovation by letting more developers access and alter the software by adding new connectors and abilities. Flogo is licensed as BSD-3, which is one of the most permissive licenses that gives the user complete flexibility to use it commercially, modify the source, distribute the code, and place warranties on it. It was important that we chose a permissive license to enable developers to truly leverage the technology in ways that we’ve yet to see.

Flogo has evolved and is no longer seen as only an IoT framework, it has evolved into a framework that focuses on making function-as-a-service (FaaS) development as painless as possible. After introducing the ability to run your apps natively on tiny devices, a lot of emphasis was on making it even easier to develop apps with an enhanced expression syntax, even better mapping capabilities and decoupling the triggers from the flows enabling developers to treat flows just as they would functions. AWS Lambda, has seen 90 percent growth, and has become the standard in serverless compute for FaaS. Flogo natively runs on AWS Lambda, enabling you to deploy your Flogo Flows as functions. Additionally, one of Flogo’s most recent capabilities has been to support the embedding of machine learning models that can be deployed at the edge.

Flogo is simply this: an open source framework to simplify building efficient & modern serverless functions and edge microservices. It supports all types of developers, from ones who prefer a graphical user interface to those who just want to write code. Flogo’s design was created to use source code in a scriptable way to meet the preferences of all developers: serverless function developers, cloud-native microservices developers, IoT solutions developers, and Go developers.

Since its launch, Flogo has grown so fast that it reached milestones faster than any of TIBCO’s competitors. The growth shows that developers are interested in serverless integration, meaning they want to connect their serverless functions together as well as develop functions with the smallest footprint possible.

With open source, developers can interact with the contributors via publicly available channels, such as GitHub and Gitter. However, developers can also contribute their own code, fixes, and enhancements directly into the core project. This uniquely positions Flogo as a project with endless possibilities.

Excited to get started? Go get Flogo.