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

Jeff Kao

๐Ÿ‘ค Speaker
514 total appearances

Appearances Over Time

Podcast Appearances

Rust in Production
Radar with Jeff Kao

Maybe you want to increment something.

Rust in Production
Radar with Jeff Kao

So you have to understand that the state of your database looks like this.

Rust in Production
Radar with Jeff Kao

You're going to apply this operation.

Rust in Production
Radar with Jeff Kao

What happens if your database script fails?

Rust in Production
Radar with Jeff Kao

Then you've got to code in this concept of idempotency, where you can rerun the script many times.

Rust in Production
Radar with Jeff Kao

And that's a lot of things to reason about.

Rust in Production
Radar with Jeff Kao

In terms of a deployment story, for sure, we wanted something that was very simple to deploy.

Rust in Production
Radar with Jeff Kao

And Rust just gives you a simple binary.

Rust in Production
Radar with Jeff Kao

And we essentially compile it in CI and essentially ship up the binary to our servers.

Rust in Production
Radar with Jeff Kao

But also the data assets, we wanted it all to be self-contained within the same server.

Rust in Production
Radar with Jeff Kao

And even the way that we process it, actually, we rebuild the data sets from scratch.

Rust in Production
Radar with Jeff Kao

We never backfill anything.

Rust in Production
Radar with Jeff Kao

We just take all the raw sources and then, you know, distribute the compute with something like Spark and essentially compile it to, you know, some data assets.

Rust in Production
Radar with Jeff Kao

And there are some things that are more specific to, you know, the data formats that we use on our server.

Rust in Production
Radar with Jeff Kao

So we process those later and then we ship those data assets to all of these boxes.

Rust in Production
Radar with Jeff Kao

And so, you know, what that means is because everything is self-contained, it's actually very trivial to roll back, which is something that you might not be able to do if you had, say, like a third, you know, like if very simple, like two-tier architecture, even a web app and a, say, SQL server.

Rust in Production
Radar with Jeff Kao

If you do a data migration,

Rust in Production
Radar with Jeff Kao

You have to reason about the data migration rollback and forward, as well as the binary data rollback and forward.

Rust in Production
Radar with Jeff Kao

But with our new service, it all sort of goes in one package and lockstep.