One of the first modules should be a production ready load balancer that can dynamically discover backend servers. This is a minimum requirement for a usable load balancer.
The simplest version of this would not use any service discovery and instead could use the cloud provider's APIs to do the discovery of the backend services. So this would mean creating a module that uses butter to keep the server list up to date.
One of the first modules should be a production ready load balancer that can dynamically discover backend servers. This is a minimum requirement for a usable load balancer.
The simplest version of this would not use any service discovery and instead could use the cloud provider's APIs to do the discovery of the backend services. So this would mean creating a module that uses butter to keep the server list up to date.
For the load balancing software, envoy proxy might be a good candidate as it supports hot restarts. It seems like this is the supported way to do that in a real deployment: https://www.envoyproxy.io/docs/envoy/latest/operations/hot_restarter. Envoy is released as a docker image: https://www.envoyproxy.io/docs/envoy/latest/start/start, so the question will be how the hot restarter interacts with that setup.