0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

云视频会议系统私有化实践

LiveVideoStack 来源:LiveVideoStack 2023-01-06 10:33 次阅读

编者按:云视频会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。视频会议为用户大幅提高沟通效率,提升内部管理水平,已广泛应用在政府、交通、运营商、教育、企业等各个领域。本次LiveVideoStack特别邀请到了来自Cybrook的吴荣华老师,为我们从私有化、混合云、运维与部署等方面,分享他和团队在云视频会议系统私有化的实践经验。

befdf4b2-8d56-11ed-bfe3-dac502259ad0.jpg

先简单介绍下我自己。我叫吴荣华,是踪视通的联合创始人与工程副总。我最早是在GIPS公司任职,GIPS全称是Global IP Solutions,它是一个瑞典的公司。行业外的大家可能不是特别熟悉,但做RTC的可能都有了解,公司的主要产品是实时音视频 SDK。叫做Voice Engine和Video Engine,可以说当时几乎所有大厂都在用我们的SDK,包括QQ、gtalk、hangouts,yahoo messager等等。后来Google想要做WebRTC,所谓WebRTC就是把RTC的技术做到web里,换句话说就是做到浏览器里,这样的话web app只要调用简单的Javascript API就可以做RTC了,所以Google就买了GIPS公司,我也就加入到了Google团队里。WebRTC基本上就是在我们原来的Voice Engine和Video Engine基础上做出来的。如果熟悉WebRTC代码的朋友可能还知道现在还有个文件叫做Video Engine就是原来我们的名字。再后来我从Google离职,联合创立了现在的公司叫Cybrook,目前我们主要在旧金山的硅谷和苏州有研发团队,国内的公司就叫踪视通,我们主要专注于实时音视频的应用和技术,我们的主打的产品是叫TeamLink的一个云视频会议系统,目前在全球 200 多个国家有近千万的用户。

我今天分享的题目是云视频会议系统的私有化实践。

bf0becde-8d56-11ed-bfe3-dac502259ad0.jpg

我们公司的主打产品是云视频会议系统,当我们在拓展国内市场的时候,我们发现国内的用户对于私有化的需求是很大的,所以我今天主要想给大家分享一下我们在从云视频会议系统到给客户做私有化部署过程中的一些经验和心得,希望对大家有所帮助。我的分享会分为三部分:前面两部分会介绍几个比较典型的客户需求,然后看看我们是如何解决这些需求的,第三部分会分享一下,怎么给用户做私有化部署以及后续的运维。

01 私有化

bf225dca-8d56-11ed-bfe3-dac502259ad0.jpg

那我们先进入第一部分,私有化。讲私有化之前,我们首先需要知道为什么用户需要私有化部署,也即公有云服务有什么问题。上方是一个简单的示意图,大概有这么几方面的问题:首先是并发性,主要是内网出入口带宽的限制。假设说有一个公司内部有很多员工都在使用云视频会议,我们知道云视频会议相对来说是一个需要较多带宽的一个应用,如果很多人同时使用的话,我们可以想见出口的网络带宽就会变得非常的拥堵。这不但会影响云视频会议的效果,而且也会影响其他需要使用网络的同事,这是云视频会议的其中一个问题;第二个问题是对于一个语音视频会议系统,它的网络传输是通过公网的,但我们知道公网的稳定性不是特别有保障,所以这种情况下,如果客户对于视频会议网络的画质有特别高的要求的话,有可能是无法满足的;第三个问题就是安全性。因为云视频会议系统的会议数据是要传输到云端服务器去做缓存和处理的,所以对于安全性要求特别高的客户也是一个问题。当然,我们也知道云视频会议系统有很多好处,一个比较显著的优点就是它特别方便,你自己不需要任何维护,基本上只需要下载一个APP,随时随地有网络就可以开会了。

那么我们要如何去解决公有云架构的问题呢?

bf2d5446-8d56-11ed-bfe3-dac502259ad0.jpg

我们想到的第一个的方案是做全私有化的部署,基本上就是把所有需要的服务器在私网里面部署,因为客户端和服务器都在内网,我们就不需要再使用出口带宽了,所以出口带宽就不是问题。第二个,因为内网的网络环境相对来说更加地稳定和高速,所以画质也会有保障。再者,因为数据并没有出内网,实现了物理上的隔绝,所以安全性上也更高。

当然这也是有代价的,首先你需要在公司里有一套服务器并不断地维护,另外一个比较大的问题是外网的用户是无法加入到会议里的。假设有些同事可能在家上班或者出差的话,就会造成很大的不便;另外,因为它是连接的私有服务器,所以一般需要一个定制的客户端或者至少需要在客户端里配置一下才能连接到私有的服务器。

这就是全私有化部署的优缺点,这套方案的特点是比较简单,实际上也可以满足一部分客户的需求,但是实际的客户需求往往会比这个要略复杂一些。

02混合云

bf3bca1c-8d56-11ed-bfe3-dac502259ad0.jpg

所以我们下面进入第二部分,怎么用混合云来解决一些更复杂的需求。

比如这个客户他首先要求能够得到所有私有化部署的好处,同时他还增加了几个额外的需求:第一个,他希望外网的用户也能够很方便地加入会议,这其实是一个很合理的应用场景,例如你有同事在外面出差或者你的合作伙伴开会都需要从外网加入;另外一个要求是比较方便地加入会议,比如我们不能要求用户在外网的时候还要安装VPN才能连到会议里;然后,客户还要求不能占用太多的公司出口带宽,因为如果外网的用户可以连到内网使用服务器的话,就像上图所示,假设有5个用户正在开会,3个用户是在内网,2个用户在外网,我们可以看到,私有服务器需要给每个外网的用户发送一整套的音视频数据,当外网的用户数量增加时,出口带宽的使用就会成倍增加,可能占用太多出口带宽;第三个需求是用户希望不将公司的网络端口直接暴露到公网上,因为可能会有潜在的安全隐患。

讨论最终的方案之前,我们可以先看一看一个典型的视频会议系统都有哪些服务器组成。然后我们再看能不能根据这些服务器各自的特点进行编排,有些部署在内网,有些部署在外网,看能不能解决客户的问题。

bf4a99d4-8d56-11ed-bfe3-dac502259ad0.jpg

首先我们有一个账号服务器,账号服务器一般是负责用户的登录、注册、用户的好友关系管理以及用户会议号的管理。我们知道如果想要在外网和内网都能够很方便地使用而且能够互联的话,账号服务器应该需要是同一个服务器,否则你在内网使用一个账号,到外网又要使用另外一个账号,这样的话就会很不方便。如果想要加一个好友可能也很复杂。另外这个服务器还有一个特点是它的流量其实不是很大,所以它不会对企业网的出口带宽造成太多的影响,因此我们暂时认为账号服务器应该放在公有云上。

第二种服务器叫做信令服务器,这个做RTC的同学比较清楚。它的主要作用是给通信双方交换一些信令消息,比如说它们可以用什么编解码器,在什么网络端口,用什么加密密钥。这个服务器的特点是它的流量不是特别大,第二个它一般不存储信息,只在真正开会的时候用一下,会议结束以后就不用了。所以这个服务器我们可以认为它只要内网和外网的人都可以连接到,基本上就可以了,是放在公有云上还是在私有云上关系不是特别大,所以我们认为信令服务器是都可以的。

第三个是媒体服务器,这个服务器的主要作用是处理和转发音视频的数据。早先的MCU还有现在的SFU都属于是媒体服务器。绝大部分数据是通过这个服务器进行处理的,可以说这个服务器是一个主要矛盾。如果我们要解决内网的带宽问题的话,我们可能需要在私有云上部署一个媒体服务器,但是我们怎么去解决公有云可以方便连接的问题呢?那我们看一个方案。

bf5910f4-8d56-11ed-bfe3-dac502259ad0.jpg

这个是我们采用的混合云的架构,这里有几个点,首先我们在公网上部署了一个公网账号服务器,那么用户在内网和外网使用都连接了同一个账号服务器,这个账号还有统一的会议号和好友关系。第二个点就是信令服务器可以在内网,也可以在外网。那我们将其部署在外网,因为如果部署在内网的话,内网的网络防火墙可能就要打开一个额外端口,能够让外网的用户访问,如果把信令服务器也放在云端就没这个问题了。第三个,我们部署了两套媒体服务器,一个媒体服务器在内网,另一个在外网。那么内网和外网的用户分别就近的加入各自的媒体服务器,这样做的好处是内网的防火墙上就只需要开一个口给媒体服务器,不需要将整个端口暴露给整个公网。第二个好处是,因为服务器和服务器之间进行级联,那么音视频的数据的传输就对带宽的使用得到最优化,我们可以看下面的具体分析。

bf6420fc-8d56-11ed-bfe3-dac502259ad0.jpg

这是带宽的对比图,左边方案里所有的客户端都连到统一的媒体服务器,右边的客户端通过两个媒体服务器进行级联,也就是我们刚刚说的混合云的架构,我们可以看到同样是5人的会议,3人在内网,2人在外网,左边的方案需要使用的出口带宽是右边的两倍,因为它这个服务器需要将音视频数据分别发送给每一个外网客户端,右边只需要发送一份给外网的媒体服务器就可以。而且我们可以预想到,如果外网用户增加的话,左边方案的带宽使用会成倍增加,假如外网用户变成4倍的话,左边方案的带宽就会是右边的4倍。

bf77a3f2-8d56-11ed-bfe3-dac502259ad0.jpg

我们可以再回顾一下刚才客户的需求。我们认为该方案是比较理想的,它兼顾了私有部署的好处的同时让内、外网用户也能够很方便地使用,而且不占用太多出口带宽,也没有将公司网络端口暴露到公网上。那么有了混合云的架构加上全私有部署的架构,我们已经可以基本满足大部分用户的需求。

bf8291e0-8d56-11ed-bfe3-dac502259ad0.jpg

当然可能还有一些更复杂的需求,那我们可以在现有的架构的基础上做一些变形,比如这个用户的需求是在不同的点都有办公室,比如他在北京和上海各有办公室,那么我们只需要在混合云部署的架构的基础上,在不同的办公室部署额外的媒体服务器,然后让媒体服务器之间实现级联就可以解决这个问题。

03部署,运维

我们在前面两部分介绍了几个典型的客户需求以及解决方案,对于私有化部署来说,除了方案以外,很重要的一点是部署和后续运维,因为你不知道客户的情况是怎么样的,差别会非常大。我们进入第三部分来谈一谈我们在部署和运维方面的一些方案。

bf91a798-8d56-11ed-bfe3-dac502259ad0.jpg

我们大概知道服务的部署方式经过了这样一个演化过程,最早的时候大家把服务直接部署在硬件服务器上,后来有了虚拟化技术,大家就使用虚拟机部署服务。现在比较流行的是容器化部署,因为容器化部署有很多好处,比如一致性、可管理等。因为我们无法事先知道私有化部署的客户环境,所以服务的可一致性以及可管理就非常重要,那么我们肯定要采用容器化部署。现有服务如果没有容器化的话,首先需要把它进行容器化。

bf9d49b8-8d56-11ed-bfe3-dac502259ad0.jpg

第二个,因为我们知道客户环境千差万别,可能有些客户是有自己的机房,有些客户可能就是买一台主机来安装服务,所以我们通常采用容器化加虚拟机的方案。我们一般先在虚拟机里把需要的服务器模块配置好,然后将虚拟机的镜像文件导出来交给客户,客户那边的部署就会比较简单了,他只要启动虚拟机的镜像,然后做一些简单的网络配置,基本上就可以把整个服务跑起来。

bfbd666c-8d56-11ed-bfe3-dac502259ad0.jpg

服务并不是只有一个服务模块,视频会议系统通常是由多个服务模块构成的,所以我们需要考虑容器的编排,其中一个方案是采用docker compose。只要我们把配置文件写好需要哪些容器,它们之间的依赖关系如何,设置好后只要一个命令,就可以把所有服务都启动起来。我们一般是在虚拟机里把容器都安装好,配置好导出成一个类似OVA的镜像文件,这样一来,客户部署是十分方便的。

bfcb13fc-8d56-11ed-bfe3-dac502259ad0.jpg

docker compose比较适合做单机部署,因为它特别简单易用,如果在单机部署时只有一台机器,上面跑多个container,用docker compose配置好就可以。但它的缺点是不太适合多机部署,如果你有多台服务器,用docker compose的话后续管理会比较麻烦,比如你要升级服务就要登录到每一台虚拟机器进行操作,虚拟机之间也没有统一的方法可以查看每一个容器的运行状态,虚拟机之间的容器也没法互相发现。另外一个就是虚拟机的资源利用不充分,因为它是各自配置的,所以即使虚拟机有剩余资源也没办法进行统一的调配。

bfd94f58-8d56-11ed-bfe3-dac502259ad0.jpg

所以对于比较复杂的部署,我们通常采用k8s的方式去部署。我们通常制作两个虚拟机的镜像,一个是k8s的nodes,另外一个是docker image的repo。我们把docker镜像放在docker image repo里,然后k8s node的配置指向docker image repo,这样的话启动了以后k8s的node就从docker image repo里拉取相应的image来启动它的服务模块。这个方式比较适合略复杂一些的,特别是多机的部署。

bfe5bb76-8d56-11ed-bfe3-dac502259ad0.jpg

使用了k8s以后,升级一个服务,我们只需要把docker image推到repo里,然后登录任意一台的master-node就可以通过kubectl完成升级。管理服务也非常简单,因为k8s是一个集群,所以所有的服务、虚拟机、资源、情况都可以很简单地查看。而且虚拟机的资源能够更充分利用,如果某一台虚拟机有较多的资源,k8s可以自动把某些pod分配到空闲的虚拟机上。因为k8s有自带的负载均衡策略,我们可以利用它的高可用,如果 pod 出问题,那它会自动剔除,创建新的pod。当然这些也不是没有代价的,这种部署需要创建一个k8s的集群,相对比docker compose一台机器就搞定来说,k8s会更复杂一些,所以它比较适合集群化部署。

bff2da86-8d56-11ed-bfe3-dac502259ad0.jpg

我们给客户部署完了还有后续的运维,如果我们采用k8s就可以用k8s的命令函工具或者用图形的dashboard界面做运维。

c0007e70-8d56-11ed-bfe3-dac502259ad0.jpg

当然,为了能够更加定制化,也可以做自己的定制运维平台。因为我们知道k8s提供一整套的HTTP接口,在这个接口的基础上实现定制平台是比较容易的,但如果你采用的是docker compose的方法的话,那可能就需要做一些额外工作,因为它不是特别适合多机的部署。

以上就是我的全部分享内容。主要介绍了一些我们遇到的常见的私有化部署的需求以及我们的方案,另外介绍了一下我们最新的部署和后续的运维,希望对大家能够有所帮助。谢谢大家!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 会议系统
    +关注

    关注

    1

    文章

    44

    浏览量

    11698
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1025

    浏览量

    45762
  • 云视频
    +关注

    关注

    0

    文章

    28

    浏览量

    4625

原文标题:云视频会议系统私有化实践

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SDI编码板+SONY FCB-EV9520L:在视频会议中的高效工作应用

    随着科技的飞速发展,视频会议已成为现代办公中不可或缺的一部分。它不仅打破了地域限制,使得人们可以随时随地进行沟通交流,还大大提高了工作效率。而在视频会议系统中,SDI编码板和SONY FCB-EV9520L摄像头的组合,更是以其卓越的性能和稳定的表现,成为了众多企业和机构
    的头像 发表于 11-18 15:51 56次阅读

    双十一低成本上车!详谈华为 Flexus 会议为我们中小企业带来了什么

    ,中小企业缺乏专业的技术人才,也很少真正操作过视频会议系统。 但对中小企业而言,在远程会议逐渐成为刚需的背景下,如何低成本的实现远程会议?专为中小型企业设计的 Flexus
    的头像 发表于 11-14 18:23 116次阅读
    双十一低成本上车!详谈华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>会议</b>为我们中小企业带来了什么

    双十一入手华为 Flexus 会议后,我总结了中小企业无法拒绝的 3 大优势

    Flexus 会议的一些看法和感受。 无需部署,注册即用 我们原有的视频解决方案就是搭建远程视频
    的头像 发表于 11-14 16:54 126次阅读
    双十一入手华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>会议</b>后,我总结了中小企业无法拒绝的 3 大优势

    中小企业远程会议必备,华为会议 Flexus 版重磅亮相 828!

    在技术进步和工作方式变革的双重驱动下,远程办公成了不可逆的发展趋势,企业对视频会议的需求也与日俱增。前些年,视频会议系统因部署复杂、造价高昂且维护成本高,仅是政府和一些大企业的“专属”,但是随着
    的头像 发表于 09-26 22:10 661次阅读
    中小企业远程<b class='flag-5'>会议</b>必备,华为<b class='flag-5'>云</b><b class='flag-5'>会议</b> Flexus 版重磅亮相 828!

    智能水电表管理系统支持本地私有化部署吗?

    智能水电表管理系统,作为智慧城市建设中的关键组件,正逐步改变着能源计量与管理的传统模式。面对日益增长的数据安全需求及特定行业的合规性考量,越来越多的企业和机构开始关注系统的本地私有化部署方案。本文将
    的头像 发表于 08-12 20:32 236次阅读
    智能水电表管理<b class='flag-5'>系统</b>支持本地<b class='flag-5'>私有化</b>部署吗?

    基于 FPGA 的会议系统设计

    展示样品图 01.设计概述 1.1 设计目的 随着疫情的出现,线上会议的应用越来越广泛,相关的技术也越来越成熟,但当前的线上会议系统大都基于电脑和手机,便于个人使用,但由于其摄像头拍摄方向
    发表于 08-01 18:40

    视频会议解决方案

    飞腾云XU316 7MIC无感本地扩音方案正是可以解决视频会议中音质不好的问题的有效解决方案。
    的头像 发表于 06-28 15:30 443次阅读
    <b class='flag-5'>视频会议</b>解决方案

    在线视频会议软件有哪些?三种实现方式

    分类来进行解说。 视频会议技术基本上可分为两大类:基于硬件的编解码和基于软件的编解码。以下是基于两种编码的三种在线视频会议实现方式。 一、基于硬件的视频会议系统 硬件视频会议系统主要通
    的头像 发表于 05-21 17:43 512次阅读
    在线<b class='flag-5'>视频会议</b>软件有哪些?三种实现方式

    指挥车工程中的讯维视频会议系统:提升应急响应能力的关键

    在指挥车工程中,讯维视频会议系统作为一种高效的信息传递和沟通工具,发挥着至关重要的作用。特别是在应对突发事件、紧急救援等场景中,该系统能够显著提升应急响应能力,确保指挥决策的高效性和准确性。 首先
    的头像 发表于 03-08 16:47 280次阅读

    基于视频会议系统的指挥车工程通信解决方案

    指挥车工程在应对紧急事件、协调资源以及现场指挥等方面发挥着至关重要的作用。为了实现高效、稳定的通信,提升指挥决策效率,基于讯维视频会议系统的通信解决方案应运而生。 一、系统架构 该通信解决方案以讯维
    的头像 发表于 03-08 16:44 375次阅读

    SD-WAN视频会议解决方案效果如何?SD-WAN如何加速视频会议

    当今的数字办公环境中,视频会议已经成为了企业间沟通和协作的重要工具。但是,网络状况不佳和带宽限制等问题可能会对视频会议质量产生影响。幸运的是,SD-WAN(软件定义广域网)技术的运用为优化
    的头像 发表于 02-28 14:34 339次阅读

    无线数字会议系统的设计理念与功能

    无线数字会议系统是一种便捷、高效、现代会议解决方案。它基于先进的技术和人性的设计理念,为使用者提供了一系列实用的功能。本文将详细介绍无线数字
    的头像 发表于 01-24 15:07 1110次阅读

    无线数字会议系统的技术创新与影响

    :无线数字会议系统采用最新的无线传输技术,如5G、WiFi 6等,实现了高速、稳定的信号传输。这使得视频和音频信号在传输过程中更加清晰、流畅,减少了延迟和卡顿现象。 抗干扰能力:通过采用先进的通信频段和信号处理技术,无线
    的头像 发表于 01-23 15:19 610次阅读

    无线数字会议系统与传统会议系统的比较与选择

    无线数字会议系统与传统会议系统是两种不同的会议形式,它们各有优缺点,适用于不同的场景。在选择使用哪种会议系统时,需要考虑会议的规模、目的、预
    的头像 发表于 01-23 15:17 563次阅读

    【飞腾派4G版免费试用】3.JITSI视频会议想开就开

    【飞腾派4G版免费试用】3.JITSI视频会议想开就开 现在市面上大部分会议软件都是需要付费的,就是免费使用,也大都40-50分钟的体验时间。还没聊尽兴,这块会议突然被中断了,那有没有免费的无限制
    发表于 12-25 18:44