How Netflix Metaflow Framework Is Different Than Other Python Frameworks
Python is one of the fastest-growing programming languages in the world today. It is already being used by 8 million developers across the world.
It’s hard to say that when Guido Van Rossum first laid the foundation of Python in the 1990s, he would have imagined the extent to which people would adore the programming language.
But, the fact is, organizations from all across the world love to implement Python in their business processes. In the data science industry, for example, Python is being utilized like no other programming language.
Who Uses Python?
Tech and cloud titans are not shying away from using Python for their organizations. Dropbox is a very astonishing and one-of-a-kind move that’s able to write down 4 million lines of Python code. Similarly, Facebook is using Python as its configuration language for its container development system Tupperware.
More and more organizations are shifting their code to Python in recent times and there are many reasons for it. Python is one single language but serves plenty of purposes.
Whether you want to use it as a scripting language, for machine learning development or for data science projects, Python is full of surprises for every use and purpose. It is easy to learn and start implementing which is why it catches the attention of both beginner and professional developers.
Python is scalable, too. It consists of abundant libraries that reduce the burden of coding something from scratch. These, along with many other reasons, contribute to the widespread use of Python across the data science industry.
The Origin of Metaflow
The cloud-based video streaming giant Netflix is one organization that uses Python in almost everything that it does. The organization is a classic example of how Python can be utilized to its full potential for business-critical processes along with real-world data science projects.
Netflix uses a mixture of already existing libraries and in-house frameworks of Python development. Not only this, Netflix also has its very own Python framework for data science known as Metaflow. Ever since its inception a few years ago, it is the first time that Python has turned it into an open-source framework.
But the foundation stone of Metaflow wasn’t laid because Netflix wanted to reform the way data scientists work today. Around two years ago, the entire machine learning team at Netflix gathered just to understand the most robust challenges faced by data scientists while carrying out their tasks.
The answers expected for this question were supposed to revolve around data models and GPUs of massive scale. Instead, what came out as an actual fact was surprising.
Data scientists faced a lot of challenges involving projects and their initial versions which took a significant amount of time to get produced.
Data scientists were found to be more excited about off-the-shelf machine learning libraries. However, these couldn’t be completely utilized because of the issues caused during dependencies in a production workflow. As a result, the entire task of a data scientist became a hassle-filled affair.
The result was this: almost everything could be performed using the existing data science libraries in the world.
The only issue was that there was no such thing as easy. Owing to this reason, Netflix set out to develop Metaflow. They did it to allow common operations in data science to become as easy as pie. The entire focus was to channel the energy with the sole focus of increasing the productivity of data scientists. As a result, metaflow was made with a humancentric fanatic in mind.
How Metaflow Improves the Job of a Data Scientist
Models are only a miniature part of a complete end-to-end project. In other words, production-grade projects rely heavily on a thick stack of infrastructure. Even for the smallest of projects, businesses need data and a way to perform computation on top of it.
When it comes to Netflix’s typical data science project, scientists touch almost every single layer of their business stack.
Data scientists at Netflix basically love the freedom of being able to choose the most befitting modeling approach for their projects. Even though they understand that feature engineering is fundamental to several models, they do not want to be limited by this fact.
Put differently, in the modern world, data scientists want to express their business logic through Python code, but don’t want to spend too much time thinking about the engineering issues behind it. These issues include factors like object hierarchies, packaging issues, and dealing with dubious APIs that are not closely related to their work.
Most data scientists don’t have anything against the Python code. They just want the foundation components to work when they don’t display messages that are clear and understandable. To solve all these issues, Metaflow provides a unified approach to navigating the stack.
It allows data scientists to write models and business logic with idiomatic Python code and leverages existing infrastructure whenever feasible. It is conveniently integrated into full-stack with humancentric APIs as its core proposition.
Even though Metaflow might not feel very different from what one could easily achieve in R or other Python frameworks, its main feature lies in quickly putting the existing workflows to the cloud. Metaflow quickly snapshots the code along with the data and dependencies automatically in a content-addressed data store. This is typically backed by S3 or a local file system as well. Therefore, it helps scientists resume workflows along with reproducing past results and inspecting almost everything about the workflow in a notebook.
Even though Metaflow only supports Amazon Web services today, but soon another could be supported, too. Quite some engineering has gone into developing Metaflow. This is why being open source can help plenty of organizations up their data science projects and ease the lives of their data scientists. Ultimately, it is making the data speak to solve the toughest business problems.