Choosing Your MLOps Stack

Choosing Your MLOps Stack

Feb 26, 2023   ·  4 min read

No single tech stack works for every organization, thus it’s important that DS/ML/AI teams consider their needs carefully in-line with their current needs and priorities. 

Data Science, Machine Learning, and Artificial Intelligence (collectively referred to as "ML" in this article) teams and practitioners are becoming evermore aware that their work needs more than just a "model" to succeed. In most cases, real-world ML systems are made up of only a small fraction of "ML code" and require a host of other important pieces to effectively develop, deploy, and support them.

Having a modern MLOps tech stack (see What is MLOps?) that compliments your ML work is crucial to ensuring its long-term success.

Illustrated by Google Cloud Platform

What is the "MLOps Stack"?

"To specify an architecture and infrastructure stack for Machine Learning Operations, we suggest a general... framework designed to be application- and industry-neutral. We align to the CRISP-ML(Q) model and describe the eleven components of the MLOps stack and line them up along with the ML Lifecycle." - ml-ops.org


Simply put, an "MLOps stack" is merely a self-selected tech stack of key components that support the ML lifecycle through established practices, tools, and solutions. I first read about the MLOps Stack when I came across an article at ml-ops.org

Illustrated by ml-ops.org

The above diagram is the best visual demonstration of the ML lifecycle that I've seen. Not only does it depict the lifecycle, but it also shows where MLOps is uniquely poised to add value to the development, deployment, and management of ML systems. These 11 areas shown are to augment your productivity and effectiveness wherever possible along the lifecycle.

This diagram is a well thought-out reference that I hold onto and recommend to others. Check out the following research papers to see some of the thought-work that went into defining MLOps stacks and the CRISP-ML(Q) process model:

Does having an MLOps stack sounds like a lot of work? Well, yeah it is, but don't let that scare you. It's understandable if you don't have tools/processes in place for some of these areas, but check out the next section to get some helpful tips!

How to Choose Your MLOps Stack

"MLOps first started off with the problem of taking models from notebooks into production at scale, but it has now become a collection of tools that help with things that data scientists generally don’t like to do or worry about. A wide variety of companies, tools and open-source projects have emerged in areas such as data labeling, model and data versioning, experiment tracking, scaled-out training and model execution." - Source

Tip #1 - Choose new tools carefully


My team has noticed that we have had a very large tech stack over the past few years. Having to know so many technologies is not only difficult, but it makes it harder to maintain systems and hire new talent. Because of this, choosing to incorporate a new technology into our toolchain is a serious decision and one we do through careful consideration.


Here is some of the criteria that we use when assessing a new tool for our MLOps stack:


Tip #2 - Prioritize what is needed now and iterate over time


Where do you need the most improvements in the ML lifecycle? Prioritize these areas in your MLOps stack by incorporating tools that will help you now. You can fill in your MLOps stack over time as important projects/initiatives arise, further fleshing out the stack as needed.


You might not be able to utilize each area of the MLOps Stack right away due to time and resource constraints, but here are some suggestions as you do so:


Tip #3 - Learn from others


Stay in touch with the latest trends in MLOps by following popular forums like mlops.community or r/mlops. If possible, try to attend meetups to see what is working for others in your community.

If you found any of my content helpful, please consider donating
using one of the following options   Anything is appreciated!