www.ubicloud.com Open in urlscan Pro
34.249.200.254  Public Scan

URL: https://www.ubicloud.com/blog/ubicloud-hosted-arm-runners-100x-better-price-performance
Submission: On January 30 via manual from TR — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

DocsPricingSupportBlog
Use cases

Github ActionsUbicloud PostgreSQLLink 2
Use Case
Star us
Sign in
Star us
Sign in


All Blog Posts
Ubicloud hosted Arm runners, 100x better price/performance
Building block storage for the cloud with SPDK (non-replicated)
Open and portable Postgres-as-a-service. Also available on Hetzner
Learnings from Building a Simple Authorization System (ABAC)
vCPU, thread, core, node, socket. What do CPU terms mean these days?
Introducing Ubicloud

All Blog Posts
Ubicloud hosted Arm runners, 100x better price/performance
Building block storage for the cloud with SPDK (non-replicated)
Open and portable Postgres-as-a-service
Learnings from Building a Simple Authorization System (ABAC)
vCPU, thread, core, node, socket. What do CPU terms mean these days?
Introducing Ubicloud


UBICLOUD HOSTED ARM RUNNERS, 100X BETTER PRICE/PERFORMANCE

January 17, 2024 · 4 min read
Ozgun Erdogan
Founder / Co-CEO

Ubicloud is an open and portable cloud. Today, we’re excited to announce
Ubicloud hosted Arm runners for GitHub Actions. These runners bring a 100x
price/performance benefit over GitHub's default runners when you’re building &
testing for Arm. We can bring this significant improvement thanks to the
combination of two factors.


 * By working on bare metal instances, Ubicloud reduces your cloud costs. On
   GitHub Actions, that price benefit ends up being 10x between Ubicloud and
   GitHub's runners.
 * Today, when you want to build for Arm on GitHub Actions, you need to fall
   back to emulating your builds through QEMU using x64 VMs. Emulation degrades
   build performance by 10x as compared to natively building on arm64.

The rest of this blog post makes these numbers more concrete. We also share more
about other product characteristics, such as ease of migration, security, and
potential caveats.



PRODUCT CHARACTERISTICS

With AWS’s push towards Graviton instances, and Azure and Google also providing
Arm-based instances, arm64 platforms are becoming commonplace. As a result,
we’ve heard from you that you’re looking to build and test natively on arm64.

‍Price: Today, if you’re building for arm64 on GitHub Actions, you emulate using
QEMU on x64 architectures. So, the price matrix for building on Arm looks like
the following.



There are two things to note in this table. First, Ubicloud managed runners are
10x more cost effective than GitHub ones. That’s because GitHub uses public
cloud VMs that already come with a huge premium; and further adds its own
margins. Comparatively, we provision Arm VMs run on Hetzner’s RX220 series and
upgrade network connectivity on these instances.

Second, x64 and arm64 instances have hardware differences. Arm64 has slightly
lower memory per vCPU because of RX220’s configuration. Further, we use vCPU to
quantify processor resources, but this term means different things on x64 and
arm64. You get two physical cores with arm64, but only one core with x64. This
is due to the way processor terminology evolved on the cloud.


Performance: To measure performance, we looked at various open source projects
that use QEMU emulation for arm64 and benchmarked their performance. Here’s an
example benchmark run from.


This benchmark run shows a performance improvement of 10.5x on the open source
PostHog project. You can access and reproduce the benchmark results here. We’ve
run this benchmark on various open source projects that use QEMU; and we’ve
consistently seen a performance improvement of 10x or more.


Migrating to Arm: It’s also easy to migrate to Ubicloud managed runners. After
signing up for a Ubicloud account (https://console.ubicloud.com/create-account),
it only takes a few lines. You need to change one line to switch to Ubicloud’s
Arm runners and then delete lines related to QEMU emulation. Here’s the change
associated with PostHog’s workflow file.


Security: Ubicloud uses Linux KVM for virtualization and the Cloud Hypervisor as
our virtual machine monitor (VMM). We contain each VMM within Linux namespaces
for additional isolation. For virtual networking, we use IPsec tunneling to
establish an encrypted and private network environment; and regularly rotate
encryption keys.

For each new CI/CD job, we also provide you with a clean and ephemeral VM. Upon
the job's completion, we decommission the VM and delete the block storage device
associated with the VM.  This ensures that there is no way to persistently
compromise the GitHub Actions environment or otherwise gain access to more
information than was placed in this environment during the bootstrap process.

Additionally, we follow industry and GitHub Actions best practices for security.
You can read more about them here.

Caveats: GitHub Actions doesn’t currently have an official Arm image available.
As a result, Ubicloud builds its own Ubuntu image; and our Arm runners don’t
have all pre-installed packages that are available for x64 runners. If your
workflow has a package dependency that doesn’t exist on Ubicloud’s arm image, we
recommend installing the dependency manually for the time being.


CONCLUSION

In summary, Ubicloud’s managed runners enable GitHub Actions users to build,
test, and deploy on Arm instances. These native Arm runners come with a 100x
price/performance benefit over GitHub’s default runners. This enables customers
such as PeerDB, ParadeDB, Manifold.xyz to build across platforms in a fast and
price-efficient way.

As Wilkins Chung, the CEO of Manifold says, “ARM based builds have always been a
pain on GitHub. The need to use workaround images and the additional time it
took to run these images kept hurting. Ubicloud's ARM runners solved these
issues with a one-line change and we're way more productive because of it!”

If you’re using GitHub Actions, please check out our quick start guide! It takes
5 minutes to integrate with Ubicloud runners; and the price/performance benefits
stay for good. To make your evaluation easier, we also provide each account with
1,250 free builds every month. As always, we welcome all input and we’d be happy
to hear from you at  info@ubicloud.com.

Next up
Quick Start - Build your own cloud
Copyright © 2023 Ubicloud.
All rights reserved.