自中国出现第一家自办通讯社至今110多年间,新闻媒体被社会科技推动着,已历经多次载体革新和内容变革。纵观这段媒体兴衰史——“无科技,不媒体”,能否与时俱进拥抱科学技术变革,对媒体的生存和发展至关重要。
网易新闻是国内第一代互联网原生媒体,从PC时代繁荣至今,近年来更顺利进展移动媒体建构、多媒体融合创新等变革课题,并领先迈入媒体生态化阶段,领航媒体发展新趋势。
在媒体形态、业态、生态与时俱进的背后,网易新闻是如何以技术变革支撑业务敏捷创新、保持高速发展节奏的呢?记者近期采访了网易传媒(网易新闻所属公司)资深架构师柴克斌。
基础设施变革,推动运维升级、降本增效
柴克斌入职网易新闻以来,参与了两次基础设施大变革,“第一次是从物理机设备过渡到专属云,实现云化,第二次是将云上业务迁入容器,实现容器化。”
云计算概念刚兴起时,出于对互联网技术的天然敏感,网易新闻对公有云、私有云技术做了大量研究和应用推演。基于上云可解放物理机、极大节约IT设施成本,以及实现资源便捷共享、信息安全升级、业务响应效率升级等,网易新闻积极推进“云化”,并择定私有云的方向,部署专属云。
“专属云部署完成后,支持了网易新闻大约90%的业务在云上运营,降本增效的效用非常显著。”柴克斌介绍。在云后台的支持下,网易新闻高频推新,“时光博物馆”创意快闪店、“以你之名,守护汉字”等现象级文化传播爆款都诞生于“云”时代。
资源云化让网易新闻更易于试错、探索新业务,但随着业务创新的推进,资源利用率、系统稳定性及发布效率等问题,在业务规模和业务复杂性不断增加之后被放大。针对这些问题,从2019年开始,网易传媒紧跟容器云的技术趋势,将云上业务大规模迁入容器。
为网易传媒提供容器化改造的技术团队来自网易轻舟。
据了解,网易数帆是网易集团旗下聚焦数字化领域的数字化基础软件提供商,网易轻舟则是网易数帆的核心产品线之一,专注于云原生基础设施业务,擅长基于一站式云原生服务来提升企业软件研发、运营的能力和效率。
借网易轻舟容器化改造,破解资源使用率、系统稳定性和发布效率难题
因资源利用率与基础设施成本密切相关,容器化改造过程中,首当其冲的就是资源利用率问题。
例如,对网易新闻来说,当视频内容成为媒体的主要内容形式,视频转码的信息处理量与日俱增,占据了大量资源。同时,在线业务以白天和夜晚自然划分,呈现波峰波谷的资源使用规律,存在大量浪费。
对此,网易轻舟基于Kubernetes攻克了动态调度和动态资源分配、隔离的技术难题,为网易新闻提供了混部方案,将在线业务和离线业务按照一定的任务优先级混合部署,很好的兼顾了资源利用率和应急弹性。数据显示,混部完成后,网易新闻CPU使用率由原来的20%提升到了50%-60%。
不仅如此,容器化改造也带来了弹性扩缩容的效果,运维手动操作的流程大幅减少,扩容操作由“小时”优化到了“秒”,缩容则实现了自动化,在面对业务调取资源的波峰波谷时,系统的稳定性得到了很好的保障。
在自动扩缩容的基础上,资源的使用从“先申后用”转变为“先用后审” ,支持了应用上线周期由“天”优化到了“分钟”,业务发布效率大幅提升、应用得以敏捷迭代,有力支撑了业务的高速创新。
以网易轻舟Service Mesh为架构做减法,助力业务高效创新
网易新闻业务方面的创新节奏非常快,而业务功能的快速开发、敏捷迭代需要强大的平台支撑能力和高效的服务治理能力。
鉴于分布式微服务架构在开发和迭代方面的天然优势,网易新闻架构团队内部曾着手自建微服务技术平台。但因为微服务平台的架构调用涉及Thrift、HTTP、gRPC等协议,原有服务治理框架缺乏统一管控平台,也与业务存在耦合,因而升级与运维非常困难,并且,对异构系统的服务治理也表现的力不从心。
对此,网易轻舟应用Service Mesh对原有微服务技术平台做了升级,并为网易新闻建构了新的服务治理框架,实现了统一的服务治理。Service Mesh的应用,不仅带来了业务无感知的治理效果,还能友好兼容异构系统服务治理,这为网易新闻微服务应用解除了枷锁,一方面降低了服务治理组件的运维成本,另一方面使得日常创新业务的开发更为高效、敏捷。
从底层着手打造基础设施,网易轻舟产品方案有普适性
随着容器云迁移,以及随之而来的Kubernetes混部、Service Mesh陆续交付,网易新闻的第二次基础设施改革进入收尾阶段。这些基于云原生技术的应用架构改造和服务治理,使得网易新闻基础设施在资源利用率、系统稳定性及发布效率支持等方面的能力再上一个新台阶。
柴克斌表示,“这次项目改造完成后,就平台技术的领先能力来讲,网易新闻web和移动端未来4-5年的高速创新没有问题。”
谈及合作的技术团队网易轻舟,柴克斌也透露,“网易轻舟的产品和服务,是从底层架构上着手,是一个基于Kubernetes技术体系的统一的基础设施的概念,类似于提供水、电、煤气。它具有很强的行业普适性,可以帮助媒体开发人员解放精力,专注业务创新的开发。”