Triggerflow: trigger-based orchestration of serverless workflows

As more applications are being moved to the Cloud thanks to serverless computing, it is increasingly necessary to support native life cycle execution of those applications in the data center. But existing systems either focus on short-running workflows (like IBM Composer or Amazon Express Workflows) or impose considerable overheads for synchronizing massively parallel jobs (Azure Durable Functions, Amazon Step Functions, Google Cloud Composer). None of them are open systems enabling extensible interception and optimization of custom workflows. We present Triggerflow: an extensible Trigger-based Orchestration architecture for serverless workflows built on top of Knative Eventing and Kubernetes technologies. We demonstrate that Triggerflow is a novel serverless building block capable of constructing different reactive schedulers (State Machines, Directed Acyclic Graphs, Workflow as code). We also validate that it can support high-volume event processing workloads, auto-scale on demand and transparently optimize scientific workflows.

[1]  Robert B. Ross,et al.  Trigger-Based Incremental Data Processing with Unified Sync and Async Model , 2021, IEEE Transactions on Cloud Computing.

[2]  Jingyuan Zhang,et al.  In Search of a Fast and Efficient Serverless DAG Engine , 2019, 2019 IEEE/ACM Fourth International Parallel Data Systems Workshop (PDSW).

[3]  Sylvia Ratnasamy,et al.  Large-Scale Computation Not at the Cost of Expressiveness , 2013, HotOS.

[4]  Sunil Chandra,et al.  Decentralized orchestration of composite web services , 2004, WWW Alt. '04.

[5]  Anirudh Sivaraman,et al.  Encoding, Fast and Slow: Low-Latency Video Processing Using Thousands of Tiny Threads , 2017, NSDI.

[6]  Christina Delimitrou,et al.  Ripple: A Practical Declarative Programming Framework for Serverless Compute , 2020, ArXiv.

[7]  Marc Sánchez Artigas,et al.  Comparison of FaaS Orchestration Systems , 2018, 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion).

[8]  Bartosz Balis,et al.  Serverless execution of scientific workflows: Experiments with HyperFlow, AWS Lambda and Google Cloud Functions , 2017, Future Gener. Comput. Syst..

[9]  Oliver Kopp,et al.  From event streams to process models and back: Challenges and opportunities , 2017, Inf. Syst..

[10]  Peter Scheuermann,et al.  Active Database Systems , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[11]  Cristina L. Abad,et al.  The SPEC-RG Reference Architecture for FaaS: From Microservices and Containers to Serverless Platforms , 2019, IEEE Internet Computing.

[12]  Hans-Arno Jacobsen,et al.  Composite Subscriptions in Content-Based Publish/Subscribe Systems , 2005, Middleware.

[13]  Perry Cheng,et al.  The serverless trilemma: function composition for serverless computing , 2017, Onward!.

[14]  Christoforos E. Kozyrakis,et al.  From Laptop to Lambda: Outsourcing Everyday Jobs to Thousands of Transient Functional Containers , 2019, USENIX Annual Technical Conference.

[15]  Ion Stoica,et al.  Occupy the cloud: distributed computing for the 99% , 2017, SoCC.

[16]  Yuriy Brun,et al.  Formal foundations of serverless computing , 2019, Proc. ACM Program. Lang..

[17]  Andreas Geppert,et al.  Event-based distributed work-flow execution with eve , 2009 .

[18]  Wei Chen,et al.  Developing a Concurrent Service Orchestration Engine Based on Event-Driven Architecture , 2008, OTM Conferences.

[19]  Jinyang Li,et al.  Oolong: asynchronous distributed applications made easy , 2012, APSys.

[20]  Boi Faltings,et al.  Decentralized Orchestration of CompositeWeb Services , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[21]  Marc Sánchez Artigas,et al.  FaaS Orchestration of Parallel Workloads , 2019, WOSC@Middleware.