I’m about to start a Rust project and would like your advice before I embark on it.
What I’m building has the following characteristics:
- It will be a daemon or background service that will run on potentially hundreds of thousands devices within an enterprise.
- It will be cross platform supporting the following OS’s:
- Windows Win7 and later
- RHEL 7.1 and later
- Latest versions of CentOS, Debian, Fedora, OpenSUSE, SLES and Ubuntu
- Latest version of Android
- Mac OS 10.11.6 and later
- Solaris 11.3
- The program will primarily be doing the following:
* Reading from and writing to the disk
* Exposing an HTTPS server and calling HTTPS server on other machines.
* Communicating using UDP (including broadcasts within a subnet)
* Communicating using TCP.
- I mainly intend to make use of the following frameworks:
Rocketfor HTTPS server
* Implies use of
Hyperwith TLS support
Reqwestsfor HTTPS client-side
Tokiofor UDP and TCP comms
* Implies use of
std::iofor disk I/O
What I would like to ask you guys is how viable this project looks for Rust. Specifically:
- I know Solaris is a Tier 3 platform, but is Rust stable enough on this platform to run in production?
Tokiosupported on Solaris? I have heard
miodoesn’t work on that OS.
- What about
Hyperand TLS on any of the non-Tier 1 platforms?
- From your experience, how stable does Rust tend to be on non-Tier 1 platforms?
- In general, what problems am I likely to run into with this project?
- If you think this is an altogether risky undertaking, please feel free to tell me that.
I believe if there are some small gaps, me and my team will be capable of and willing to fill them. But if there’s some major piece missing place let me know. Please feel free to add any other comments you feel will be useful.
If I don’t do this project in Rust, I’ll have to do it in C++. I shudder to imagine that.