蜻蜓FM电台应用现代化技术革新,引领行业新篇章

举报
华为云确定性运维 发表于 2024/12/19 15:57:47 2024/12/19
【摘要】 本案例主要介绍蜻蜓FM电台如何通过华为云应用现代化专业服务,解决因业务发展在技术架构迭代上遇到的挑战。通过基础设施容器化改造、业务架构优化、技术栈升级等手段,帮助企业实现降本增效,架构与技术的优化升级

来源:《确定性运维2.0案例集第三期》

一、业务背景

音视频行业凭借其庞大的市场规模、丰富的产业链结构、多元化的发展趋势以及地域分布密集等特点,正成为互联网领域的重要组成部分,具有广阔的发展前景和潜力。但随着业务的快速发展,音视频行业技术债务在逐年积增,这成为制约产业发展的巨大挑战。初期为迅速上线多采用简易架构,未顾及大规模并发与高画质传输等需求,业务扩张后系统扩展性短板明显。技术迭代频繁,技术滞后与兼容性难题将加剧技术债。海量直播数据涌现,早期数据架构难以负荷,致使处理低效、成本高昂,数据安全隐私亦受威胁。基础设施扩增使运维复杂,人工运维成本高昂,缺乏自动化手段致效率低下、故障恢复迟缓。业务多元化后,不同场景技术要求各异,技术架构频繁调适,技术债持续累积。

二、业务现状

     蜻蜓FM电台是国内首家网络音频应用,坚持以「听得见的,美好生活」为口号 ,为用户和内容生产者共建生态平台,汇聚广播电台、版权内容等优质音频IP。蜻蜓FM电台总用户规模突破亿,生态流量月活跃用户量上亿,日活跃用户已达千万级,内容覆盖文化、财经、科技、音乐、有声书等多种类型。 随着平台业务形式多样化、用户量快速增加,当前技术架构与研发模式已无法匹配现有业务快速增长,亟需升级。当前蜻蜓FM电台主要面临的挑战有:

  1. 应用扩展能力薄弱:应用路由基于虚拟机单元调度,新增加虚拟机,需要重新调度已有的应用,扩展能力薄弱。
  2. 单电台问题定位速度待提升:电台集群规模庞大,各虚拟机承载多个电台,故障发生时,需先确定问题电台所在虚拟机,再进行骤减性排查,故障定位缓慢,切易造成关联性影响。
  3. 版本更新时间长需缩短:缺少持续部署能力,版本迭代方式、能力、工具待升级。
  4. 资源利用待优化:虚拟机直接调用差异导致主机资源分配不合理

三、方案实践

面对当前业务挑战,蜻蜓FM电台将重点聚焦在业务创新上,通过华为云应用现代化服务和ServiceStage,CCE,LTS,AOM等产品来完成架构升级。

整体方案思路是将应用迁移至ServiceStage上,由ServiceStage来管理运行环境与应用生命周期,具体实践包括:容器化改造,使用云上托管的应用运行环境,CI/CD自动化部署,弹性伸缩,统一日志采集与分析与监控告警等。

2、应用现代化.PNG

      1、架构改造

      容器化改造:10+个系统容器化改造,容器化之后可以以更小的单元调度资源,同时也是伸缩的基础。优化通信方式:由固定IP形式改成服务发现方式。
      无状态改造:将原先电台的创建不再依赖固件的虚机。
      改造前:
      Transcode、 SRS节点IP列表需要手工维护供业务使用
      1. Transcode,SRS只能通过增加配置的方式容纳更多电台,横向扩展复杂且容易影响业务
      2. SRS直播流地址需要动态获得,维护成本高
      改造后:
      1. 电台分配不再依赖固定节点,直播流不再依赖SRS固定IP,去除了组件间通过IP硬通信
      2. 运维简单高效,监控齐全,有效提升部署效率。
      3. 合理利用资源,根据需求快速的扩展和缩减资源

2. 使用云上托管的运行环境

      ServiceStage提供托管的运行环境,在环境内为应用提供容器运行时(集成CCE)、弹性伸缩、应用路由等能力,电台应用的容器镜像运行在环境中,可以灵活扩展,电台之间不会互相影响。ServiceStage支持计算、网络以及多种平台服务的纳管,通过屏蔽底层技术细节,提供更加简洁优化的交互界面,降低使用难度,提升开发运维效率。

3.PNG

      3. CI/CD自动化部署

 ServiceStage内置持续部署能力,蜻蜓FM电台提供代码,即可发布到测试、生产环境,免去自行搭建Jenkins、管理基础镜像等工作。同时ServiceStage支持常见技术栈源码到镜像的自动构建,用户不需要编写Dockfile,进一步降低上手难度,更快地实现容器化改造。

4.PNG


4.  弹性伸缩

    蜻蜓FM电台的CPU使用率,根据连接到电台的用户数量不同、CPU消耗量不同,由于不同电台同时在线的人数不确定,因此采用了只配置电台最大CPU限制、且允许电台之间抢占CPU的调度机制,当超过了最大CPU限制时则扩容出新的实例,通过这种伸缩机制,使资源利用率提升20%。

5.  统一日志采集与分析与监控告警

      ServiceStage在部署应用时,自动将应用日志、指标对接到华为云的LTS与AOM服务,可以很便捷的查看单个电台的日志,同时对日志做结构化分析,提取业务指标,以实时观测业务运行状态。和AOM、LTS相比,通过ServiceStage的组件详情查看对应的监控详情和日志,更加符合开发者的使用习惯,线上问题排查效率更高。 

6.   技术升级:提升性能,加固系统

      经过前期的调研发现原先电台业务技术栈、框架以及第三方依赖从性能和安全性等方面都已经落后,采取了如下措施提升系统的性能和安全性:

  •     升级SDK,将运行时SDK升级到最适合版本,提高安全性;
  •     升级核心第三方转码组件FFMPEG,提升转码的性能;
  •     升级了开源直播服务组件SRS和ICECast,并基于最新的组件制作了镜像;
  •     通过重构业务废弃Ruby技术栈,减少后续维护与学习的成本。

5.PNG


四、 业务提升

电台作为核心业务,通过携手华为云完成业务容器化设计和架构优化,并将应用托管到ServiceStage之上,实现应用现代化,降低成本的同时提高研发和运维效率,以在激烈的市场竞争中赢得先机。主要业务提升如下:

      1. 扩展能力增强

    电台分配不再依赖固定虚拟机,去除组件间通过IP硬通信,服务无状态改造;

    强电台系统扩展性,可无缝扩展电台数量,资源弹性伸缩不影响业务。

       2. 运维与部署效率提升

    自动接入AOM,监控简单高效,问题定位效率提升50%;

    通过使用ServiceStage提升服务部署效率;

    通过LTS控制台检索快速定位问题,运维效率提升100%;

       3. 成本优化

    通过容器化设计资源共享提升资源利用率,平台可以根据业务需求也变化来快速的扩展和缩减资源,平台成本降低20%。

五、案例总结

 蜻蜓FM电台在业务迅速扩张的过程中,面临自身业务增长带来的技术架构和研发模式不匹配等挑战,为应对这些挑战,我们选择与华为云携手,通过应用现代化专业服务进行转型提升,结合容器化设计与改造,架构优化等措施,增强扩展能力,提升运维与部署效率,优化成本,不仅解决了现有的技术挑战,还为未来的业务发展奠定了坚实的基础。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。