保利威陈焕然:从领英学习看全球在线教育平台的技术演化
2019年11月25日,在GET2019教育科技大会的「探寻智能化教育的边界」分会场上,保利威技术总监陈焕然发表了《从Linkedin Learning看全球在线教育平台的技术演化》的演讲。
陈焕然从Linkedin Learning(下称“领英学习”)的历史和发展历程出发,并结合其间发生的重大技术变革,展示了在线教育平台在后端以及前端的技术演化。
一、领英学习的历史与现状
为什么选择领英学习作为切入点,而不是在美国同样规模很大的 Udemy 或者 Coursera 呢?
其一,领英学习是目前美国在线职业教育的几大巨头之一;其二,领英学习前身是Lynda.com。
Lynda.com是在线教育行业先驱者,一路走来经历不少重大的技术变革,可以从中得到不少启发。
早在1995年,Lynda.com就开始提供在线多媒体素材观看和下载等功能,并于2002年推出在线视频课程,支持付费订阅的模式。
由于当时美国家庭网络带宽还没有普及,YouTube都没出现,Lynda.com几年间都处于入不敷出的状态。往后的十多年,随着技术发展,网络带宽不断提升,在线视频从难得一见变得随处可见,Lynda.com逐渐步入正轨,
2013年,Lynda.com会员超过两百万人,并获得了一笔一亿美元的投资。
2015年,Lynda.com被Linkedin(下称“领英”)以15亿美元收购,正式更名为领英学习。领英想把求职和教育结合在一起,实现双赢效果。
2016年,微软以262亿美元收购领英,领英学习现属微软旗下的,对其后续发展方向也产生一些影响。
今天的领英学习平台,提供超过15000门课程,涵盖7种语言,并基于领英的6亿会员数据给用户提供个性化的建议,以及多端兼容的、直观的、交互性的学习体验。
二、在线教育平台的后端技术演化
陈焕然选取领英学习所经历的三个关键后端技术演化进行阐述。
第一点与编程语言相关,从Scala转变到Java。
起初,领英学习混用这两种编程语言;2016年,领英学习CTO宣布,往后新研发的后端系统,统一都用Java开发,不再使用Scala。
原因在于Java生态优于Scala,即语言相关的工具框架更丰富,开源社区的支持更完善,遇到问题的时网络上的资源更多。此外,Java人才市场更加活跃,统一语言也更易维护。最终目标都是降低研发成本,提高研发效率。
第二,从单体服务向微服务转型。
随着在线教育行业规模不断增长,产品形态趋于多样化,技术系统越加复杂,后端平台的可维护性就会降低。要降低整体系统的复杂度,提高可维护性,微服务化是一个必然选择。
以保利威直播系统为例,在微服务化之前,保利威的后台架构庞大,后端各种应用服务都糅合在一起,维护时牵一发而动全身。改造之后,庞大的单体系统拆分成多个微服务,保利威让独立的配置中心管理各类微服务,通过统一的接口互通,降低维护成本。
第三,从自建数据中心转变为微软Azure云。
领英本身即有大规模的数据中心,不过在今年七月,领英宣布将目前运行在自建数据中心的线下服务系统,全部迁往微软Azure云。整个迁移过程预计将耗时数年。
上云的优势在于,加大不同规模在线直播课程的弹性,提高系统负载;流程更敏捷,几分钟就能建起数据库;得益于多重备份,云上数据不怕丢失,更加可靠。
三、在线教育平台的前端技术演化
在前端技术方面,陈焕然也梳理了在线教育经历的三个技术发展节点。
第一,从Flash到HTML5。此前Flash几乎是播放视频的唯一选择,但Flash对移动端支持性并不好。随着移动互联网的兴起,Flash渐趋没落,逐渐被HTML5取代。
HTML是w3c标准,现在各大浏览器对于HTML5的支持都很好,Flash遇到的不兼容移动端的问题,HTML5 几乎完美地解决。无论pc、手机还是平板,只要有一个浏览器,就能用上 HTML5。
第二,从HTTP到WebSocket。HTTP客户端和服务端交互很简单,一来一回,但缺点在于只能由客户端发起请求,服务端无法向客户端主动发起请求。WebSocket的出现解决了交互性较强的双向沟通需求,如在线教育中的白板画笔、展示课件、聊天室、签到问答等。
第三,WebRTC的出现,支持在浏览器进行实时音视频交互。在WebRTC协议之下,老师们只需打开网页即可上课,不需要安装客户端;学员们连麦也不用通过RTMP协议或HLS协议,只需通过浏览器即可推上WebRTC流,供教师和其他学员观看。
以上就是我今天演讲的全部内容,谢谢。