What are the key components of an MLOps pipeline?

MLOps unlike traditional DevOps in software development is not only concerned with the management of code but must additionally account for data and models. A functional MLOps pipeline must be able to link together, and track changes, to the code used to develop a model and prepare the data, the data used for training and validation of the model and finally the model object itself. Therefore, an MLOps pipeline must consist of, at minimum, of the following components: A source code repository, a data versioning tool, a model repository, a CI/CD pipeline, a compute environment for training and development, model serving and finally, monitoring capabilities both for the data inputs and model outputs.