Implementation and automation of WebRTC application deployment in a Cloud Native environment

DOI: 10.31673/2412-4338.2021.035462

Authors

  • М. Ю. Кузьміч, (Kuzmich M. Yu.) State University of Telecommunications, Kyiv
  • Т. Б. Гордієнко, (Gordiyenko T. B.) State University of Telecommunications, Kyiv

Abstract

Quarantine restrictions and current trends in the development of IT infrastructures have led to significant interest in streaming technologies. The application and development of WebRTC systems for audio and video conferencing is relevant and in demand today. Web real-time communications (WebRTC) allows Web browsers to interact through Application Programming Interfaces (APIs), which are used primarily for audio and video conferencing. Selective Direction Gateway (SFU) and Multipoint Control Gateway (MCU) are technologies that complement WebRTC. SFU and MCU servers are used to improve performance when exposed to environmental inhomogeneities, such as increasing the number of users, specific network equipment. Therefore, due to the specifics of their work, deployment in a Cloud Native environment is a non-trivial task.
The article presents an analysis of the implementation and automation of WebRTC SFU gateway deployment in a Cloud Native environment and its feasibility. Emphasis is placed on finding the optimal deployment method. An example of a declarative description of the deployment of a Jitsi SFU gateway is given as code that can be reused for subsequent experiments. Automating the deployment of SFU servers has improved the quantitative and qualitative components of the experiments, reducing the time spent on its preparation and minimizing human error. Method of great potential for further development was proposed and described. The authors also proposed changes to the HELM package through the Github site to improve the handling of dependencies that have been adopted and implemented.

Keywords: WebRTC, Cloud Native, automation, Cluster and Cloud computing, Kubernetes, SFU, Open source, Helm, containerization, microservices.

References
1. Heater B. Twitter says staff can continue working from home permanently – TechCrunch. TechCrunch. URL: https://techcrunch.com/2020/05/12/twitter-says-staff-can-continue-working-from-home-permanently/.
2. Pasha M., Shahzad F., Ahmad A. “Analysis of challenges faced by WebRTC videoconferencing and a remedial architecture”. International Journal of Computer Science and Information Security. 2016, Vol. 14, No. 10, P. 698-705.
3. Mário Antunes, Catarina Silva, Joaquim Barranca. “Telemedicine application using webrtc. Procedia computer science”. Computer and information sciences. 2016, no. 100, P. 414–420.
4. “An innovative WebRTC solution for e-Health services” / Paola Pierleoni, Luca Pernini et all. IEEE 18th International Conference on e-Health Networking, Applications and Services (Healthcom), Munich, 14 September 2016, 16484380.
5. Kwok-Fai N., Yang L., Wu C. “A P2P-MCU Approach to Multi-Party Video Conference with WebRTC”. International Journal of Future Computer and Communication. 2014. Vol. 3, no. 5. P. 319–324.
6. “Performance comparison of a WebRTC server on Docker versus virtual machine” / C. C. Spoiala et al. International Conference on Development and Application Systems (DAS), Suceava, 19 April 2016.
7. “Comparative Study of WebRTC Open Source SFUs for Video Conferencing” / E. André et al. Principles, Systems and Applications of IP Telecommunications (IPTComm), Chicago, 18 October 2018, 18324713.
8. Gannon D., Barga R., Sundaresan N. “Cloud-Native Applications”. IEEE Cloud Computing. 2017. Vol. 5, no. 4. P. 16–21.
9. D. Linthicum. “Cloud-Native Applications and Cloud Migration: The Good, the Bad, and the Points Between”. IEEE Cloud Computing. 2017. Vol. 5, no. 4. P. 12–14.
10. Project source code Jitsi. GitHub. URL: https://github.com/jitsi .
11. Programming language template documentation golang. pkg.go.dev. URL: https://pkg.go.dev/text/template.
12. Source code helmfile. GitHub. URL: https://github.com/roboll/helmfile.
13. The source code of the webrtc application deployment in Kubernetes. github.com. URL: https://github.com/kuzm1ch/k8s-webrtc.
14. A Helm chart for jitsi-meet by Zempashi Pull Request #235 jitsi/docker-jitsi-meet. GitHub. URL: https://github.com/jitsi/docker-jitsi-meet/pull/235#issuecomment-658381692.

Published

2022-05-29

Issue

Section

Articles