Flawless – Durable execution engine for Rust - https://news.ycombinator.com/item?id=38010267 - Oct 2023 (117 comments)
This is something I am very interested in using on a personal project, but it's closed source, and as far as I can see, there is no narrative or explanation about the long terms plans, or whether it is a good idea or not to start using it for projects.
Can you talk more about your plans, and if it might be good to use as a dependency in a project?
Thanks
I've been keeping an eye on flawless since stumbling across your blog posts from last year, it's great to see more durable execution options entering the market.
Given that you're compiling functions down to WebAssembly, I was curious about which runtime did you end up going with for building out the platform?
I'm also curious about whether you had plans (or any that you would be willing to share anyway) around expanding the languages supported by Flawless beyond Rust any time soon?
What happens if I make a HTTP call that returns a time-limited resource (a token perhaps) that expires in 1 minute? What’s the pattern to handle this?
This seems like a great way to run tests hermetically, but I’m skeptical about this being the best way to run almost anything else. It seems like an expensive and complex way to handle failure. The examples provided (calling stripe API, recording result in DB) seem better handled through higher-level state management vs rerunning the exact binary again. Why recreate the HTTP call, when you could/should write custom logic to handle the failure. Maybe you need to ask stripe about the failure, but an HTTP call to report metrics can be silently dropped on failure.
That said, it would be really interesting if you can run this just on a subset of code, you could build dedicated transaction support into key logic.
Insta-pass.