My goals in this talk:
Developers | Administrators |
---|---|
Get paid to write and push code | Get paid to keep servers and systems running |
Tasks given by product managers | Tasks given by internal IT management |
Rarely on call | Usually on call |
Love to deploy code on a Friday afternoon at 4:30 PM | "Love" to get paged at 3 AM and the developer is asleep or too drunk to help |
Ultimately, this is an incentive alignment problem, made harder because the two groups' chains of command often meet only at very high levels.
DevOps is a combination of people, practices, and tools, intended to solve some incentive compatibility problems between development teams and operations teams.
DevOps is ultimately about shipping code and related artifacts more effectively.
The next challenge is data: databases are stateful, making them harder to change.
If DataOps is DevOps plus data management, then MLOps is DataOps plus machine learning models.
We will use code-first Azure ML pipelines that we built in the prior talk, Getting Beyond the Basics with Azure Machine Learning (https://csmore.info/on/amlindepth).
We will only consider the code at a high level in this talk.
Microsoft and Google each have MLOps maturity level models, with Microsoft's being more fine-grained. As a result, we will review the Microsoft model--though the Google one is good as well!
Before we get into performing model updates, we should briefly consider popular branching strategies.
We will want to use environmental branching for this demo, though all four are useful (and there are other useful strategies as well!).
Key reasons:
Over the course of this talk, we have gained an understanding of what Machine Learning Operations (MLOps) is, the MLOps maturity model, and how to use GitHub Actions to automate Azure ML pipelines.
To learn more, go here:
https://csmore.info/on/mlops
And for help, contact me:
feasel@catallaxyservices.com | @feaselkl
Catallaxy Services consulting:
https://CSmore.info/on/contact