top | item 15038876

(no title)

ntrepid8 | 8 years ago

I've been running an Elixir app in production on about 20 nodes for 18 months. We just build Debian packages and deploy using Salt.

Additionally, most of the cluster nodes run on Spot Instances in AWS so they are relatively inexpensive also. When a new instance comes up it connects to the cluster and starts serving requests. When an instance is killed, traffic is routed to the remaining nodes. Works great.

discuss

order

abrookewood|8 years ago

Do you have a blog post or anything that explains this process? How many nodes in the cluster? Why did you build Debian packages? How do nodes join/leave the cluster (DNS?)? Do you use ELBs at all?

ntrepid8|8 years ago

I really should write a blog post about it :) but right now there isn't one.

Debian packages are easy to work with and we keep them as our primary artifact for any given release.

The number of cluster nodes varies between 10 and 35 depending on the workload at the time.

Nodes join the cluster by contacting one of the three "static" nodes that are not spot instances. If they can talk to at least one of those they get knowledge of the entire cluster. When one of the spot instances is going to be killed there is a notice is the instance metadata. The nodes just watch for that and initiate a normal shutdown if they see it.

Yes we do use ELBs but just as TCP proxies and for TLS termination.