# Create a Google Axion C4A Arm virtual machine

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/)
- [Understand Flyte and gRPC ML workflows on Google Axion](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/background/)
- [Create a Google Axion C4A Arm virtual machine](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/instance/)
- [Install Flyte and gRPC tools on Axion](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/install-flyte/)
- [Build a gRPC feature engineering service](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/create-grpc-service/)
- [Create ML Training Workflow](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/create-ml-workflow/)
- [Execute and validate the ML pipeline](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/run-ml-pipeline/)
- [Understand the distributed ML architecture](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/architecture/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/_next-steps/)

## Provision Google Axion infrastructure
In this section you’ll create a Google Axion C4A arm64 virtual machine on Google Cloud Platform. You’ll use the `c4a-standard-4` machine type, which provides 4 vCPUs and 16 GB of memory. This virtual machine hosts your Flyte ML Workflow with gRPC applications.

> **Note**  
> For help with GCP setup, see the Learning Path [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/).

## Provision the virtual machine in Google Cloud Console
To create a virtual machine based on the C4A instance type:

- Navigate to the [Google Cloud Console](https://console.cloud.google.com/).
- Go to **Compute Engine > VM Instances** and select **Create Instance**.
- Under **Machine configuration**:
  - Populate fields such as **Instance name**, **Region**, and **Zone**.
  - Set **Series** to `C4A`.
  - Select `c4a-standard-4` for machine type.

![Configuring machine type to C4A in Google Cloud Console](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/images/gcp-vm.png)  
_Configuring machine type to C4A in Google Cloud Console_

- Under **OS and storage**, select **Change**, and then choose an arm64 operating system image.
  - For this Learning Path, select **SUSE Linux Enterprise Server**.
  - For the license type, choose **Pay as you go**.
  - Increase **Size (GB)** from **10** to **100** to allocate sufficient disk space.
  - Select **Choose** to apply the changes.
- Under **Networking**, enable **Allow HTTP traffic** and **Allow HTTPS traffic**.
- For some organizations not using the ‘default’ network interface, you may need to select the network appropriate for your organization.
- Select **Create** to launch the virtual machine.

After the instance starts, select **SSH** next to the VM in the instance list to open a browser-based terminal session.

![Connecting to a running C4A VM using SSH](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/images/gcp-pubip-ssh.png)  
_Connecting to a running C4A VM using SSH_

A new browser window opens with a terminal connected to your VM.

![Terminal session connected to the VM](https://learn.arm.com/learning-paths/servers-and-cloud-computing/flyte-with-grpc/images/gcp-shell.png)  
_Terminal session connected to the VM_

## What you’ve learned and what’s next
In this section:
- You provisioned a Google Axion C4A arm64 virtual machine with 4 vCPUs and 16 GB of memory.
- You configured the VM with SUSE Linux Enterprise Server and 100 GB of storage.
- You connected to your VM using SSH through the Google Cloud Console.

Your virtual machine is now ready to host Flyte ML Workflow with gRPC.
