An AWS Community Builder Story
Tags: aws, arm
Published: 2022-01-11 18:18:42

In early 2020, I was invited to apply to become an [AWS Community Builder](https://aws.amazon.com/developer/community/community-builders/). AWS Community Builders are enthusiasts who work together to learn from each other, create content, and share information about AWS. AWS offers hundreds of services, far too many for a single person to keep up with, so AWS Community Builders work together around topics of interest. I joined the Graviton group to help educate and promote AWS Graviton processors.

The application window is now open to [join the AWS Community Builders program](https://bit.ly/32XnsZi) so it’s a good time to share my experience and encourage others to apply. We are always looking for more people to promote AWS Graviton processors. Every community member has a unique story, and the diversity of the members make the program unique.

One way I participate is by writing articles about [Graviton related topics](https://dev.to/jasonrandrews) in the [AWS Community Builders area on dev.to](https://dev.to/aws-builders). Much of the AWS Community Builder communication takes place on Slack where builders connect with AWS employees and attend presentations by AWS experts. It has been a great program and I have enjoyed the networking and learning opportunities. It was exciting to meet some of the Community Builders in person at re:Invent 2021. It was my first time attending [re:Invent](https://reinvent.awsevents.com/) and it was a great experience.

As an AWS Community Builder, I enjoy promoting Graviton processors and the AWS managed services that work on Graviton. Specialized compute is the future, and the time is right for the Arm architecture to make a big impact. This is happening from the smallest sensor to the largest supercomputer. AWS is doing amazing things with EC2 instances powered by Graviton processors and the AWS Nitro System. Most AWS services run on Graviton, and new instance types continue to be launched. Last month, the [G5g instance type](https://aws.amazon.com/ec2/instance-types/g5g/), the first to pair Graviton2 with NVIDIA GPUs was launched. The [GitHub getting started with Graviton](https://github.com/aws/aws-graviton-getting-started) is a good place to find out more, including the latest [managed services available on Graviton](https://github.com/aws/aws-graviton-getting-started/blob/main/managed_services.md).

One of my goals as a Community Builder is to find software which is not available on the Arm architecture and find ways to get it working on Arm.

Last fall there were two contests available to motivate application migration to Amazon EC2 instances powered by Arm-based Graviton2 processors. The [Graviton Challenge](https://aws.amazon.com/ec2/graviton/challenge/) and the [AWS Graviton Hackathon](https://awsgraviton.devpost.com/) provided a little motivation (and prizes) for developers to migrate applications and benefit from the up to 40% better price performance compared to fifth generation x86-based instances.

Not wanting to miss out on the fun, I spent some time thinking about what kind of applications would have been candidates for the contests. Turns out, it’s more challenging than anticipated to identify applications that don't already work on the Arm architecture, are not completely trivial to migrate, and are not so complex that it would take more time than contests allow.

It got me thinking about the state of the Arm software ecosystem. The good news is the amount of software that works on Arm is huge. Linux distributions like Ubuntu and Amazon Linux include thousands of software packages that just work.

Another significant contributor to the vast amount of software that already works on the Arm architecture is Raspberry Pi. Access to a very low cost board running Linux made it easy to port software to Arm. The success of Raspberry Pi and its availability enabled software to work when Arm servers and laptops came to market. Browsing software projects often shows Raspberry Pi has been a supported platform for a long time, and often the only Arm based platform mentioned.

I didn’t enter either of the contests, but I served as a judge for the Graviton Hackathon. The projects were impressive. My favorite was a port of Gitpod to Graviton2. I tried this myself and it was difficult. It uses Kubernetes and relies on many layers of container images which are not available for Arm.

As an AWS Community Builder, it’s interesting for me to work with companies and open-source projects to help them find resources to port to Arm. One of the projects I was interested in and didn’t work on Arm was Kasm Workspaces. [Kasm](https://kasmweb.com/) provides a container streaming platform based on the [KasmVNC open-source project](https://github.com/kasmtech/KasmVNC). I set out to see if Kasm could be brought to Arm.

To get things started I contacted Kasm to see if there was interest in Arm support, and it turned out they had users asking, but never quite finished it. If machine availability was an issue I offered to provide a Graviton2 AWS instance using my AWS supplied Community Builder credits. Kasm took me up on the offer and managed to port almost all the application in just a few days. There is still 1 Javascript package which does not run on Arm, but Kasm made their first [official product release supporting Arm](https://kasmweb.com/downloads.html) in December 2021.

Next, I offered to participate in testing the initial port to Arm and to provide feedback.

As an emerging company, Kasm is interested to reach new users and always looking for new ways to find more users. I recommended they write a press release and have it approved by Arm. I connected Kasm to the Arm outbound marketing team who approved the PR and it was [published in November](https://www.prnewswire.com/news-releases/kasm-technologies-collaborates-with-arm-to-build-arm-powered-remote-work-solutions-301429534.html). 

I also recommended Kasm enter the Graviton Challenge, which they did. As a result Kasm won a trip to re:Invent and gave a presentation about their experience moving to the Arm architecture.

To continue our collaboration I contributed some small changes to KasmVNC on GitHub to use [sse2neon](https://github.com/DLTcollab/sse2neon) for a performance critical part of the application which uses SSE intrinsics and needed to be changed to NEON intrinsics.

This week Kasm will join Arm Innovation Coffee. It’s a [live show on YouTube](https://www.youtube.com/watch?v=dPpLT2MqHx8) and is a lot of fun. Tune in to find out more. 

Relationships like these may seem small, but this is what makes the Arm ecosystem and the AWS Community Builder program so strong. Congratulations to Kasm for the great work in 2021. 

Last month, AWS announced the next generation Graviton processor, [Graviton3](https://www.youtube.com/watch?v=Fvh4djznuuM), is now available in preview in the [C7g EC2 instance type](https://aws.amazon.com/ec2/instance-types/c7g/). Graviton2 was announced just two years ago with the [Neoverse-N1](https://www.arm.com/products/silicon-ip-cpu/neoverse/neoverse-n1) CPU. It was only 3 years ago that the AWS journey to Arm started with A1 instances (based on Cortex-A72). That year, I was at DockerCon giving demos of containers on AWS A1 instances and very few people could identify Arm at all. This year at re:Invent everybody was talking about Graviton and Arm. I heard many stories about moving applications to Arm and the price performance benefits of Graviton.

The Community Builder program gives me a great place to promote Graviton. Perhaps someday, Graviton will be the primary architecture for every application running on AWS. 
 
Thanks for reading my story, now it's your chance to [become an AWS Community Builder](https://bit.ly/32XnsZi) and write your story.

![AWS Community Builders](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a00fszj9t5cjphmtfy7e.jpg)