# Create an Arm-based cloud virtual machine using Microsoft Cobalt 100 CPU

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/)
- [Overview](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/background/)
- [Create an Arm-based cloud virtual machine using Microsoft Cobalt 100 CPU](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/create-instance/)
- [Install Java](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/deploy/)
- [Java Baseline Testing](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/baseline/)
- [Benchmark using Java Microbenchmark Harness](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/benchmarking/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/_next-steps/)

## Create an Azure Cobalt 100 Arm64 VM using the Azure portal

You can create an Azure Cobalt 100 Arm64 virtual machine in several ways, including the Azure portal, the Azure CLI, or an Infrastructure as Code (IaC) tool.

In this Learning Path, you’ll use the Azure portal to create a VM with the Cobalt 100 processor, following a process similar to creating any other virtual machine in Azure.

## Create the virtual machine

To create an Azure virtual machine, open the Azure portal and go to **Virtual machines**.

Now follow these steps:

1. Select **Create** > **Virtual machine** from the toolbar.
2. In **Basics**, complete **Instance details** including **Virtual machine name** and **Region**.
3. In **Image**, choose **Ubuntu Pro 24.04 LTS**, then set **Architecture** to **Arm64**.
4. In **Size**, select **See all sizes**, choose the **Dpsv6 (D‑series v6)** family, then select **D4ps_v6**.

   ![Select the D-Series v6 family of virtual machines](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/images/instance.png)

5. Under **Administrator account**, set **Authentication type** to **SSH public key**.
6. Enter the `Username` for the VM.
7. Select **Generate new key pair**, select **SSH key type** (**ED25519** or **RSA**), and provide a **Key pair name**.
8. In **Inbound port rules**, set **Public inbound ports** to **Allow selected ports**, then select **HTTP (80)** and **SSH (22)**.

   ![Allow inbound port rules](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/images/instance1.png)

9. Select **Review + create** and verify your configuration.

   ![Review and create an Azure Cobalt 100 Arm64 VM](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/images/ubuntu-pro.png)

10. Select **Create**, then **Download private key and create resource**.

    ![Download private key and create resource](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/images/instance4.png)

11. After deployment completes, select **Go to resource**. From **Overview**, copy the **Public IP address** and connect through SSH using your key.

    ![VM deployment confirmation in Azure portal](https://learn.arm.com/learning-paths/servers-and-cloud-computing/java-on-azure/images/final-vm.png)

## Connect to your VM (example)

Use the command below, replacing placeholders with your values:

```
ssh -i <path-to-private-key> <username>@<public-ip-address>
```

> To learn more about Arm-based virtual machines in Azure, see “Getting started with Microsoft Azure” in [Get started with Arm-based cloud instances](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/azure/).
