Cian Butler
๐ค SpeakerAppearances Over Time
Podcast Appearances
And it was known that I was a Rust developer coming from a Rust shop.
So there was a known value that I was probably going to write some Rust at some point.
But we didn't sit down and say, how can we bring Rust in to scale this service?
I sat down and I just started looking at those traces, started looking at Datadog, started looking at where the bottlenecks in our service were.
We had load tests running.
We were getting information back about what was slow, what were our slowest endpoints, all that kind of stuff.
So the things that came out when you look at that data was we would sit waiting on IO, and it would be serialization.
These were two of our biggest things.
The IO was two different types of IO.
Our database, we query the database a lot, probably too much, but we do it.
Eats up a lot of resources.
The other side is the network.
So we call out to upstreams like PyPy and Cargo to pull in information.
And then we have the inbound requests.
So that's requests from our customers to us.
And how many requests per second can we pull in from the network and process concurrently?
The other bits being serialization, that's serializing large JSON payloads, large XML payloads, and that kind of stuff.
So we sat down and said, how can we go about fixing this?
And it wasn't a one shot of like, we need to fix it all at once, or we need to roll everything out, switch everything up at once, or let's build it ourselves.
We try not to be a shop that suffers from not built here kind of thing.