 Hey, everybody. Thanks for the opportunity to speak with you all today. I'm going to talk about an open source project called Kubeflow. And it brings some of the great things that you see in the DevOps world and traditional software development to the world of machine learning. So the first point I want to make is that machine learning and software development are really kind of blending together. So a lot of the algorithms that were invented for machine learning really are decades old. But over time, through incremental improvement and some bigger improvements, especially with improvements in compute and storage capability, in the last decade, we've seen sort of this threshold being crossed, where machine learning is solving all kinds of new problems that it wasn't able to before. And so now what we're seeing is that most recently, machine learning is just another way of solving problems. Instead of having a rule-based approach, you're inferring the rules from learning by example. So just one more way to do things, more and more businesses are using AI. And so one of the open challenges is a lack of lifecycle management. And what I mean by that is that machine learning modeling is really one small piece of the overall process. You might have many data sources. You need to clean them, transform them, validate the data. And you need to do that in a deterministic way. Secondly, data science is all about experimentation, trying new things, experimenting, seeing if this works or that that works. And so tracking each run is really essential. And so what we're seeing now is that, like in the academic world, one of the largest conferences called NeurIPS is now not just taking results from papers. It wants to see everything that went into creating that result, the data, the process, the infrastructure that was used. So it's great to see that this issue is receiving some attention and growing visibility. So with that, I want to introduce Kubeflow. Here's the mission statement for it. So a few things that I want to point out there. One is that it makes it easy for everyone. So beginners that want sort of some sensible defaults, as well as advanced practitioners that need to customize things. It allows you to do the full lifecycle of machine learning on a Kubernetes infrastructure. So it's portable, so you can run it on-premise, in the cloud, multi-cloud, and it's distributed. So you can kind of run these large training jobs with it. So here's the dashboard. Really, this is just where you kind of see the main activities that you can launch from. And the main sort of capabilities are everything from developing a model to training that model, kind of spreading it over your whole cluster, and serving the model, which kind of can be overlooked. Once it's used in production, you might be having a heavy workload. It provides you a rest endpoint that your cluster can basically serve up the model with. And finally, orchestration. That's kind of the main piece that we're talking about today. So it's all running on top of a Kubernetes infrastructure, most recent release uses Istio that gives us metrics and authorization capability. So what's a pipeline in Kubeflow? Really, it's just a set of predetermined steps that you define in code. And you can use some components that we have to basically perform all kinds of capabilities, downloading data, training, et cetera. Or you can write your own custom code in those. So here's an example of a pipeline written in Python. This is actually something I used in a recent blog post for retraining a model. So as new data comes around, it will do a three-step process to download the new data, retrain a model, and then redeploy it. And you see that there's a Pipelines SDK that converts that into a GUI in the Kubeflow dashboard. So you can kind of see what's going on. And this sort of all comes together when you look at the results of your experiment, where you can see all the different runs that you've made, the accuracy, was it successful, so on and so forth. You can even add your own metadata to each run to kind of track what's going on. So in summary, what we saw today here, we learned about Kubeflow, which is a cloud-native, multi-cloud solution for machine learning. It provides you with your own pipelines that you can build to sort of match whatever you're doing in your business. And if you're running Kubernetes, you can run Kubeflow. It's an open and inclusive community. We're looking for people to just take a look, maybe get involved. The main way to access Kubeflow is at the website, but you can see there's a GitHub, Slack community, et cetera. If you wanna try it out today, here's a link to a lab to use it. And that's it for today. Thank you very much for your time.