Co-Founder at weconnect.chat·
Needs advice
on
DockerDockerMongoDBMongoDB
and
RabbitMQRabbitMQ

Hi, I am building an enhanced web-conferencing app that will have a voice/video call, live chats, live notifications, live discussions, screen sharing, etc features. Ref: Zoom.

I need advise finalizing the tech stack for this app. I am considering below tech stack:

  • Frontend: React
  • Backend: Node.js
  • Database: MongoDB
  • IAAS: #AWS
  • Containers & Orchestration: Docker / Kubernetes
  • DevOps: GitLab, Terraform
  • Brokers: Redis / RabbitMQ

I need advice at the platform level as to what could be considered to support concurrent video streaming seamlessly.

Also, please suggest what could be a better tech stack for my app?

#SAAS #VideoConferencing #WebAndVideoConferencing #zoom #stack

READ LESS
15 upvotes·210K views
Replies (8)
Recommends
WebRTC

You're going to want to look hard at WebRTC. It's what almost every realtime video service uses. The appeal is that it establishes a direct connection between peers so that the massive video bandwidth doesn't need to go through your backend. That aside, actor clusters will be the other technology that handle that sort of traffic well. It was popularized by erlang for telecom backbone, akka is another choice for actor systems.

Infrastructure wise, kubernetes would be a fine choice. Just make sure to look up some benchmarks for Container Network Interface (CNI) implementations that support high bandwidth traffic.

READ MORE
14 upvotes·1 comment·6.5K views
Nikhil Gurnani
Nikhil Gurnani
·
November 4th 2020 at 7:34AM

I absolutely second this recommendation! WebRTC is a must for apps that have high amount of audio / video streaming.

·
Reply
SDET at Ledningkart·
Recommends
Docker

Kubernetes provides Auto-scaling whereas Docker Swarm doesn't support autoscaling. Kubernetes supports up to 5000 nodes whereas Docker Swarm supports more than 2000 nodes. Kubernetes is less extensive and customizable whereas Docker Swarm is more comprehensive and highly customizable. So if your main usecase is autoscaling go for kubernetes else Docker is always a good choice.

READ MORE
10 upvotes·6.4K views
View all (8)
Avatar of Yogesh Bhondekar

Yogesh Bhondekar

Co-Founder at weconnect.chat