段亮:华为云视频Cloud Native实践——完善的云原生工程能力和架构是提升云服务效率和质量的核心能力
2021-02-18 10:44:27来源:亚太CDN产业联盟 热度:
分布式云”启动新商业引擎,“云原生”引爆亿万级苍穹,“分布式数据及存储”开创未来新篇。
2020年12月17日至18日, “Distributed Cloud|2020全球分布式云大会”在深圳正式拉开帷幕。大会邀请到华为云、腾讯云、阿里云、金山云、浪潮云、蚂蚁集团、政府主管部门、标准制订方、以及深圳TOP200流量主级运营商等云原生、边缘云开发者相关企业共同参与,以推动技术变革,适应时代发展。
在12月18日上午的“X-Meetup音视频技术领导力论坛”上,华为云直播研发负责人段亮带来《华为云视频的Cloud Native实践》为题的主题演讲。演讲中,段亮从介绍云原生的基本特征与架构出发,谈及云原生技术在华为云视频的实践经验,并提出云视频全面实现服务自治是提高产品上线效率的重要途径之一。
云原生,毫无疑问是现在技术圈最火热的词之一。回顾云原生的发展,自2010年在业界提出云原生概念后,企业业务系统的架构逐渐向云原生的架构演进。如今,越来越多的企业拥抱云原生,通过充分利用云基础设施与平台服务,具备微服务架构、弹性伸缩、分布式、高可用、多租户、自动化运维等关键特征的架构实践,使企业业务系统的架构逐渐得到完善。
那为什么企业业务系统需要形成云原生的业务架构系统?对此,段亮将云原生分组织、工程、架构三方面进行讲解。从组织的角度,对研发人员来说,若以前对一个需求进行开发之后,再进行测试,然后发布便完成了任务。但现在,研发人员不仅做需求,还要做设计、开发,最终该需求上线后还要看运营情况和运维能力,才能到云原生的基本架构。因此相对于复杂繁琐的流程,云原生的架构有着更快的上线速度。
从架构的角度,以微服务为例,模块的单一化、细致的故障探测和发现,以及故障时的自动隔离能力,成为与传统基本架构相比最大的优势。而且每个服务可以独立的开发、测试和交付,降低周期,这样的强灵活性,加速了企业业务架构“云原生化”。
对于一些有突发高峰的业务而言,云的弹性价值是非常明显的,而对于无突增高峰的业务而言,云提供的丰富的IaaS、PaaS服务,可以带来非常低的试错和人员投入成本。因此充分利用云基础设施及平台服务,应用必须通过服务接口充分使用云基础设施和平台服务,基于IaaS、PaaS动态分配资源,支持资源池化,适应异构云基础设施。
段亮通过进一步解释弹性伸缩、高可用与自动化运维,让大家对云原生的架构有了更深层次的认识。针对弹性伸缩,段亮举例介绍道:“弹性伸缩的伸主要在音视频的业务上体现。比如一场直播中,会迎来一个爆点,用户量一下就增加几倍甚至是几十倍,那你的资源肯定要快速跟上,这时弹性的伸就派上了作用。而弹性的缩,主要体现在视频业务,比如教育类视频业务的高峰期在白天,而娱乐类的在晚上,因此高、低峰期的业务可能有几十倍的差异,因此需要在空闲时要把资源缩掉。”
对于高可用和自动化运维,段亮这样说:高可用基于不可靠、可抛弃的资源设计高可用、反脆弱系统,应用任意微服务实例失效,系统能够快速发现、隔离并自动恢复,云基础设施和平台服务发生任意单点故障不影响系统整体可用性。自动化运维是系统能够自动化部署、升级和扩缩容,支持自动化监控、告警、故障的定界定位和故障自愈。“这里提到的监控包括全方位的,要从最底层的系统层、资源层再到应用层,一直到最上层黄金指标的全面监控。”段亮补充道。
然而,华为云视频在云原生架构的实践体现在,云视频全面实现服务自治和全自动化的代码扫描、测试、部署,达到十分钟上线。同时,需求的开发上线效率缩短到天。
这得益于华为云对云原生的架构能力早已有统一的指南,从云原生的架构设计指南、架构模式库、规范体系建设以及架构评价标准,让华为云在业务架构上少走了很多弯路。段亮表示,“我们通过多次产品和开发、各类业务场景等经验梳理出的架构设计的模式库,对我们的产品设计,成为重要的参照。”
以华为云视频的点播服务为例,随用户量的增加,出现需求交付的效率跟不上,运维越来越复杂,原先的架构跟不上等问题,但华为云视频通过对架构详细的优化,让问题迎刃而解。对此,段亮分享:“我们针对微服务架构进行分解、功能的更加单一化以及各服务之间的交互方式等方面进行了整体优化,提高了业务效率。并且随着业务形态的变化,我们的微服务架构、云原生架构也会有相对应的变化。”截止当前,华为云视频各云服务、微服务数已达约200个,API接口数2千个。
华为云在RTC用户接入微服务容器化实践中,发现容器可以随时销毁,为做多AA部署带来很多方便,因此段亮认为,容器化是云原生架构实践中必然要做的事。
实时转码服务的弹性伸缩实践上,华为云视频有着多样的弹性策略,并根据资源的实时负载情况灵活的弹性伸缩。段亮介绍:“在云原生上,弹性伸缩已经是基本功能,尤其是视频业务在使用的时候需要有一些考虑,可以通过CPU资源去弹性,也可以通过网络带宽的上限限制来做弹性,还可以通过业务量来做弹性。这样即便业
责任编辑:吴昊