The role of DevOps, Data Ops and ML Ops in Delivering Enterprise AI

Institute for Ethical AI
7 min readAug 7, 2020

--

by Arijit Mitra

Important emerging areas of productionising a product containing AI are This blog is concerned with the role of DevOps, Data Ops and ML Ops methodologies in delivering A.I on an enterprise scale. Without these fully under control, the risk of mishap during operation of the AI product is substantially increased.

I have been delivering enterprise-level systems long before A.I became ubiquitous. It is that point just before going into production that I can distinctly remember that, despite all the planning, I always used to get butterflies in my stomach. The sheer dread of how senior management and stakeholders would react if it all went “Boom!”

A failure going live is catastrophic for a business. We need to be confident that our production environment, when activated for the first time, will work. More than just work on activation, we need reliability and maintainability. Ultimately how well we do will determine the success not only of our immediate programme but all that comes after it too. The stakes are high.

Long before production, we should have developed and tested our application. From my personal experience of working within the enterprise scale of blue-chip companies, applications progress through multiple stages (i.e. development, testing, UAT, pre-production, production).

It can be a long exhausting process, and the time to value can diminish return on investment to zero.

So how can we get more certainty? How can we reduce the costs of enterprise wide deployments?

In recent years we have seen a rise in continuous delivery\deployment strategies for software, infrastructure, and machine learning models. Here are three methodologies that are frequently used:

  • DevOps — Aims to combine the Development of Software with building and deployment of infrastructure (Operations)
  • Data Ops — Automates the delivery of data sources and their subsequent operational management for the enterprise.
  • ML Ops — Automates the development and deployment of machine learning algorithms.

All these strategies share the common aim of shortening the time to value.

Waterfall vs Agile in a DevOps World

The goal of DevOps is the automation of processes to build IT environments, which includes both software and infrastructure. DevOps is being used today to move from waterfall styles of systems delivery.

Within the Waterfall methodology the project is compartmentalised into distinct sequential phases. Each individual phase must be completed before proceeding to the next.

Figure 1: Waterfall [ Figure sourced from reference 1]

This traditional form leaves little or no room for sudden changes. Today’s modern enterprise architecture seeks to establish ecosystems where technology assets are added, maintained, or removed as the business environment demands. A more flexible approach is required in project methodology.

Agile methodology is designed to facilitate flexibility in software development. A typical Agile process is as described in the diagram below.

The driver for Agile is the evolution of software ecosystems, often created via collaborative cross functional teams.

Today DevOps is being used to automate agile approaches to delivering software to an enterprise. The facets of continuous delivery, systems integration and deployment all refer to the evolution of an ecosystem.

Figure 2: Agile Methodology [Figure sourced from reference 2]

Continuous delivery is concerned with automating software and infrastructure installation release process. I had written automation for scripts for software before, so seeing it in DevOps was no great surprise. However, I was at first dumbfounded when using DevOps automation to requisition infrastructure.

All this is great but so what? What is the business justification for all this additional overhead?

The goal of this approach is a quicker return on investment without sacrificing reliability.

Figure 3: DevOps Process [Figure sourced from reference 3]

From a personal standpoint, I found DevOps the easiest to understand and implement. I cut my DevOps teeth working on a mammoth migration project from a managed data centre to a cloud services platform.

We have a framework for deploying our software and infrastructure, but what about our data?

Enter Data Ops and Desperate Disparate Sources of Data

Like its sibling’s, the goal of Data Ops is automation, specifically the set-up, management, and governance of data sources within an organisation.

Figure 4: Data Ops Process [figure sourced from reference 4]

Below is a mere sample of the kinds of data sources that we may encounter today.

The figure below shows a snapshot of the most popular vendors in the market data.

Figure 5: Data Related Products [figure sourced from reference 7]

In my opinion, a sound Data Ops strategy is essential to avoid desperation when dealing with all these disparate sources of data.

Machine Learning & Data

Machine Learning is driven by data. Its foundation being data science, it is the art of navigating that continuous cycle of questions and hypotheses, through experimentation, analysis, and conclusion. Prompting more observations and questions, then another cycle.

The coding environment of a Data Scientist can seem like an anathema to a software engineer.

I know it felt totally weird going from programming languages like C++\Java to Python\Julia. All too often, code developed via continuous experimentation needs considerable refactoring for production.

The goal of delivering production-ready machine learning is central to ML Ops. Like its siblings, the concept driving ML Ops is the automation of continuous integration (CI) and continuous delivery (CD) for machine learning models [5].

From personal experience, continuous integration (CI) in machine learning projects encompass more than just software development. They include the machine learning pipeline of data collection, validation, dealing with schema-on-read, development of machine learning models etc.

Machine Learning models learn from data. In an ideal world the data gathered is representative of the real world, enough that the machine learning model can generalise to the point that it can cope with data that it has not seen before.

But what happens when the data presented to a machine learning model changes gradually over time to a point that the model loses its effectiveness? This situation is known as data or algorithmic drift. Its occurrence is something we cannot necessarily predict, but we can continuously monitor.

The adoption of artificial intelligence across society has been steadily increasing. Artificial Intelligence capability is gradually being incorporated within enterprise scale applications. These are not necessarily ‘brand new’ enterprise applications. Existing enterprise ecosystems are benefiting from the introduction of AI capability to deliver insights from data that traditional business intelligence cannot. It is estimated that AI will contribute $15.7tr to the global economy by 2030 [6].

I expect that it will be economic drivers that force companies to adopt DevOps, Data Ops and ML Ops approaches in delivering their products. As companies compete to deliver quality products and services to an eager market.

References

  1. http://www.umsl.edu/~hugheyd/is6840/waterfall.html
  2. https://medium.com/@lizparody/waterfall-vs-agile-methodology-in-software-development-1e19ef168cf6
  3. https://nub8.net/what-is-devops/
  4. https://www.eweek.com/development/best-practices-for-data-management-using-dataops
  5. https://cloud.google.com/solutions/machine-learning/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning
  6. https://www.pwc.com/gx/en/issues/data-and-analytics/publications/artificial-intelligence-study.html#:~:text=Total%20economic%20impact%20of%20AI%20in%20the%20period%20to%202030&text=AI%20could%20contribute%20up%20to,come%20from%20consumption%2Dside%20effects.
  7. https://risymilehur.elleandrblog.com/3-vendors-database-products-essay-11069zm.html

Arijit Mitra is Validation Team Lead at The Institute for Ethical AI and the Managing Director at Apurba Ltd and his background is in artificial intelligence, natural language processing and big data. He has worked extensively in biopharma, healthcare and finance industries.

Did you enjoy this post? Leave a comment below and share with your friends and colleagues.

Want to read more long-form content from the Institute for Ethical AI team? Click the follow button below.

Want to find out more about the Institute for Ethical AI and our work? Visit our website.

Want to be kept informed about what’s happening in the world of AI? Sign up to our weekly newsletter, The Code. (Curated by the Institute for Ethical AI team for trustworthy content!)

Copyright © Institute for Ethical AI 2020. All rights reserved.

This content may not be reproduced without the explicit permission of the copyright owner. The Institute for Ethical AI does not claim any right over the videos, graphics and images used in this content. All rights reserved to the respective copyright owners.

To contact us, email ethicalai@brookes.ac.uk.

--

--

Institute for Ethical AI

Promoting the ethical development and deployment of AI technology.