Rancher Streamlines k3s Development
Using Amazon Web Services (AWS) and Arm
Case Study

Company snapshot
Name: Rancher
Vertical: Open Source Software
size: 150+ employees
HQ: San Francisco, USA
Founded: 2014

Goal
Increase developer productivity and reliability of k3s releases for the Arm architecture.
Solution
Establish a native Arm architecture developer workflow in a cost-efficient manner by using
Amazon EC2 A1 instances powered by AWS Graviton Processors featuring 64-bit Arm
Neoverse cores and custom silicon designed by AWS.
Benefits
Increased developer productivity
CI pipeline runs natively on Arm architecture as it:-Eliminates cross-compilation and the associated risks of mixing different
architecture types-Increases testing throughput and reliability by eliminating the need for emulation
Reduced infrastructure costs

Accelerate Software Develoment for IoT
With the convergence of IT and Operations Technology (OT) in many organizations,containers are making the leap from enterprise systems to IoT. As Kubertnetes has become
the de-facto standard container orchestration framework for cloud-native deployments,
customers are leveraging Kubernetes to address many of the complex challenges thatdevelopment teams see when building and deploying IoT solutions, such as:
Enabling DevOps for IoT
Providing a unified deployment model that allows DevOps teams to quickly andautomatically test and deploy new services with support for zero-downtime deployments inthe form of rolling updates, which is important for mission-critical IoT solutions.

Scalability
Delivering the ability to handle thousands to millions of device connections, sending
terabytes of data and performing real-time analytics using a deployment infrastructure thatcan scale to meet the needs.

1“By leveraging the Amazon
A1 instances, Arm softwaredevelopment no longer
required cross-compilation.”High Availability
Providing high available services and architecture to run workloads independently that canbe restarted or recreated without any negative effect to end-users.

At a first glance, Kubernetes may appear too large and complex for Edge and IoT devices
which typically have smaller resource footprints than in the data center or cloud. To
resolve this issue, Rancher has developed a popular open source project called k3s.
k3s is a lightweight, easy to install Kubernetes distribution geared toward resourceconstrained environments and low touch operations. k3s is particularly useful for edge
and IoT environments where the Arm architecture is prevalent today given stringent power
efficiency requirements and the Arm IP licensing model that enables a diverse setof solutions.
Rancher Labs builds innovative, open source software for enterprises leveraging containers
and Kubernetes to accelerate software development and improve IT operations. The
flagship Rancher container management platform allows users to easily manage all aspectsof running Kubernetes in production, on any infrastructure.
For the “things” within IoT, the majority of devices are based on the Arm architecture. These
devices are increasingly connected to the network and providing valuable data that canbe analyzed at various edge and cloud locations based on cost, network bandwidth andlatency sensitivity requirements. In addition, there is a large embedded gateway ecosystem
powered by Arm based SoC’s that are adopting container technologies to meet thescalability and security requirements necessary to manage these devices efficiently. For IoT
developers, containers provide benefits of abstraction, efficiency, scale and automation.
k3s as a project supports both Arm and x86 as first class citizens and good software
engineering practices require a continuous integration (CI) infrastructure. k3s is well suited
to continuous integration systems where there’s a requirement to minimize the speed ofcluster setup and tear down to exercise the CI task.
Traditionally, Arm development is done using cross-compilers and emulators. However,cross-compilers are tricky to setup. If not done carefully, binaries for different architectures
could get mixed up, resulting in broken builds. In addition, reliability aspects need to beconsidered during debugging of issues using an emulator as it adds an additional software
component in the mix. Also, running Arm binaries on an emulator is slower than runningon a real CPU which leads to longer CI execution time and increased infrastructure spend.

2AWS Instances Offer Cost Savings for Arm-based Applications
To address issues of cross compiling, Rancher turned to Amazon Web Services (AWS).
Amazon EC2 A1 instances deliver significant cost savings for scale-out and Arm-based
applications such as web servers, containerized microservices, caching fleets, distributed
environments that are supported by the extensive Arm ecosystem.
A1 instances are the first EC2 instances powered by AWS Graviton Processors that feature
64-bit Arm Neoverse cores and custom silicon designed by AWS. These instances appeal
to developers, enthusiasts, and educators across the Arm developer community. Mostarchitecture-agnostic applications that can run on Arm cores also benefit
from A1 instances.
By leveraging the Amazon A1 instances, Arm software development no longer requires
cross-compilation. The entire CI pipeline can run natively on Arm architecture, thereby
improving reliability by eliminating the risk of mixing different architecture types by mistake.
Build and test throughput is increased by running workloads directly on A1 instances which
is much faster than running on emulators.
Run Faster Workloads and Reduce Costs
The A1 instances enabled Rancher Labs to build an Arm-native CI pipeline for k3s that
improves developer productivity, increases reliability and lowers the overall development
and test infrastructure spend.
“When we introduced k3s, a lightweight Kubernetes distribution built for the edge, weneeded to run our CI infrastructure on Arm servers,” explains Sheng Liang, Co-Founderand CEO of Rancher Labs. “Amazon EC2 A1 instances made a huge difference in ourdevelopment and test process, and ensured we could efficiently develop, build and releasek3s entirely on Arm architecture without the need for cross-compiling and emulation.”
See these related links for more information:
Arm Infrastructure Developer Community
k3s project
Amazon EC2 A1Rancher2