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.
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 😇
A few things we learned today:
- It's always the security group
- Either properly provision your DynamoDB tables, or use On-Demand
80on Ubuntu is a protected port and anything that uses it needs
- Oh yeah, Rust 🦀 applications run like a charm on Graviton, go try it out 😎
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:
- Blog post on compiling Rust applications on Graviton
- AWS Graviton processor
- WRK2 - HTTP benchmarking tool we used today
Reach out to the hosts and guests: