Skip to content

Commit eabbd30

Browse files
Enhance documentation clarity by adding descriptions and improving section headings for Azure Cobalt 100 and Golang. Update learning objectives and prerequisites for better guidance.
1 parent fae46f9 commit eabbd30

3 files changed

Lines changed: 30 additions & 13 deletions

File tree

content/learning-paths/servers-and-cloud-computing/golang-on-azure/_index.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@ title: Deploy Golang on Azure Cobalt 100 on Arm
33

44
minutes_to_complete: 30
55

6-
who_is_this_for: This is an introductory topic for developers looking to migrate their Golang workloads from x86_64 to Arm-based platforms, specifically on Microsoft Azure Cobalt 100 processors.
6+
who_is_this_for: This is an introductory guide for software developers, DevOps engineers, and cloud architects looking to migrate their Golang (Go) applications from x86_64 to high-performance Arm-based Azure Cobalt 100 virtual machines for improved cost efficiency and performance.
77

88
learning_objectives:
99
- Provision an Azure Arm64 virtual machine using Azure console, with Ubuntu Pro 24.04 LTS as the base image
1010
- Deploy Golang on an Arm64-based virtual machine running Ubuntu Pro 24.04 LTS
11-
- Perform Golang baseline testing and benchmarking on both x86_64 and Arm64 virtual machine
11+
- Perform Golang baseline testing and benchmarking on both x86_64 and Arm64 virtual machines
1212

1313
prerequisites:
14-
- A [Microsoft Azure](https://azure.microsoft.com/) account with access to Cobalt 100 based instances (Dpsv6)
15-
- Familiarity with the [Golang](https://go.dev/) and deployment practices on Arm64 platforms.
14+
- A [Microsoft Azure](https://azure.microsoft.com/) account with access to Azure Cobalt 100 Arm-based instances (Dpsv6-series)
15+
- Basic familiarity with the [Go programming language](https://go.dev/) and cloud deployment practices
16+
- Understanding of Linux command line and virtual machine management
1617

1718
author: Pareena Verma
1819

content/learning-paths/servers-and-cloud-computing/golang-on-azure/background.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,35 @@ weight: 2
55

66
layout: "learningpathall"
77
---
8-
98
## Azure Cobalt 100 Arm-based processor
109

11-
Azure Cobalt 100 is Microsoft’s first-generation, in-house Arm-based processor built on Arm Neoverse N2. It is a 64-bit CPU that targets cloud-native, scale-out Linux workloads such as web and application servers, data analytics, open-source databases, and caching, delivering strong performance and energy efficiency. Running at 3.4 GHz, Cobalt 100 allocates a dedicated physical core for each vCPU to provide consistent, predictable performance.
10+
Azure Cobalt 100 is Microsoft's first-generation, custom-designed Arm-based processor built on the advanced Arm Neoverse N2 architecture. This high-performance 64-bit CPU is specifically optimized for cloud-native, scale-out Linux workloads including web servers, application servers, real-time data analytics, open-source databases, and in-memory caching solutions.
11+
12+
Key performance features include:
13+
- Clock speed: 3.4 GHz for optimal processing power
14+
- Core allocation: dedicated physical core per vCPU for consistent performance
15+
- Architecture: Arm Neoverse N2 for superior energy efficiency
16+
- Target workloads: cloud-native applications and microservices
1217

1318
To learn more, see the Microsoft blog: [Announcing the preview of new Azure virtual machines based on the Azure Cobalt 100 processor](https://techcommunity.microsoft.com/blog/azurecompute/announcing-the-preview-of-new-azure-vms-based-on-the-azure-cobalt-100-processor/4146353).
1419

15-
## Golang
16-
Golang (or Go) is an open-source programming language developed by Google, designed for simplicity, efficiency, and scalability. It provides built-in support for concurrency, strong typing, and a rich standard library, making it ideal for building reliable, high-performance applications.
20+
## Golang (Go Programming Language)
21+
22+
Golang (Go) is a modern, open-source programming language developed by Google, specifically designed for building scalable, high-performance applications. Go excels in simplicity, compilation speed, and runtime efficiency, making it an ideal choice for cloud-native development and Arm64 architecture deployment.
23+
24+
### Key Go Language Features:
25+
- Built-in concurrency with goroutines and channels
26+
- Strong static typing for improved code reliability
27+
- Comprehensive standard library for rapid development
28+
- Fast compilation and efficient garbage collection
29+
- Cross-platform compatibility including native Arm64 support
1730

18-
Common use cases include cloud-native development, microservices, systems programming, DevOps tooling, and distributed systems.
31+
### Primary Use Cases:
32+
- Cloud-native applications and containerized workloads
33+
- Microservices architecture and API development
34+
- Systems programming and infrastructure tools
35+
- DevOps automation and CI/CD pipelines
36+
- Distributed systems and high-throughput services
1937

2038
For more information, visit the [Go website](https://go.dev/) and the [Go documentation](https://go.dev/doc/).
2139

content/learning-paths/servers-and-cloud-computing/golang-on-azure/benchmarking.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,9 @@ PASS
152152
ok gosort-bench 2.905s
153153
```
154154

155-
### Metrics explained
155+
## Metrics explained
156156

157-
- ns/op: nanoseconds per operation (lower is better)
158-
- B/op: bytes allocated per operation (lower is better)
159-
- allocs/op: number of heap allocations per operation (lower is better)
157+
The metrics reported by go test -bench include ns/op, which measures nanoseconds per operation and reflects latency where lower values are better, B/op, which shows the number of bytes allocated per operation and helps identify memory efficiency, and allocs/op, which indicates the number of heap allocations per operation and highlights how often memory is being allocated, with lower values preferred in all cases.
160158

161159
### Benchmark summary on Arm64
162160

0 commit comments

Comments
 (0)