MLOps is just glorified DevOps?

Demetrios Brinkmann
MLOps.community
Published in
6 min readSep 13, 2020

This is a thread taken from our MLops community slack. It has been a hot topic of debate recently and we have since recorded another coffee session on the topic (link at end of thread).

Let us know what you think in the comments or jump on slack and voice your opinion there.

MLops is just glorified DevOps. Prove me wrong

-Alexey Grigorev

Demetrios

I don't have to, @David Aponte and @Ryan Dawson already did.

Laszlo Sragner

Strong opening Alexey Grigorev

Jan van der Vegt

While DevOps is also not perfectly defined, I agree. There are a few significant differences compared to regular software though: code that is tested is not enough to determine if it should be pushed to production, the “build” step requires access to large amounts of data and compute and new builds and deployments should be able to happen without changes in code or manual steps because of a dependency on data that can change

Ryan Dawson

I think of MLOps as a species of DevOps+. So DevOps but with extra niche skills. Like how DevSecOps is DevOps plus deeper knowledge of security concerns.

Damian Brady

My 2c…
I largely agree that MLOps is just DevOps for ML — but definitely acknowledge there are differences in some of the actual processes that need to happen.
At its root though, DevOps is about enabling continuous delivery of valuable change. I don’t think that changes when it’s ML.

Ariel Biller

My working answer for this is: Yes, MLOps IS DevOps, it is just the “API” that is shared from DevOps to the data-science teams so they can self-serve

Alexey Grigorev

Thanks @Demetrios I’ll check the video. For now what I see is kubeflow is just a thing on top of kubernetes, so nobody is more qualified to take care of kubeflow than devops engineersNot sure if Sagemaker can qualify as MLOps, there are too many things we need to add around it to make it useful (but it’s quite good nonetheless)So at the end, our model is “just” a microservice, and we communicate with it using traditional things like REST or sometimes gRPC. Or, alternatively, just another step in our ETL, which takes a lot of data and produces something — another dataset or a model

Damian Brady

The tooling is only a small part of MLOps too, right?

Alexey Grigorev

what else is there?

Damian Brady

There’s all the cultural aspects I’d normally associate with DevOps… things like ownership, customer focus, continuous improvement of process, etc.
Then all the process aspects like approvals and promotions, even branching strategies when it comes to source control..

Lots of those things use the tools, but the tool isn’t the whole story.

FWIW this is definitely the point of view of a DevOps guy — that’s much more my area rather than ML

Demetrios

There’s all the cultural aspects I’d normally associate with DevOps

Yes this is a super important part and one that I was talking about yesterday with @Jet Basrawi

Laszlo Sragner

I would be weary to define MLOps in the same broad way as “Agile” because it will mean everything and nothing. MLOps is the consistent and coherent generation of productionisable models. The actual running of it is a Devops job, the monitoring of ongoing performance is a business intelligence job.

Larysa Visengeriyeva

My try:

Damian Brady

If you look at the various definitions of DevOps around the place, they’re all broad, and they all combine software development, deployment, and operation.
It definitely includes much more than just running something in production, or deploying it into production

Similarly, I don’t think MLOps should stop at the point a model is created…
I guess that’s why I have issues separating the two — MLOps and DevOps. I’ve always just thought of MLOps as “DevOps for Machine Learning projects”

Obviously all my opinion

Demetrios

@Luke Marsden also had these slides to say

Laszlo Sragner

How is devops implemented usually organisationally? Who are they reporting to?

Adam Laiacano

One thing that I’d add to the above slide is an arrow from Models/metrics ->

, because most of that experimentation work gets thrown out rather than deployed. But still has to be able to be deployed if it’s good.

Ryan Dawson

I wrote an article on this question that covers most of the points made in the coffee session linked above — https://www.hackernoon.com/why-is-devops-for-machine-learning-so-different-384z32f1

Why is DevOps for Machine Learning so Different? | Hacker Noon

The term ‘MLOps’ is appearing more and more. Many from a traditional DevOps background might wonder why this isn’t just called ‘DevOps’. In this article we’ll explain why MLOps is so different from mainstream DevOps and see why it poses new challenges for the industry. (Not automatically expanded because 3 MB is too large. You can expand it anyway or open it in a new window.)

Alexey Grigorev

@Demetrios this is a nice slide, but “traditional” software also have metrics and parameters. What’s different though is a model — we have it only for ML

But probably this slide alone is not enough, I should watch the actual presentation =)

Diego Oppenheimer

if we agree that machine learning is just software then 100%

Damian Brady

How is devops implemented usually organisationally? Who are they reporting to?

I could talk for hours on this, but in summary — If DevOps is a department or a role, your company doesn’t understand DevOps

The idea is to have cross-functional teams that all work together to deliver great software. So organisationally, that might include teams with people specialising in product, dev, test, ops, security, even marketing and sales.
I think it makes things easier if the reporting chain is project/product-based and fairly flat. That way you don’t have people with multiple managers, and you don’t have silos (which end up being bottlenecks).

All that’s not to say you can’t have a “DevOps department”, but they shouldn’t be doing all the DevOps. They should be an enablement team to help individual projects with tooling, skills and knowledge to own the process themselves.

Great article @Ryan Dawson, thanks!

Big thanks to all the community members that participated in the conversation to check out the more recent conversation around this topic you can watch our coffee sessions on MLOps vs DevOps #2 here.

The MLOps community is an open and equal space where all are welcome to teach and learn from each other. We share best practices, tips, pains, and questions in slack and have live meetups to talk with some of the leading innovators in this field. If you would like to get involved please join slack and reach out. To hear all of our recorded past meetups check out our youtube channel or listen to our podcast.

--

--

MLOps.community
MLOps.community

Published in MLOps.community

The MLOps Community fills the swiftly growing need to share real-world Machine Learning Operations best practices from engineers in the field.

Demetrios Brinkmann
Demetrios Brinkmann

Written by Demetrios Brinkmann

Father, Artist, Happy. Creator of MLOps community and Lover of AI Ethics

No responses yet