3 ms·
CM systems spend a lot of time on bootstrapping, creating their workspace, downloading the scripts, parsing them, etc. Then they simply execute other programs
by pas 7y ago
CM systems spend a lot of time on bootstrapping, creating their workspace, downloading the scripts, parsing them, etc.
Then they simply execute other programs to then parse their output. And/or fiddle with files (parse them, alter them, write them).
Sure fundamentally the syscalls and apt/dnf/yum will be the slow parts, but I found that development of CM scripts/plays/recipes are usually bottlenecked on the turnaround time of the CM system's own workflow. And execution time is a significant part. (The bootstrap, the transfer of whatever files, and so on.)
Rust would help with writing things that are relatively well error handled at compile time, and gives you single binaries.
- CameronNemo 7y agoWhy do we care about speed here? Surely reliability and readability are paramount features...
- pas 7y agoDevelopment speed is important. You can use the most reliable thing in the world if it takes a day to test/build/deploy. And simple imperative script is a lot more readable than a custom DSL with who knows what ruby hooks. Currently the CM system that makes sense on the long run is a git repo for Terraform. (Because everything else runs in containers anyway, and to set up the immutable images you don't need "state management". And where you need it you need active state management such as k8s and its specific operators.)