4

I'm planning a High-availability set-up with autoscaling for RestComm and some general doubts about the best way to plan it.

This is what I have now:

  • Restcomm instance using Amazon ECS (docker), so we can launch more instances very easily.
  • All of them share the Amazon RDS database.
  • Workspace is shared and persisted between instances.

To move to the next step, I have some questions:

  1. Amazon Load Balancer isn't an option because it doesn't support UDP so I'm considering Telestax LB, is it correct?. Is it possible to deploy it using docker?
  2. Move Restcomm MS outside of the docker Restcomm image so it can scale independently. Restcomm provides env variables to specify the MS, so I would have a LB and several MS behind it. Correct?.
  3. How much RAM needs a Restcomm instance and how many concurrent sessions supports?. How can we know how many concurrent sessions are in real time and in a programtically way?.
  4. There is a "automatic scaling" mechanism implemented in RestComm? More info would be appreciated. Ubuntu Juju isn't an option for me.
  5. We are considering Graylog2 or logstasch for logs management. Any insight here?. How do you install the agent in the docker images?.

The only documentation I found it was this very good document: https://docs.google.com/document/d/13xlaioF065pDnQUoZgfIpi6Noh0qHfAZ7U6afcPd2Y0/edit

Is there any other doc?.

Thanks in advance!

Antón R. Yuste
  • 980
  • 7
  • 17

1 Answers1

4

Very good questions :

  1. Yes. See, https://hub.docker.com/r/restcomm/load-balancer/

  2. You would have one LB (better to have 2 with active passive to avoid single point of failure) with X Restcomm behind it speaking to Z Media Servers behind them.

  3. It depends on the complexity of the application on top. But here is some numbers https://github.com/RestComm/Restcomm-Connect/wiki/Load-Testing-on-Docker

  4. Not yet. you can use Mesos or Kubernetes potentially if juju is not an option. We have a set of open issues for kubernetes right now but Mesos should be working.

  5. You can check https://hub.docker.com/r/restcomm/graylog-restcomm/ it contains a docker image pre loaded with everything needed to poll a restcomm server for gathering metrics.

jeand
  • 2,325
  • 14
  • 12
  • 1
    Very good answers, thanks @jeand. I would take a look to the kubernetes issues, maybe I can contribute something in the near future. Regarding the load balancer, the restcomm instances have fixed IPs or are they dynamically registered in the load balancer (something similar to microservices)? – Antón R. Yuste Apr 28 '16 at 13:42
  • @AntónR.Yuste let me ping you privately on Kubernetes contributions. restcomm instances register dynamically with the load balancer indeed ;) – jeand Apr 28 '16 at 15:36
  • sure, always happy to speak with you, I'm already in your gitter channel. Thanks for the answers. It's much more clear for me now: your LB is the way to go. – Antón R. Yuste Apr 28 '16 at 16:04
  • how are you achieving auto-scaling and where is the logic to up/down instances? Or are you doing it manually based in Graylog2 alarms? – Antón R. Yuste May 03 '16 at 13:21