Trade-Offs

This section deals with pitfalls of Metaflow and other technologies that help solve the same problem.

What Are the Pitfalls of Gaining More Productivity With Metaflow?

Similar Technologies and Related Works

Flyte by Lyft

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9a96ebe6-3f76-423c-ba35-24143887a59e/image4.png

Architecture of Flyte

Architecture of Flyte

Flyte by Lyft which was open-sourced in Jan 2020 has the same architecture with native support for Spark. Even though Flyte and Metaflow are really similar libraries, their design choices have drifted them apart quite distinctly.

Flyte has more strictly typed decorators and input conventions. For example: Flyte takes strict input parameters according to dataflow from steps. Metaflow stores artifacts generated from a step in a flow internally as part of the object. It does so assuming that access to properties will happen with respect to the dataflow paradigm. This design difference makes Metaflow more human-friendly for adoption.

Task Definition on Flyte

Task Definition on Flyte

Workflow definition from the Tasks.

Workflow definition from the Tasks.

Flyte also has its own suite of services it deploys on Kubernetes. It is not self-isolated like Metaflow. Unlike Metaflow, Flyte has very good support for BigQuery and other data processing frameworks like Spark and Kubernetes.

Kubeflow

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/254231dd-0a0b-4bfe-b2f6-1111b89a8427/Untitled.png