Comment by Jtsummers
3 hours ago
> But Erlang/OTP can replace a lot of expensive kludges.
If you can convince your employer of that. I'm working on a system today (and not for the first time) that could have significantly reduced complexity by switching to Erlang (or Elixir) and OTP. Amusingly, it's a glorified, in-house telecom system that was developed because they chose not to buy an existing solution.
>> But Erlang/OTP can replace a lot of expensive kludges.
> If you can convince your employer of that.
It's probably easier to find an employer that's already convinced. But that's not easy either. :P I'm working in Rust now, because that's what the employer wants to do and it works enough. Half of my work problems would evaporate if we switched to BEAM, but I'd still have the other half and new ones and I'm not sure the rest of the team would be as excited as I am. And they almost certainly wouldn't let me hot load code, which means less fun and less fast iteration :(
Convincing an employer to switch languages is generally hard, regardless of which language, but switching to a system built on BEAM is probably a bigger change than most.
Ah, I just recommended simple AMQP (packed BSON <128k messages) for RabbitMQ with client x509 cert GUID access as secure "middleware" to link all the legacy systems together. The addition of a strict sanitization producer/consumer process bound to each cpu core handles a sliding window idempotent operation handler. Or, people can corrupt their own data if they really try for a finite period, but the system eventually becomes consistent.
Notably, it is possible to rebuild or move the entire infrastructure by issuing a signed resend-logs-to-new-consumer request to clients or servers.
If you start with a dumpster fire at a dried fish factory, than 3 week solutions that last 6+ years under load look pretty nice in retrospect. Your boss is probably contemplating why most Erlang/Elixir people don't work for clown wages. =3