As shown in “Challenges in machine learning deployment” project, when deploying machine learning algorithms in real-world systems, software developers face a new set of challenges. In this project we ask a question: “What are the underlying reasons for these challenges to arise?”, and propose that the problem lies with the modern trend of building software systems as microservices. While microservice architectures are resilient, scalable and fast, we argue that they do not answer the demands of the data-driven world.

 As an alternative, we propose to consider dataflow-based paradigm for system design, Flow-based programming. In this project we build several prototypical applications that illustrate typical ML deployment scenarios in various industries, and show how certain FBP features allow developers to deal with ML deployment tasks better than in service-based software.

For software associated with this project, please visit: https://github.com/mlatcl/fbp-vs-soa

Related Publications

Towards Better Data Discovery and Collection with Flow-Based Programming

Andrei Paleyes, Christian Cabrera, Neil D. Lawrence

Neurips Data-Centric AI Workshop (DCAI), :

An Empirical Evaluation of Flow Based Programming in the Machine Learning Deployment Context

Andrei Paleyes, Christian Cabrera, Neil D. Lawrence

1st International Conference on AI Engineering – Software Engineering for AI, :