![Migrating Rust 🦀 applications to ARM | S02 E26 | Build On Weekly](https://assets.community.aws/a/2hYolujpmJNFwZ7tsf2aX3KF6bu/compi.webp)
Migrating Rust 🦀 applications to ARM | S02 E26 | Build On Weekly
Time to get your Rust application running on ARM CPUs. Why? Well, for one it's more efficient.
Cobus Bernard
Amazon Employee
Published Aug 17, 2023
Last Modified Jun 7, 2024
![When a Rust developer talks to themself Screenshot of the stream with Darko and Cobus looking at each other](/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Flivestreams%2Fbuild-on-weekly%2F2023-08-17%2Fimages%2Fcobus_darkos.webp%3FimgSize%3D1936x1085&w=3840&q=75)
You may have heard that Rust is one of the most Admired and Desired languages out there. So lets talk about it. No, lets build it and run in in the cloud. In today's episode of Build On Weekly, Cobus and Darko compile a Link shortener application written in rust and deploy it to the Cloud. Not just anywhere, but rather on an ARM based EC2 instance on AWS - Graviton.
Today's episode is inspired by this amazing blog post by Tyler Jones (and he was in chat helping us out). And the goal was to deploy the same application to both an x86 Instance and an ARM instance and see the results of a load test. After a bit back and forth we managed to get it running (we found some issues with the blog post along the way - which Tyler fixed on the spot 👏) and we managed to run a load test on the x86 version of this application. Sort of.
Sort of? Yes, turns out that if you keep sending huge amounts of traffic to a DynamoDB table that is using provisioned instead of On Demand capacity, your application is no longer able to write to it anymore. Ooops 😇
![We're gonna need a bigger table Screenshot of a Dynamo DB database being very much utilized](/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Flivestreams%2Fbuild-on-weekly%2F2023-08-17%2Fimages%2Fdynamodb_fire.webp%3FimgSize%3D2174x1330&w=3840&q=75)
A few things we learned today:
- It's always the security group
- Either properly provision your DynamoDB tables, or use On-Demand
- Port
80
on Ubuntu is a protected port and anything that uses it needssudo
permissions - Oh yeah, Rust 🦀 applications run like a charm on Graviton, go try it out 😎
![See, compilation complete! 🥳 Screenshot of a succesfull compiled Rust application](/_next/image?url=https%3A%2F%2Fcommunity.aws%2Fraw-post-images%2Flivestreams%2Fbuild-on-weekly%2F2023-08-17%2Fimages%2Fcompilation_done.webp%3FimgSize%3D2802x402&w=3840&q=75)
Oh yeah, and if you wish to follow along at home, as mentioned this is all based off of this article written by Tyler. So go and have some fun compiling (and testing) Rust applications on Graviton processors 😎
Check out the recording here:
Loading...
Reach out to the hosts and guests:
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.