News for hackers. Stuff that matters.
Re:We migrated from AWS to GCP with minimal downtime by kccqzy on Friday June 07, 2024 @12:53PM (#40610495)
A really cool story. But I have to say, everyone will notice that rewriting a file transfer tool in Rust is a poor use of the engineering time without having first understood the cause of the slowness. It's almost like a blind cult-like trust in Rust.

> So just like with everything else, we decided to write our own, in Rust. After days of digging through Tokio documentation and networking theory blog posts to understand how to move bytes as fast as possible between the filesystem and an HTTP endpoint, we had a pretty basic application that could chunk a byte stream, send it to an object storage service as separate files, download those files as they are being created in real time, re-assemble and pipe them into a ZFS snapshot.

I mean this sounds like a fun engineering project and I suspect I would enjoy writing it very much. While this might be bring me joy personally, as an organization this is still a failure.

Re:We migrated from AWS to GCP with minimal downtime by montanalow on Friday June 07, 2024 @01:28PM (#40610821)
Most managers and organizations miss the fact that engineers are often motivated by solving puzzles in ways like this, because it's fun. If you want to accomplish big challenges, quickly, make it fun for the engineer. Working long hours on projects like this doesn't burn engineers out, it sharpens their skills, broadens their knowledge and grows the organizations capabilities long term.

This sort of cultural difference of exploration and letting work be fun is one of the big things that accounts for the differences in velocity between big co's and little co's. Does your work give you energy to the point where not only you love doing it, you want to tell everyone else about it?

Re:We migrated from AWS to GCP with minimal downtime by deepsun on Sunday June 09, 2024 @01:55AM (#40622355)
This. And also "shiny new thing" vs. "don't touch if it works" -- oftentimes it's fun to rewrite some part of a project even if it works ok. As a manager, I just need to limit the blast scope, and make sure the refactoring reaches its end, not leave it half-baked.
Re:We migrated from AWS to GCP with minimal downtime by GreenWatermelon on Friday June 07, 2024 @04:03PM (#40612397)
The previous paragraph says:

> As of this writing, we could not find any existing tools to send a ZFS file system to S3 and download it from Cloud Storage, in real time. Most tools like z3 are used for backup purposes, but we needed to transfer filesystem chunks as quickly as possible.

So, they didn't rewrite anything.

Re:We migrated from AWS to GCP with minimal downtime by broner on Friday June 07, 2024 @02:13PM (#40611309)
Switch your blind faith to Go (s5cmd) and get ~1200 MB/s upload speed!

zfs send tank/pgdata@snapshot | pbzip2 > mybackup.zfs.bz2

s5cmd cp mybackup.zfs.bz2 s3://mygooglebucket/

https://github.com/peak/s5cmd/blob/master/README.md#Benchmar...

Re:We migrated from AWS to GCP with minimal downtime by attentive on Friday June 07, 2024 @05:11PM (#40613037)
If s3 is the goal, there is gof3r which can be piped into i.e. skip storing mybackup.zfs.bz2 locally.

Overall, I didn't see if they've identified the bottleneck. My guess pbzip2 is the slowest, ssh second. For compression bw I'd check zstd. For ssh there are various cipher/compression options. Or perhaps skip altogether and use wireguard.

Re:We migrated from AWS to GCP with minimal downtime by tarasglek on Saturday June 08, 2024 @03:02AM (#40615826)
gof3r looks amazing, thank you!
Re:We migrated from AWS to GCP with minimal downtime by bfeynman on Friday June 07, 2024 @01:16PM (#40610689)
classic fallacy seen on engineering blogs all the time "we cut down {speed, cost} by writing something in {go, rust} without realizing that rewriting is also refactoring from the most explicit set of requirements. None of the tech debt or technical decisions are factored in.