10 to 20 improvement here.
I wrote, while learning, a monitoring system in Elixir. I put everything in one "Phoenix" app. What does it do?
* Query about 60 oracle databases in parallel every five seconds.
* Query a number of KDB databases every five seconds.
* SSH to dozens of machines every ten seconds
* Ingest statistics from icinga.
* Pull ticket updates from Jira every couple of seconds.
* Provide facilities for connecting in to screen on about 100+ remote machines, and interacting with their interfaces.
* API access to internal and external commands/functions.
* more.
It does much more than this, while serving live-view sessions to users, on a dual core machine (CPU: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz x 2), while averaging about 8% CPU for everything it does.
The SSH component replaces a python version that does the same thing. The Python instance, by itself, pushes a 6 core box (same xeon as above but with 6 cores, rather than 2) to 100% CPU, and spaws close to 3,000 OS tasks.
Many of the other checks that are running in that 8% CPU Elixir process replace python, node, and java checks, each of which required more ram, demanded more CPU, and were spread across eight to ten dedicated machines per check.
We have been retiring machines, and reducing CPU load, so I'd say we do see the 0 to 20 reduction.
Now, my solution might have been written better, but that was what I came up with while learning Elixir.