Skip to content

Commit e8ab5a0

Browse files
authored
Merge pull request #3200 from odidev/mlflow
Manage the ML lifecycle with MLflow on Google Cloud C4A Axion VM
2 parents 3a6f81a + 79983f1 commit e8ab5a0

16 files changed

Lines changed: 687 additions & 0 deletions
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: Manage the ML lifecycle with MLflow on Google Cloud C4A Axion VM
3+
4+
draft: true
5+
cascade:
6+
draft: true
7+
8+
minutes_to_complete: 30
9+
10+
who_is_this_for: This is an introductory topic for DevOps engineers, ML engineers, and software developers who want to manage the machine learning lifecycle using MLflow on SUSE Linux Enterprise Server (SLES) Arm64, track experiments, version models, and deploy models as scalable APIs.
11+
12+
learning_objectives:
13+
- Install and configure MLflow on Google Cloud C4A Axion processors for Arm64
14+
- Track experiments, log metrics, and compare runs using MLflow Tracking
15+
- Manage and version models using the MLflow Model Registry
16+
- Deploy models as APIs and validate end-to-end ML workflows
17+
18+
prerequisites:
19+
- A [Google Cloud Platform (GCP)](https://cloud.google.com/free) account with billing enabled
20+
- Basic familiarity with Python and machine learning concepts
21+
22+
author: Pareena Verma
23+
24+
##### Tags
25+
skilllevels: Introductory
26+
subjects: ML
27+
cloud_service_providers:
28+
- Google Cloud
29+
30+
armips:
31+
- Neoverse
32+
33+
tools_software_languages:
34+
- MLflow
35+
- Python
36+
- scikit-learn
37+
38+
operatingsystems:
39+
- Linux
40+
41+
# ================================================================================
42+
# FIXED, DO NOT MODIFY
43+
# ================================================================================
44+
45+
further_reading:
46+
- resource:
47+
title: MLflow official documentation
48+
link: https://mlflow.org/docs/latest/index.html
49+
type: documentation
50+
51+
- resource:
52+
title: MLflow GitHub repository
53+
link: https://github.com/mlflow/mlflow
54+
type: documentation
55+
56+
- resource:
57+
title: Scikit-learn documentation
58+
link: https://scikit-learn.org/stable/
59+
type: documentation
60+
61+
weight: 1
62+
layout: "learningpathall"
63+
learning_path_main_page: yes
64+
---
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
# ================================================================================
3+
# FIXED, DO NOT MODIFY THIS FILE
4+
# ================================================================================
5+
weight: 21 # Set to always be larger than the content in this path to be at the end of the navigation.
6+
title: "Next Steps" # Always the same, html page title.
7+
layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing.
8+
---
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: Get started with MLflow on Google Axion C4A
3+
weight: 2
4+
5+
layout: "learningpathall"
6+
---
7+
8+
## Explore Axion C4A Arm instances in Google Cloud
9+
10+
Google Axion C4A is a family of Arm-based virtual machines built on Google’s custom Axion CPU, which is based on Arm Neoverse-V2 cores. Designed for high-performance and energy-efficient computing, these virtual machines offer strong performance for modern cloud workloads such as CI/CD pipelines, microservices, media processing, and general-purpose applications.
11+
12+
The C4A series provides a cost-effective alternative to x86 virtual machines while leveraging the scalability and performance benefits of the Arm architecture in Google Cloud.
13+
14+
To learn more, see the Google blog [Introducing Google Axion Processors, our new Arm-based CPUs](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu).
15+
16+
## Explore MLflow on Google Axion C4A (Arm Neoverse V2)
17+
18+
MLflow is an open-source platform designed to manage the end-to-end machine learning lifecycle. It is widely used for experiment tracking, model management, reproducibility, and deployment.
19+
20+
MLflow provides a unified platform with components such as:
21+
22+
* **MLflow Tracking** for logging parameters, metrics, and artifacts
23+
* **MLflow Projects** for packaging and reproducible execution
24+
* **MLflow Models** for standardized model formats and deployment
25+
* **MLflow Model Registry** for versioning, lifecycle management, and model governance
26+
27+
Running MLflow on Google Axion C4A Arm-based infrastructure enables efficient execution of machine learning workflows by leveraging multi-core CPUs and optimized memory performance. This results in improved performance per watt, reduced infrastructure costs, and better scalability for ML experimentation and deployment pipelines.
28+
29+
Common use cases include experiment tracking, model versioning, reproducible ML workflows, CI/CD integration for ML pipelines, and deploying models as scalable APIs for real-time inference.
30+
31+
To learn more, visit the [MLflow documentation](https://mlflow.org/docs/latest/index.html) and explore the [MLflow GitHub repository](https://github.com/mlflow/mlflow).
32+
33+
## What you've accomplished and what's next
34+
35+
In this section, you:
36+
37+
* Explored Google Axion C4A Arm-based VMs and their performance advantages for ML workflows
38+
* Reviewed MLflow components, including Tracking, Projects, Models, and Model Registry
39+
* Understood how Arm architecture improves efficiency and scalability for ML lifecycle management
40+
41+
Next, you'll create a firewall rule to enable remote access to the MLflow UI and model serving APIs used in this Learning Path.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Create a firewall rule for MLflow
3+
weight: 3
4+
5+
### FIXED, DO NOT MODIFY
6+
layout: learningpathall
7+
---
8+
9+
Create a firewall rule in Google Cloud Console to expose required ports for the MLflow UI and model serving API.
10+
11+
{{% notice Note %}}
12+
For help with GCP setup, see the Learning Path [Getting started with Google Cloud Platform](/learning-paths/servers-and-cloud-computing/csp/google/).
13+
{{% /notice %}}
14+
15+
## Configure the firewall rule
16+
17+
Navigate to the [Google Cloud Console](https://console.cloud.google.com/), go to **VPC Network > Firewall**, and select **Create firewall rule**.
18+
19+
![Google Cloud Console VPC Network Firewall page showing the Create firewall rule button in the top menu bar alt-txt#center](images/firewall-rule.png "Create a firewall rule in Google Cloud Console")
20+
21+
Next, create the firewall rule that exposes required ports for Ray.
22+
23+
Set the **Name** of the new rule to "allow-mlflow-ports". Select the network that you intend to bind to your VM.
24+
25+
Set **Direction of traffic** to "Ingress". Set **Allow on match** to "Allow" and **Targets** to "Specified target tags". Enter "allow-ray-ports" in the **Target tags** text field. Set **Source IPv4 ranges** to "0.0.0.0/0".
26+
27+
![Google Cloud Console Create firewall rule form with Name set to allow-mlflow-ports and Direction of traffic set to Ingress alt-txt#center](images/network-rule.png "Configuring the allow-ray-ports firewall rule")
28+
29+
Finally, select **Specified protocols and ports** under the **Protocols and ports** section. Select the **TCP** checkbox and enter:
30+
31+
```text
32+
5000,6000
33+
```
34+
35+
* **5000** → MLflow Tracking UI
36+
* **6000** → MLflow Model Serving API
37+
38+
Then select **Create**.
39+
40+
![Google Cloud Console Protocols and ports section with TCP ports configured alt-txt#center](images/network-port.png "Setting Mlflow ports in the firewall rule")
41+
42+
## What you've accomplished and what's next
43+
44+
In this section, you:
45+
46+
* Created a firewall rule to expose MLflow UI and model serving API
47+
* Enabled external access to monitor experiments and access deployed models
48+
49+
Next, you'll run MLflow workloads and serve models on your Arm-based virtual machine.
179 KB
Loading
23.5 KB
Loading
22.3 KB
Loading
261 KB
Loading
97.6 KB
Loading
105 KB
Loading

0 commit comments

Comments
 (0)