The One with DevOps and MLOps

Ashmi Banerjee
4 min readJun 12, 2022

A comparison between Development Operations (DevOps) and Machine Learning Operations (MLOps)

Photo by Crystal Kwok on Unsplash

Hey there! 👋

In my previous article, I explained MLOps and its key phases.

In this article, I will compare two approaches — DevOps and MLOps, and highlight their similarities and key differences.

Before diving deeper into the comparisons, let’s define the two terms first.

Defining DevOps and MLOps

DevOps and MLOps life cycles. Source: phData

Wikipedia defines DevOps as:

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

On the other hand, MLOps can be defined as the following:

MLOps is a set of best engineering practices in Machine Learning (ML), Software Engineering (DevOps) and Data engineering that aim to build efficient and reliable systems in production.

The intersection of disciplines of the MLOps paradigm. Source: MLOps_arXiv_v4

Similarities

  • MLOps is a paradigm, derived from DevOps
  • It is very similar to DevOps when it comes to continuous integration of source control, unit testing of modules, integration testing, and continuous delivery of the modules or the packages.

Differences between DevOps and MLOps

  • MLOps is much more experimental in nature compared to DevOps as Data Scientists need to tweak various parameters, models, hyper-parameters, etc. at the same time data, model, and code versioning to ensure robustness and reproducibility of results.
  • Interdisciplinary team formation — a regular ML team comprises ML researchers and Data Scientists but an MLOps team is a combination of Data Scientists, Data Engineers and Software Engineers (DevOps experts)
  • Model testing — in addition to the conventional unit tests, performance tests, integration tests etc. for regular software testing an ML system involves model validation, model retraining, etc.
  • Automated deployment — To prevent a model from becoming redundant (model decay), it is important that it is continuously retrained, validated, and its updated versions are being deployed.
    Thus, adding an extra layer of complexity to the system as it means it is required to automate the multi-step process of training, validation and deployment which is usually done manually by the data scientists.
  • Model monitoring — The statistics of the models deployed in production can change over time and it needs to be closely monitored to prevent the system from crashing or behaving in an undesired fashion.

Bridging ML and IT with MLOps

Source: Deploying Machine Learning Models in Production | Coursera

The journey of a machine learning model from a prototype to the production (ML Solution Lifecycle) can be blended together through three important stages — Continuous Integration (CI), Continuous Delivery (CD), and Continuous Training (CT).

The terms are elaborated as follows:

Continuous Integration (CI) — involves testing and validating code, components, data, data schemas, and models

Continuous Delivery (CD) — this not only deploys a single software package or a service, but a system that automatically deploys another service (model prediction service)

Continuous Training (CT) — A new process, unique to ML systems, that automatically retrains candidate models for testing and serving.

Conclusion

In this article, I have summarised the key distinction between two approaches — MLOps and DevOps. Now often the question arises if DevOps expertise is enough to deploy ML models in production.

Even though the goal of both these approaches is to build efficient and scalable software systems, the knowledge of only DevOps is not sufficient to deploy machine learning models in production.

It is important that the person(s) deploying the ML models in production have some knowledge about the models themselves and can retrain them when needed. Hence, to address this role, we introduce the role of an MLOps engineer, who works in a cross-functional team and is responsible for building and maintaining the ML infrastructure.

You can read more about the role of an MLOps engineer in my next blog.

The references and further readings on this topic have been summarised here.

If you like the article, please subscribe to get my latest ones.
To get in touch, either reach out to me on
LinkedIn or via ashmibanerjee.com.

--

--

Ashmi Banerjee

👩‍💻 Woman in tech, excited about new technical challenges. You can read more about me at: https://ashmibanerjee.com/