# From DevOps to MLOps: Overview and Application to Electricity Market Forecasting
## 3 An Overview of DevOps and MLOps
### MLOps
#### 3.2.1 MLOps Workflow and Components  
Like DevOps, the focus of MLOps is to automate the software delivery process throughout, ensuring continuous delivery and a feedback loop of the software. However, in most cases, the ML application must work with the other software assets in a DevOps-based CI/CD environment. In such cases, additional steps are introduced to the existing DevOps process because existing DevOps tools and pipelines cannot be applied to ML applications [9]. The adaptation of MLOps practices is still in its initial stages, as there is little research on MLOps compared with DevOps [62]. For the ML systems, data scientists and operations teams are trying to automate the end-to-end life cycle of ML by utilizing DevOps  
Figure 5: A typical CI/CD pipeline adapted from [54; 77; 80; 127]. concepts [66]. Due to the variations in ML methodologies, it is challenging to generalize MLOps components. To date, numerous designs with different components have been proposed, such as Iterative/Incremental processes [132] and Continuous Delivery for Machine Learning (CD4 ML) [133]. In 2015, [PERSON] et al. [4] highlighted that in most real-world ML applications, the quantity of actual ML code is significantly smaller than the surrounding infrastructure, and a vast infrastructure supports this small ML code. The authors also discussed technical issues and challenges in ML systems, such as model complexity, reproducibility of the results, testing, and monitoring. Most of these are also relevant for DevOps components. Hence, it is vital to include the data, infrastructure, and core ML code in the MLOps life cycle. Numerous ML life-cycle processes such as CRISP-ML(Q) [134] have been proposed to establish a standard process model for ML development. [PERSON] et al. [62] presented a maturity model outlining various stages by which companies evolve their MLOps approaches. A generic MLOps workflow is shown in Figure 6. As mentioned, the concerns cited by [PERSON] et al. [4]--such as code maintenance problems and system-level issues--are also present in traditional software development, and DevOps solves most of them via CI/CD. This CI/CD process creates reliable pipelines with assured quality to release the software into production. A cross-functional team is a way of involving expertise from different functional areas [78; 135], such as data scientists and ML engineers [131]. In MLOps, a cross-functional team produces ML applications in small increments based on three parameters: code, data, and models. These can be released and reproduced at any time, using a constant seed value for random sample initialization to set the weights of the trainable layers, if applicable [136]. The following subsections define the generic MLOps process model illustrated in Figure 6.  
Data  
ML is driven by data; hence, data analysis and operations are vital to MLOps. [137; 138]. Unlike DevOps, ML operations are experimental, which is true in almost all of the steps of MLOps. For instance, hyperparameter optimization is varied during implementation. The same is true for data, and the following operations are involved in data analysis [139; 140]:  
* Data extraction;
* Data validation;
* Data analysis;
* Data preparation. The sequence and usage of these components depend on the type of ML and the nature of the application. **Data extraction** is mainly concerned with the gathering of data from different sources. The data sources--such as online APIs, cloud-based data lakes, CSV files, or a combination  
Figure 6: Typical MLOps workflow adapted from [68; 131]. of these--can be diverse. Extra precautions should be taken while extracting the data for some ML tasks. For instance, for a classification issue, the data must be balanced after they are extracted. Failing to do so might degrade the classifier's performance [141]. The data extraction component in the MLOps pipeline is usually the first step, in which data from one or more sources are integrated for further processing [139].