Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Cian Butler

๐Ÿ‘ค Speaker
690 total appearances

Appearances Over Time

Podcast Appearances

Rust in Production
Cloudsmith with Cian Butler

Did someone like just not look at our folder and say, do we have a JSON schema library already?

Rust in Production
Cloudsmith with Cian Butler

Or were we planning to do the migration?

Rust in Production
Cloudsmith with Cian Butler

Yeah, totally.

Rust in Production
Cloudsmith with Cian Butler

Well, I think you could at least catch it sooner.

Rust in Production
Cloudsmith with Cian Butler

Maybe we wouldn't have been running the two things for so long.

Rust in Production
Cloudsmith with Cian Butler

But saying that, it gave another opportunity for us to continue the rollout of switching to Rust because we clearly knew it worked for us.

Rust in Production
Cloudsmith with Cian Butler

We had success already.

Rust in Production
Cloudsmith with Cian Butler

So all I needed to do that one was, again, just switching the imports in all the other ones and removing the pure Python implementation.

Rust in Production
Cloudsmith with Cian Butler

And we unrolled it out, and it was smooth as butter.

Rust in Production
Cloudsmith with Cian Butler

I didn't change any code.

Rust in Production
Cloudsmith with Cian Butler

I just changed the import statements.

Rust in Production
Cloudsmith with Cian Butler

So there definitely is that ability to do those drop-in replacements that work so well right there.

Rust in Production
Cloudsmith with Cian Butler

Yeah, like I said, I was playing around with PioTree and different ideas.

Rust in Production
Cloudsmith with Cian Butler

And when I started looking at our bottleneck for the network, I started thinking about how we manage work in the service.

Rust in Production
Cloudsmith with Cian Butler

And the way our request model worked was...

Rust in Production
Cloudsmith with Cian Butler

We were using WSGI, W-S-G-I, and effectively where processing requests come in, we'd give them to a Python worker and it would do the request to completion and then hand the response back.

Rust in Production
Cloudsmith with Cian Butler

So for Rust developers, they might look at that and the model is very similar to a Tokyo service.

Rust in Production
Cloudsmith with Cian Butler

that we had, and that's my instant thought about it.

Rust in Production
Cloudsmith with Cian Butler

I looked at it and said, that looks like a Tokyo service that has one event loop that does some processing, hands it off to a background task, and then it waits for the task to complete and get back the results onto the main event loop and throws it back over the wire.

Rust in Production
Cloudsmith with Cian Butler

Of course, it doesn't use serialization to bytes or any of that kind of stuff, but it looks like it.