Auf Kundenwunsch haben wir die Videokonferenz-Plattform Jitsi Meet auf Amazon Web Services (AWS) in Betrieb genommen.
Einer unserer Kunden wollte für regelmäßige Videokonferenzen eine speziell auf seine Bedürfnisse angepasste Jitsi Meet-Installation online stellen. Diese sollten wir in seine bereits vorhandene AWS-Umgebung integrieren. Dadurch kann die gebuchte Rechenleistung dynamisch an den tatsächlichen Bedarf angepasst werden.
Für diesen Auftrag haben wir zunächst die Performance und das Anforderungsprofil von Jitsi Meet an die Hardware untersucht.
Skalierung von Jitsi Meet
Zu Beginn wurde Jitsi Meet auf einer AWS Free Tier EC2-Instanz der Größe „t2.micro“ installiert und eingerichtet. Die Grundinstallation und auch einfache Meetings haben hier zunächst problemlos funktioniert. Sobald die Anzahl der Teilnehmer in einem Meeting erhöht wurde, haben die Ressourcen der t2.micro Instanz aber nicht mehr ausgereicht.
Wir haben mehrere Versuche mit „t3a.medium“, „t3a.xlarge“ und „c5a.2xlarge“-Instanzen durchgeführt und die Performance verglichen. Dazu nutzten wir Grafana, um den Grad der Hardware-Auslastung und besonders beanspruchte Infrastruktur-Komponenten zu analysieren.
Bei steigender Teilnehmerzahl konnten wir die hohe Beanspruchung der CPU als Bottleneck identifizieren.
Jitsi Meet Performance auf AWS
Aktuell betreiben wir die Installation für den Kunden bei bis zu 75 Teilnehmern je Meeting auf einer „t3a.xlarge“ Instanz. Das gleichzeitige Ausführen mehrerer Meetings dieser Größe erfordert aber eine leistungsfähigere Infrastruktur. Dazu kann entweder eine größere Instanz genutzt werden oder die Standalone-Installation von Jitsi Meet in mehrere Instanzen aufgeteilt werden, die dann jeweils nur die Jitsi Videobridge-Komponente betreiben.
Bei einer Lösung mit mehreren Instanzen empfehlen wir dann nicht mehr die Verwendung von EC2-Instanzen. Hierzu eignen sich Kubernetes Cluster, die sich in AWS mittels Elastic Kubernetes Service (EKS) erstellen lassen. Durch die Kubernetes Cluster lassen sich die Instanzen leichter skalieren.
Wir freuen uns über ein erfolgreiches Jitsi Meet-Projekt, bei dem wir spannende Einblick in das Zusammenspiel mit AWS gewinnen konnten!