我在2010年左右加入腾讯,最近两三年,我有一个很明显的感受:腾讯内部无论是管理层还是普通员工,在开源的意识上都有了很大的转变,公司对开源的投入也越来越大。这些变化主要体现在两点:第一,腾讯内部的大量业务在频繁地使用一些开源软件;第二,腾讯在不断地把一些优秀的代码和模块开源给外部社区。
下面,我要介绍腾讯在边缘计算领域以及安全容器领域做的开源方面的探索。
在边缘计算领域,随着5G技术的普及以及各种应用场景的落地,整个边缘计算逐渐兴起,越来越多的企业在真实的业务场景里需要使用边端的计算设备。
一般情况下,企业在使用边缘计算的过程中往往会面临两个问题:第一个问题是这些边缘设备、物联网设备分布在多个地方,这些设备跟中心节点的网络不是一种稳定可靠的连接。在弱网络的情况下,企业怎样管理这些设备以及如何运行边端设备上的应用程序便成为了一个问题。而第二个问题是针对边端物联网设备,企业该如何进行高效的应用开发?
针对这两个问题,我们推出了两个项目,其中一个项目就是TKE Edge-边缘容器解决方案。TKE Edge-边缘容器解决方案主要用来解决在云端管理边端的设备和应用问题,这个项目安全可靠,具有以下几个典型的特点:完全兼容K8S API;云端设备可以部署在公有云上,也可以进行私有化部署;边缘设备可以位于云机房,也可以是用户自有设备。
此外,我们还开发了TencentOS tiny-物联网实时操作系统,这是面向物联网的实时操作系统,从用户API到底层芯片模组层,我们全部进行了打通。TencentOS tiny-物联网实时操作系统具有小体积、低功耗的特点,同时也具备丰富的IoT组件、可靠的安全框架、良好的可移植性以及便捷的调试方式。
刚才介绍了两个系统,接下来介绍一下这两个系统在实际场景中的案例和落地情况,给大家提供一些参考。
第一个场景iGrow智能种植方案是典型的智能种植场景,在这个场景下我们会用到一些传感器,这些传感器会采集温室里面的温度、光照等数据,把数据上传到控制节点上,控制节点上的AI算法会根据这些数据计算出当前的温度、湿度、含氧量、光照等情况,根据这些信息计算出是否需要给这些植物补充光照、氧气或肥料,从而做到全流程智能控制。这些部署到设备上的应用程序都是运行在TencentOS tiny操作系统上面的,这个操作系统实现了超低耗管理,可以有效地降低农业现场设备的功耗,延长设备的使用寿命。
第二个场景是TKE Edge助力音视频、CDN在边缘设备的云原生架构升级,该边缘容器解决方案目前在腾讯的公有云上大量应用于音视频、电竞直播、在线教育等场景,可以提升主播的上行质量,帮助直播推流的就近转码和分发,实现实时互动、弹幕以及边缘AI美颜、虚拟背景、商品识别等功能。
第三个应用场景是TKE Edge解决工业互联网平台私有云交付及运维问题。工业互联网平台在以前的部署下是我们每中标一个地方政府的工业互联网平台,都需要派人去当地部署和交付互联网平台。假设这些互联网平台后来出了问题,我们如何连上互联网平台去解决这些问题,也是很大的挑战。
而在新的边缘容器方案场景下,我们通过边缘容器把部署在当地的机器设备管理起来,这个时候整个工业互联网平台的交付部署和运维就非常简单了。我们可以通过云端统一管理工业互联网平台,极大地降低整个流程的交付和运维成本,而云端的管理平台既可以是客户私有化管理,也可以为厂商提供统一的运维管理。这个方案的核心在于我们通过边缘容器以一种安全的方式打通了私有化机房,从而便捷地管理私有化的设备和应用。
在适用场景下,我们也满足了一些安全等级上的要求,允许一些混合云的部署。通过这种方式,我们可以极大地缩减整个私有化平台的交付流程,同时降低维保成本,使得维保服务提供方的选择更加灵活。
在安全容器领域,腾讯推出了mVM项目,该项目可在宿主机发生故障或者预计即将发生故障的时候,将安全容器里的内存以及状态信息部署到宿主机上的公共内存上并迁移到另外一台机器上去。这个过程是无感知的过程,甚至长链接也可以做到不中断,增量迁移的切换也仅需要几毫秒到几十毫秒。同时,腾讯跟GPU厂商合作,通过VFIO技术直接把GPU融入容器里面,这样能够让业务方更高效地使用GPU设备。除此之外,我们也缩短了整个容器作业层的管控路径,直接通过mVM提供的一些技术,满足离线任务的管理诉求。
到目前为止,安全容器已经大量地应用于腾讯内部,甚至腾讯云里面的大数据和AI平台就大量的使用安全容器做多租户隔离,同时通过热迁移技术保证容器稳定性。此外,安全容器还大量应用于腾讯云目前已有的Serverless函数计算服务中以及大数据+AI底座等场景。