FWIW I worked in ad serving for some years (at Google and prior) and much of that work is done in C++ because of millisecond granularity P99, etc. latency concerns. Rust is a natural fit there, even though that is nominally "web serving"; but that's a different domain than serving up database-backed microservices for typical web customer workloads; that stuff is on the whole I/O blocked and not impacted by GC sweeps.
That is not a bad sing, in fact.
That mean the app was write and now is the second(third...) time.
I do this, for work. People pay me to make this stuff several times in the past. And moving langs and other major changes (like move from web to mobile).
Rust make this much better than before: You get some fast, yeah, some safety, great, but much better modeling of logic and great tooling, even errors are much better here! (ie more detailed, better resolutions).
---
Rewriting a system is assumed to be a terrible mistake, and that is true mostly for organizational or political reason, but is VERY profitable if done by technical reasons!
To make it a failure:
- You need something dysfunctional in the org/team, and stay or move anyway will lead to doom. Make the jump to Rust WILL make this more evident!
- You have inexperienced people doing this. Stay or move anyway will lead to doom, but move will be faster!
To make it a success:
- You somehow have a decent org/team
- Budget the time required to make the change, not do it with major time presures
- Do some small test validations, maybe just experiment a little a few weeks/months if the app is truly big.
- Make the jump and use real data ASAP
The rest is obvious work...