As an indie game dev I would like to deal with as little of a stack as possible. So what high level services could you use to achieve a similar chat feature without having to roll and maintain all of your own infrastructure?
To me something like Firebase could work for this?
It seems like when game dev companies grow they love to blow out all of their own in house solutions so they can have complete ownership and control. But is the cost of ownership of your stack really worth the maintenance costs? Why not outsource as much of the stack to another company that can take advantage of economies of scale?
Chat at "indie scale" is fairly easy. 10-20k concurrent users fit into one or two machines with off the shelf software (ejabberd) with minimal expertise. 1k-2k concurrent users could easily be done in almost any stack.
If you're doing more than 20k concurrent users, odds are you can afford to hire someone to scale up or build out a team to do it, or find a 3rd party service and pay them to host your chat.
You could find someone who would do managed ejabberd.
ejabberd is an XMPP server written in erlang. As soon as I saw they talked about erlang I was pretty confident that ejabberd was the next name they would drop. Very surprised they suggest they rolled their own.
Comments
As an indie game dev I would like to deal with as little of a stack as possible. So what high level services could you use to achieve a similar chat feature without having to roll and maintain all of your own infrastructure?
To me something like Firebase could work for this?
It seems like when game dev companies grow they love to blow out all of their own in house solutions so they can have complete ownership and control. But is the cost of ownership of your stack really worth the maintenance costs? Why not outsource as much of the stack to another company that can take advantage of economies of scale?
Chat at "indie scale" is fairly easy. 10-20k concurrent users fit into one or two machines with off the shelf software (ejabberd) with minimal expertise. 1k-2k concurrent users could easily be done in almost any stack.
If you're doing more than 20k concurrent users, odds are you can afford to hire someone to scale up or build out a team to do it, or find a 3rd party service and pay them to host your chat.
Indie don't have 20k CCU.
Openfire is a known server for XMPP:
http://www.igniterealtime.org/projects/openfire/
Yes it is, and so is ejabberd, in GP's comment. (And the most popular iirc)
They were talking about indie game studies, not indie chat protocols.
You could find someone who would do managed ejabberd.
ejabberd is an XMPP server written in erlang. As soon as I saw they talked about erlang I was pretty confident that ejabberd was the next name they would drop. Very surprised they suggest they rolled their own.
Check the blog post's comments. The author mentions that they started with ejabberd and -gradually- rewrote 90% of it. :)