However, in orgs that are primarily Elixir shops, I don't see a lot of Kafka or gRPC. (Redis is just useful, its more than just a queue and K8s and Elixir/Erlang compliment each other, btw.)
However, in orgs that are primarily Elixir shops, I don't see a lot of Kafka or gRPC. (Redis is just useful, its more than just a queue and K8s and Elixir/Erlang compliment each other, btw.)
And what makes Elixir not need Kafka, Redis or GRPC?
Instead of Redis, you could use ETS for caching. But once you have 2+ instances of your app, you will need to have a centralized caching mechanism, otherwise, each instance will have its own ETS with its own memory, not sharing anything. Unless you decide to use Distributed Erlang and connect all the nodes of your application, which comes with a lot of trouble. Much easier to just use Redis.
And lets say you have multiple teams, each team has its own service(built with Elixir), and you need to have some async communication between those services. What native Elixir solution would you use instead of Kafka?
Same for GRPC. What's the alternative? Connecting all the nodes and using Erlang message-passing?
Just say no to Kafka.
Though I will concede, it's a bit of a bazooka for a mosquito, sort of thing.
ETA: As another couple of comments pointed out, ETS also dies with the node so you've got to handle that also when rolling it.
ETS is cool, but its not a panacea.