Sergio Méndez
Building MLOps POCs and Sandbox Environments Using K3s and Argo
About me
Sergio Méndez
Basic Concepts
A POC is used to evaluate a solution in different contexts, effort, learning curve, costs, etc.
With a POC you can compare different solutions including technologies to solve a problem, in the way that you can determine using small experiments, which one is best.
POC(Proof of Concept)
Is an environment similar to production where you can run untrusted software without risk, is a controlled environment that can be used for testing, POCs with similar production data.
Sandbox Environment
“The word edge in this context means literal geographic distribution. Edge computing is computing that’s done at or near the source of the data, instead of relying on the cloud at one of a dozen data centers to do all the work. It doesn’t mean the cloud will disappear. It means the cloud is coming to you.”
Ref: https://www.theverge.com/circuitbreaker/2018/5/7/17327584/edge-computing-cloud-google-microsoft-apple-amazon
Edge Computing
Edge Computing Use Cases
"DevOps is the collaboration between software developers and IT operations with the goal of automating the process of software delivery and infrastructure changes. It creates a culture and environment where building, testing and releasing software can happen rapidly, frequently, and more reliably.”
Ref: https://pivotal.io/de/cloud-native
DevOps
In computing, a pipeline, also known as a data pipeline, is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion. Some amount of buffer storage is often inserted between elements.
Ref: https://en.wikipedia.org/wiki/Pipeline_(computing)
Pipeline
Machine Learning Model Operationalization Management (MLOps), we want to provide an end-to-end machine learning development process to design, build and manage reproducible, testable, and evolvable ML-powered software.
Ref: https://ml-ops.org/
MLOps
Ref: INNOQ, https://ml-ops.org/
Differences between DevOps & MLOps
Ref: https://ml-ops.org/
Different Users
Different Artifacts
Different Technologies
Different Goals
MLOps Experiment Types
Containers benefits for MLOps
MLOps you have to organize people, experiments and data in order to get valuable predictions
Technologies for
POCs and ML Pipelines
What is K3s
Ref: https://k3s.io/
Is a certified Kubernetes distribution built for IoT and Edge Computing.
Features
Ref: https://k3s.io/
If you are using ARM devices you have to recompile your libraries and applications, but you will be ready for Edge Computing
Companies are starting to migrate their workloads into Edge Computing platforms to reduce costs.
Ref: DevOps y el camino de baldosas amarillas, José Juan Mora Pérez
Argo Workflows
What is Argo Workflows?
Ref: https://argoproj.github.io/projects/argo/
“Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo Workflows is implemented as a Kubernetes CRD.”
Argo Workflows
Features
Ref: https://argoproj.github.io/projects/argo/
ArgoCD
What is ArgoCD?
Ref: https://argo-cd.readthedocs.io/en/stable/
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
Features
ArgoCD
Ref: https://argo-cd.readthedocs.io/en/stable/
ArgoCD supports the next configuration formats:
Don’t forget Argo Events and Rollouts
Argo could replace
Or it’s a good complement for your current solution
Benefits
Demonstration
On this demo you will see
Demo Architecture
1. ETL
2. Model Training
3. Model Deploy
4.Inference
Argo
Workflows
ArgoCD
Model Serve
Deployment
InputCSV
Output
CSV
RAW
Predictions
InputCSV
Processed
scores.model
http://mlops.tk/model1/predict
request
response
Resources
Slides:
https://b.link/KubeconEU2021-k3s-argo
Repository:
https://github.com/sergioarmgpl�/mlops-argo-k3s
Personal email
sergioarm.gpl@gmail.com
Social networks
@sergioarmgpl
Thanks