Autor
Michael Wolf
Head of Technology
bei SYZYGY Techsolutions
Lesedauer
5 Minuten
Publiziert
14. Juli 2022
Teams, Zoom und Co sind in der täglichen Kommunikation mit Kunden und Kollegen nicht mehr wegzudenken. Viele Organisationen wollen die Vorteile dieser Interaktionsform nun auch für ihre eigenen Online-Präsenzen nutzen. Zahlreiche Video Conferencing APIs wie AWS Chime SDK versprechen eine einfache und nahtlose Integration. Wir haben uns daher Chime einmal näher angesehen.
Video Conferencing APIs
Der Markt für Video Conferencing Services wuchs in den vergangenen Jahren rasant, ein Ende ist nicht in Sicht. Unternehmen möchten Video, Audio und Chat verstärkt auch auf Ihren Corporate Webseiten nutzen, um Ihren Kunden, Partnern, Interessenten oder Mitarbeitern neue Möglichkeiten zu bieten.
Um dies auf beliebigen Webseiten oder Mobile Apps zu integrieren, nutzt man Video Conferencing SDK APIs. Auch Amazon bietet mit AWS Chime SDK eine Video Calling & Conference API für die Integration auf Webseiten sowie Android oder IOS Apps an. Der Service bildet auch die Basis der Amazon eigenen Video Conference Software Amazon Chime.
Als AWS Partner und Anbieter AWS basierter Lösungen, lag es unseren Entwicklern nahe, sich damit auseinanderzusetzen. Deswegen haben wir ein kleines Exploration-Team zusammengestellt, welches den Proof of Concept “Einbinden von Video Conferencing auf einer eigenen Webseite mit Hilfe des AWS Chime SDK” zum Ziel hatte. Das Team nutzte unseren AWS Playground, einen Bereich, den unsere Mitarbeiter:innen zum Kennenlernen und Ausprobieren aller AWS Services nutzen können.
AWS Chime SDK
Mit dem AWS Chime SDK lassen sich unter anderem die folgenden Services in Webs oder mobilen Apps integrieren:
- Messaging
- Audio
- Video
- Screen Sharing
- Stream Capturing
Das SDK ist in den folgenden Sprachen verfügbar:
- C++
- Go
- Java
- Javascript
- .NET
- js
- PHP
- Python
- Ruby
Eine Amazon Chime Web-Applikation besteht aus den folgenden Komponenten:
- Das Amazon Chime SDK für Javascript ist das Client SDK fürs Frontend (Browser oder Electron). Es wird per NPM Package eingebunden
- Das AWS SDK ist die Backend API, mit der Meetings verwaltet werden. Es bietet alle hierzu notwendigen Aktionen, wie zum Beispiel chime:CreateMeeting oder chime:CreateAttendee und kümmert sich um Authentifizierung und Autorisierung. Der Amazon Identity und Access Management Service (IAM) verwaltet den Zugriff auf diese Aktionen
- Die Amazon Chime Media Services stellen die Audio- und Videofunktionalität in einer Vielzahl von AWS Regionen bereit
Zusätzlich wird ein React User Interface Framework mit einigen ready-to-use Komponenten angeboten. Damit sind Video-Calls mit bis zu 250 Teilnehmern schnell in jedes Web integriert.
Das folgende Diagramm zeigt die Architektur einer Amazon Chime Web Client Application:
Proof of Concept
Hier ein paar Stichpunkte zu dem Projekt:
- Als Repository nutzten wir AWS CodeCommit
- Für das Hosting sowie die CI/CD nutzten wir AWS Amplify
- Das Frontend war eine kleine React-SPA (create-react-app). Für die Video Conference Features haben wir die Komponenten des angebotenen React User Interface Framework genutzt (amazon-chime-sdk-component-library-react)
- Das Backend war ein NodeJs basierter GraphQL Endpunkt, implementiert als AWS Lambda und aufrufbar über AWS AppSync
In sehr kurzer Zeit ist eine in AWS gehostete Webseite mit eigenen Inhalten (Rahmen, Header, Footer) und einem Contentbereich, in dem man eine Video-Konferenz starten und andere Teilnehmer einladen kann, entstanden.
Den Test „30-minütiges Online-Meeting mit >50 Teilnehmern erfolgreich abhalten“ hat das System mit Bravour bestanden.
Fazit
Video Conferencing ist mit dem AWS Chime Client SDK und dem React-Komponenten-Katalog einfach zu integrieren. Bereits nach kurzer Zeit hat man ein Ergebnis mit einer Leistungsfähigkeit, die früher enorme Herausforderungen an Budget, Timing und Qualität gestellt hätte.
Aus unserer Sicht lohnt sich ein Blick auf die API, insbesondere wenn man im AWS Ecosystem unterwegs ist.
Das Beispiel unseres AWS Chime PoCs zeigt deutlich, was man mit modernen Cloud-Bausteinen erreichen kann. Eine neue Dimension von bisher unerreichter Kosten-Nutzen-Effizienz.
Marc ZollingkofferDirector Software Engineering – SYZYGY Techsolutions
Head of Technology