Skip to content

Commit 8e3afa8

Browse files
Merge branch 'buildkite' of https://github.com/madeline-underwood/arm-learning-paths into buildkite
2 parents 5f6b7e2 + d68d6d9 commit 8e3afa8

File tree

17 files changed

+309
-265
lines changed

17 files changed

+309
-265
lines changed

content/learning-paths/servers-and-cloud-computing/cassandra-on-gcp/baseline.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,5 @@ You should see an output similar to:
115115
```
116116

117117
This baseline test verifies that Cassandra 5.0.5 is installed and running correctly on the VM. It confirms the node status, allows connection via `cqlsh`, and ensures basic operations like creating a keyspace, table, inserting, and querying data work as expected.
118+
119+
Please now press "Ctrl-D" to exit the Cassandra Query Shell.
22.3 KB
Loading
12.5 KB
Loading

content/learning-paths/servers-and-cloud-computing/cassandra-on-gcp/instance.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,32 @@ To create a virtual machine based on the C4A instance type:
2525
- Select `c4a-standard-4` for machine type.
2626

2727
![Create a Google Axion C4A Arm virtual machine in the Google Cloud Console with c4a-standard-4 selected alt-text#center](images/gcp-vm.png "Creating a Google Axion C4A Arm virtual machine in Google Cloud Console")
28-
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**. Pick the preferred version for your Operating System. Ensure you select the **Arm image** variant. Click **Select**.
28+
29+
30+
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**. Select "Pay As You Go" for the license type. Click **Select**.
2931
- Under **Networking**, enable **Allow HTTP traffic**.
3032
- Click **Create** to launch the instance.
33+
- Once created, you should see a "SSH" option to the right in your list of VM instances. Click on this to launch a SSH shell into your VM instance:
34+
35+
![Invoke a SSH session via your browser alt-text#center](images/gcp-ssh.png "Invoke a SSH session into your running VM instance")
36+
37+
- A window from your browser should come up and you should now see a shell into your VM instance:
38+
39+
![Terminal Shell in your VM instance alt-text#center](images/gcp-shell.png "Terminal shell in your VM instance")
40+
41+
## Explore your instance
42+
43+
### Run uname
44+
45+
Use the [uname](https://en.wikipedia.org/wiki/Uname) utility to verify that you are using an Arm-based server. For example:
46+
47+
```console
48+
uname -m
49+
```
50+
will identify the host machine as `aarch64`.
51+
52+
## Automating Arm Based Infrastructure Deployment
53+
54+
Cloud infrastructure deployment is typically done via Infrastructure as code (IaC) automation tools. There are Cloud Service Provider specific tools like [Google Cloud Deployment Manager](https://cloud.google.com/deployment-manager/docs/).
55+
56+
There are also Cloud Service Provider agnostic tools like [Terraform](https://www.terraform.io/).There is a [deploying Arm VMs on (GCP) using Terraform learning path](/learning-paths/servers-and-cloud-computing/gcp) that should be reviewed next.

content/learning-paths/servers-and-cloud-computing/csp/google.md

Lines changed: 37 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,42 @@
11
---
2-
# User change
3-
title: "Getting Started with Google Cloud Platform"
2+
title: Getting Started with Google Cloud Platform
3+
weight: 4
44

5-
weight: 4 # 1 is first, 2 is second, etc.
6-
7-
# Do not modify these elements
8-
layout: "learningpathall"
5+
### FIXED, DO NOT MODIFY
6+
layout: learningpathall
97
---
10-
[Google Cloud](https://cloud.google.com/) is a public cloud computing platform.
11-
12-
As with most cloud service providers, Google Cloud offers a pay-as-you-use [pricing policy](https://cloud.google.com/pricing), including a number of [free](https://cloud.google.com/free/docs/free-cloud-features) services.
13-
14-
This section is to help you get started with [Google Cloud Compute Engine](https://cloud.google.com/compute) compute services, using Arm-based Virtual Machines. Google Cloud offers two generations of Arm-based VMs, `C4A` is the latest generation based on [Google Axion](https://cloud.google.com/products/axion), Google's first Arm-based server processor, built using the Armv9 Neoverse V2 CPU. The previous generation VMs are based on Ampere Altra processor and part of [Tau T2A](https://cloud.google.com/tau-vm) family of Virtual Machines.
15-
16-
Detailed instructions are available in the Google Cloud [documentation](https://cloud.google.com/compute/docs/instances).
17-
18-
## Create an account
19-
20-
Before you begin, create an account. For a personal account, click on [Get started for free](https://cloud.google.com/), and follow the on-screen instructions to register. You can use an existing Google account if you have one.
21-
22-
If using an organization's account, you will likely need to consult with your internal administrator. See [this guide](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html) for additional information.
23-
24-
## Browse for an appropriate instance
25-
26-
Google Cloud offers a wide range of instance types, covering all performance (and pricing) points. For an overview of the `C4A` instance types, see the [General-purpose machine family](https://cloud.google.com/compute/docs/general-purpose-machines#c4a_series). Similarly, to know more about the `T2A` instance types, see this [page](https://cloud.google.com/compute/docs/general-purpose-machines#t2a_machines).
27-
28-
Also note which [regions](https://cloud.google.com/compute/docs/regions-zones#available) these servers are available in.
29-
30-
## Create your Compute Engine instance
31-
32-
The easiest way to launch your instance is via the [Google Cloud Console](https://console.cloud.google.com). Activities can be separated by `Project`. By default, when you first login, you will be in `My First Project`. If you wish to rename this, navigate to `IAM & Admin` > `Settings`, and rename. You can also create new project(s) from the pull-down menu, or [directly](https://console.cloud.google.com/projectcreate).
33-
34-
Select `Compute Engine` from the `Quick access` section, if shown. Else navigate to `Compute Engine` > `VM instances`. If it is your first time, you will be prompted to enable `Compute Engine API`. Go to the [VM instances](https://console.cloud.google.com/compute/instances) area of the console.
35-
36-
Click the `CREATE INSTANCE` button.
37-
38-
![google1 #center](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/assets/71631645/4db59b89-2d9b-453a-8f9c-52780f4f134e "Create a VM instance")
39-
40-
### Name your instance
41-
42-
Give your instance a meaningful, but arbitrary, name. This is particularly useful when creating multiple instances. You can optionally add [labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels) as additional identifiers.
43-
44-
![google2 #center](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/assets/71631645/e81f1cb9-8d62-471a-be56-6d6a1da64e46 "Specify a name for the instance and optionally add labels")
45-
46-
### Select Region and Zone for your instance.
47-
48-
Select an appropriate `region` and `zone` that support Arm-based servers.
49-
50-
![google3 #center](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/assets/71631645/f2a19cd0-7565-44d3-9e6f-b27bccad3e86 "Select an appropriate region and zone")
51-
52-
To view the latest information on which available regions and zones support Arm-based servers, see the [Compute Engine documentation](https://cloud.google.com/compute/docs/regions-zones#available). To filter for Arm-based machines, click on `Select a machine type`, then select `C4A` or `T2A` from the pull-down menu.
53-
54-
![google4 #center](images/axion-series.png "Check which regions and zones support Arm-based machines")
55-
56-
### Machine configuration
578

58-
Select `C4A` from the `Series` pull-down menu. Then select an appropriate `Machine type` configuration for your needs.
9+
## Overview
5910

60-
![google5 #center](images/axion-instance.png "Select an appropriate C4A machine type")
11+
In this section, you will learn how to provision a Google Axion C4A Arm virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-4` (4 vCPUs, 16 GB memory) machine type in the Google Cloud Console.
6112

62-
### Boot disk configuration
63-
64-
Click the `CHANGE` button if you wish to change the virtual disk size, or the operating system or version, for example to `Ubuntu 24.04 LTS`. Be sure to select Arm compatible image.
65-
66-
![alt-text #center](https://user-images.githubusercontent.com/67620689/204448755-f1259724-a386-4dc3-9b88-8ece7057d4de.PNG "Edit boot disk configuration if necessary")
67-
68-
## Security and SSH key pair
69-
70-
By default, you can access your instance via the browser. If you wish to use an SSH terminal, you must [create](https://cloud.google.com/compute/docs/connect/create-ssh-keys) and [add](https://cloud.google.com/compute/docs/connect/add-ssh-keys) an appropriate SSH key pair.
71-
72-
![alt-text #center](https://user-images.githubusercontent.com/67620689/225616099-8fc7791a-24b3-4195-b957-154eaca43080.PNG "Add or create an SSH key pair to access the VM")
73-
74-
### Other options
75-
76-
Other options, such as `Confidential VM service`, can optionally be enabled. For now, leave as default (disabled). See the Google Cloud documentation for an explanation of these configurations.
77-
78-
When satisfied, click `CREATE`. After a few moments the instance will be available and listed in your [console](https://console.cloud.google.com/compute/instances).
79-
80-
![google8 #center](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/assets/71631645/0a9bee8f-cd4c-478c-b8d1-85db99d8ef3a "Create the VM instance")
81-
82-
## Connect to your instance
83-
84-
You can interact with your instance via the browser (SSH-in-browser) or via an SSH terminal application.
85-
86-
### SSH-in-browser Connect
13+
{{% notice Note %}}
14+
For support on GCP setup, see the Learning Path [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/).
15+
{{% /notice %}}
8716

88-
Once running, the IP address will be displayed, and you are able to connect to the instance.
17+
## Provision a Google Axion C4A Arm VM in Google Cloud Console
8918

90-
Select `Open in browser window` from the `SSH` pull-down to open an SSH shell directly.
19+
To create a virtual machine based on the C4A instance type:
20+
- Navigate to the [Google Cloud Console](https://console.cloud.google.com/).
21+
- Go to **Compute Engine > VM Instances** and select **Create Instance**.
22+
- Under **Machine configuration**:
23+
- Populate fields such as **Instance name**, **Region**, and **Zone**.
24+
- Set **Series** to `C4A`.
25+
- Select `c4a-standard-4` for machine type.
9126

92-
![alt-text #center](https://user-images.githubusercontent.com/97123064/244489641-3069f9b4-4d41-464b-9cd0-f2db55195c8b.png "Open SSH-in-browser through the Google Cloud console")
27+
![Create a Google Axion C4A Arm virtual machine in the Google Cloud Console with c4a-standard-4 selected alt-text#center](images/gcp-vm.png "Creating a Google Axion C4A Arm virtual machine in Google Cloud Console")
9328

94-
Once connected, you are now ready to use your instance.
9529

96-
### SSH client Connect
30+
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server** or **Ubuntu**. Click **Select**.
31+
- Under **Networking**, enable **Allow HTTP traffic**.
32+
- Click **Create** to launch the instance.
33+
- Once created, you should see a "SSH" option to the right in your list of VM instances. Click on this to launch a SSH shell into your VM instance:
9734

98-
If an SSH key pair was set, connect to the instance with your preferred SSH client. For example, if using `ubuntu` image:
35+
![Invoke a SSH session via your browser alt-text#center](images/gcp-ssh.png "Invoke a SSH session into your running VM instance")
9936

100-
```console
101-
ssh -i <private_key> ubuntu@<public_ip_address>
102-
```
37+
- A window from your browser should come up and you should now see a shell into your VM instance:
10338

104-
{{% notice Note %}}
105-
Replace `<private_key>` with the private key on your local machine and `<public_ip_address>` with the public IP of the target VM.
106-
{{% /notice %}}
107-
108-
Terminal applications such as [PuTTY](https://www.putty.org/), [MobaXterm](https://mobaxterm.mobatek.net/) and similar can be used.
109-
110-
Once connected, you are now ready to use your instance.
39+
![Terminal Shell in your VM instance alt-text#center](images/gcp-shell.png "Terminal shell in your VM instance")
11140

11241
## Explore your instance
11342

@@ -122,12 +51,19 @@ will identify the host machine as `aarch64`.
12251

12352
### Run hello world
12453

125-
Install the `gcc` compiler. If you are using `Ubuntu`, use the following commands. If not, refer to the [GNU compiler install guide](/install-guides/gcc):
54+
Install the `gcc` compiler:
55+
56+
{{< tabpane code=true >}}
57+
{{< tab header="Ubuntu" language="bash">}}
58+
sudo apt update
59+
sudo apt install gcc -y
60+
{{< /tab >}}
61+
{{< tab header="SUSE Linux" language="bash">}}
62+
sudo zypper refresh
63+
sudo zypper install -y gcc
64+
{{< /tab >}}
65+
{{< /tabpane >}}
12666

127-
```console
128-
sudo apt-get update
129-
sudo apt install -y gcc
130-
```
13167
Using a text editor of your choice, create a file named `hello.c` with the contents below:
13268

13369
```C
22.3 KB
Loading
12.5 KB
Loading
261 KB
Loading

content/learning-paths/servers-and-cloud-computing/node-js-gcp/_index.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
---
2-
title: Deploy Node.js on Google Cloud C4A (Arm-based Axion VMs)
2+
title: Deploy Node.js on Google Cloud C4A Arm-based Axion VMs
3+
34

4-
draft: true
5-
cascade:
6-
draft: true
75

86
minutes_to_complete: 30
97

108
who_is_this_for: This is an introductory topic for software developers migrating Node.js workloads from x86_64 to Arm-based servers, specifically on Google Cloud C4A virtual machines built on Axion processors.
119

1210

1311
learning_objectives:
14-
- Provision an Arm-based SUSE SLES virtual machine on Google Cloud (C4A with Axion processors)
12+
- Provision an Arm-based SUSE Linux Enterprise Server virtual machine on Google Cloud C4A instances with Axion processors
1513
- Install and configure Node.js on a SUSE Arm64 (C4A) instance
16-
- Validate Node.js functionality with baseline HTTP server tests
14+
- Validate Node.js functionality with baseline HTTP server tests
1715
- Benchmark Node.js performance using Autocannon on Arm64 (AArch64) architecture
1816

1917

content/learning-paths/servers-and-cloud-computing/node-js-gcp/background.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,14 @@ layout: "learningpathall"
88

99
## Google Axion C4A Arm instances in Google Cloud
1010

11-
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+
Google Axion C4A is a family of Arm-based virtual machines powered by Google’s custom Axion CPU, built on Arm Neoverse-V2 cores. These instances deliver high performance and energy efficiency for modern cloud workloads, including CI/CD pipelines, microservices, media processing, and general-purpose applications.
1212

1313
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.
1414

15-
To learn more about Google Axion, refer to the [Introducing Google Axion Processors, our new Arm-based CPUs](https://cloud.google.com/blog/products/compute/introducing-googles-new-arm-based-cpu) blog.
15+
For more information on Google Axion, 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).
1616

1717
## Node.js
1818

19-
Node.js is an open-source, cross-platform JavaScript runtime environment built on Chrome's V8 engine.
19+
Node.js is an open-source, cross-platform JavaScript runtime environment built on Chrome's V8 engine. It enables you to build scalable server-side applications, APIs, and backend services using JavaScript. Node.js features an event-driven, non-blocking I/O model, making it highly efficient for handling concurrent connections. Node.js is widely used for web servers, real-time applications, microservices, and cloud-native backend services.
2020

21-
It allows developers to build scalable server-side applications, APIs, and backend services using JavaScript. Node.js features an event-driven, non-blocking I/O model, making it highly efficient for handling concurrent connections.
22-
23-
Node.js is widely used for web servers, real-time applications, microservices, and cloud-native backend services. Learn more from the [Node.js official website](https://nodejs.org/en) and its [official documentation](https://nodejs.org/docs/latest/api/).
21+
For more information on Node.js, see the [Node.js website](https://nodejs.org/en) and the [Node.js documentation](https://nodejs.org/docs/latest/api/).

0 commit comments

Comments
 (0)