引言
作为一位经验了互联网、挪动互联网阶段的老兵,毛茂德老师一路走来,始终保持本人的技术初心,一直摸索未知领域的宽度,进入虎牙直播后,他踊跃推动虎牙拥抱云原生,进行业务翻新,同时他也施展技术劣势,通过高效运维为企业实现了降本增效,专一于技术驱动研发效力晋升是他一路走来不变的谋求。腾讯云 TVP、虎牙直播 总经理毛茂德老师将联合他的本身经验,在本期技术指针中为咱们解读他是如何利用技术驱动企业效力晋升。
一、坚守技术初心,敢于摸索未知领域
经验了 PC 互联网,挪动互联网,再到现在的产业互联网时代,毛茂德老师先后任职于外企、互联网大厂,“一直拓宽技术宽度,坚守技术初心”是贯通毛茂德老师历次转向的关键词,一起来凝听他的技术初心:
晚期,我曾服务于一家专门做 CORBA 的外资中间件公司,次要专研技术。起初转到了互联网行业,先后在 eBay、阿里巴巴等公司负责业务和利用的运维工作。目前,我在虎牙从事根底保障部门的职位,相似企业的外部经营部门,除了业务以外,整个虎牙国内和海内业务所需的所有基础设施、基础架构和中间件基本上都在咱们这个部门里。因而,我的工作更多地会与底层技术打交道。
原来在大型的企业中,可能就只须要负责某一个足够大、足够简单的产品线,在这个岗位上向纵深倒退,在我看来这可能更多是一种“螺丝钉”的状态。我还是更心愿去往宽度方面做一些挑战,做一些本人之前没有接触过的货色。而在虎牙,它自身的直播业务既要求做到高清,又须要兼顾互动,这对网络和算力的技术挑战自身就十分大。其实,整个互联网的倒退是从文本到图片,再到视频、短视频,再到高清的视频,再下一步其实就是直播。每一档次它的信息密度其实都不一样,而信息的密度就决定了业务对技术的挑战会一直变大,这也是十分吸引我的一点。
二、拥抱云原生,让基础设施跑在业务前
虎牙作为直播赛道的头部企业,其业务的疾速倒退驱动着虎牙一直摸索技术创新,而虎牙的技术布局也极具前瞻性,在 2018 年,虎牙便抉择计算上云,启动容器化革新,成为国内首个拥抱云计算的直播平台。为什么虎牙这么早且动摇地拥抱云原生,实现基础设施永远跑在业务前,上云又带来了哪些功效?作为虎牙上云的见证者和推动者,毛茂德老师向咱们娓娓道来:
在我看来,上云自身作为一个行业的热点,加上 2018 年上云环境曾经比拟成熟稳固,因而咱们义无反顾抉择了上云:
首先,企业上云能够保障资源高效供应。虎牙直播作为一家互联网公司,其业务迭代更新快,当咱们呈现新业务时,传统而言个别须要消耗三个月工夫进行资源筹备,而上云后能够立刻获取资源,这无疑大大晋升了效率。
其次,企业上云有助于放弃技术架构先进。另一方面,咱们比拟看重本身的业务的架构是否足够先进,这两年其实咱们从云厂商那边也学到了十分多的技术能力,帮忙咱们技术团队成长。例如腾讯云的一系列大会,咱们也有积极参与,这种技术上的凋谢和学习对咱们本身技术团队的磨砺是有很多帮忙和启发的。在我看来,腾讯云不仅仅只是一个资源提供者,而且还是先进技术的布道者。
最初,容器化革新无效帮忙虎牙降本增效。咱们的容器化革新是在 2018 年底开始启动,过后公司还处于一个物理机为主,携带大量虚拟机的状态。我在 2018 年 5 月退出虎牙,过后我主张咱们须要往现代化云原生的架构聚拢,彼时正值上云阶段,咱们启动了整个容器化的革新。整个上云和容器成型咱们耗时一年多便根本实现。同时,咱们也做了在离线混部的零碎,很多大数据的货色咱们也做容器化,在夜间业务高峰期时是业务去用,而后凌晨业务低峰期时就给大数据用,通过算力的混用来达到降本增效的目标。
三、施展技术劣势,实现高效云上运维
虎牙在基础设施欠缺并整体上云后,相比传统运维而言,其云上运维能够充分利用云资源来施展技术劣势,云不仅提供丰盛的 API,而且使得计算资源获取更为轻松便捷。作为教训颇为资深的运维老兵,毛茂德老师为咱们详尽解读了虎牙是如何利用云工具,晋升平台的运维效率的:
其实,从对资源的利用维度而言,上云和不上云的变动是十分大的,但从运维的维度来说,能够把它简略当作是多了一个云的机房,其变动次要体现在效率的晋升。
一方面,云自身提供了十分丰盛的 API,而这在过来是不存在的。每个公司都会有本人的一套形式去做运维,有的是黑屏模式,有的可能有一些简略的脚本,有些可能本人会做一些 API,然而这些 API 相对来说都不是通用、标准的,不足可适用性和推广性。云则根本把整个 IaaS 这一层的 API 全副裸露进去,大家能够通过这样的形式去组合本人的运维工具、脚本,大大降低了保护难度。
传统而言,咱们在 IDC 这块,须要提前一个月甚至两个月甚至更长的工夫去筹备资源。过来业务方只有有一个需要,咱们就得进行评估、洽购、上机器、上架而后调试等一连串的工作。而上云后,可能非常灵活轻松,随时随地调用计算资源,如果你感觉这个资源不行,能够马上在不同的 Region,在不同的 AZ 之间切换,大大加重了传统运维的工作量。
另一方面,云也提供了十分欠缺的一套工具链。在云上咱们有很多 PaaS、SaaS 类的产品,甚至连底层的资源都不须要去治理,这无疑对业务的迭代和翻新会带来十分大的帮忙。
四、增强上云治理,摸索降本增效门路
在把握云上运维之时,更须要增强治理进行治理,方能无效实现降本增效。毛茂德老师深谙虎牙直播的治理治理之道,不仅采取了相应的重点动作,也别离从硬件和软件开展了摸索,为降本增效找到最佳形式。
其实,早在两三年前,虎牙就曾经着手在做降本增效这件事。而对于基础设施部门来说,业务稳定性是最重要的,因为业务不能中断;其次,咱们须要进步运维效率,用更少的人力反对更多的业务。最初,还须要关注老本,以更低的老本服务业务。咱们的团队须要将这些问题都思考齐备,只有将直播老本降到最低,咱们能力在直播畛域持续保持竞争力。
在我看来,降本增效的实质是进步资源利用率。它理论波及到很多方面,无论是算力、网络还是存储。归根结底,咱们须要看的是,咱们应用的资源是否正当,咱们是否将资源的利用率充沛晋升了?此外,互联网业务自身也具备顶峰低谷的特点,如果咱们是否可能充分利用资源的低谷期,这样就相当于一台机器可能施展两台机器的成果。因而,咱们须要找到适当的资源,同时充沛进步它们的利用率。在降本增效的过程中,可能呈现与业务品质抵触的状况,例如为了降本而将高清的画质调低。如何在业务质量指标不升高的状况上来实现老本的升高,这才是咱们真正须要解决的问题。因而,咱们更多的还是须要找出资源节约的状况并对其进行优化,这样能力实现降本增效而不影响业务品质。
(一)从治理到治理的动作
首先,治理用云账单势在必行。在云计算流行时,人们普遍认为上云很时尚,但容易疏忽一个潜在的问题:上云后账单容易失控。尽管当初的运维零碎绝对自动化,能够主动扩缩容等,然而也同时存在代码破绽和人为操作不当,导致账单失控的危险。因而,对于云计算的治理变得越来越重要,须要找到办法将账单回归到正当且可控的状态。
其次,联动业务侧独特降本也不可或缺。如果业务方面滥用资源,即便在技术层面做到极致,也容易造成资源节约。我认为业务和技术的一号位必须同时参加进来,业务团队和技术部门通力合作,联动配合,能力真正实现降本和增效。
此外,建设度量体系方能无效标准。实现降本增效不是欲速不达的,而是一个须要一直度量和监控的过程。业务的 ROI 咱们很分明,然而业务在 IT 方面破费了多少老本却可能不容易答复,这是因为过来没有进行度量。在虎牙,咱们应用基于单位 PCU(Peak Concurrent Users)的规范进行度量,这是因为咱们的资源是依照峰值来筹备的。通过找到一个基准,就能够容易地进行度量,确定以后业务 IT 投入是否正当。因而,建设度量体系是十分重要的。
最初,智能化计量计费也能无效提供保障。云产品绝对比较复杂,蕴含许多计费项。过来在咱们进行计量计费时,更多的是数据展现和数据挖掘,然而当初咱们须要更进一步地去实现一些智能化的数据分析,间接通知业务方云老本、IT 老本都有哪些不衰弱的中央。否则实现降本增效的工作仅仅是一次性的,大家可能会认为老本问题曾经失去解决,但如果代码品质不佳导致节约减少,老本很快又会飙升。因而,咱们须要将一些智能化的数据分析能力纳入到零碎中,这是咱们目前正在努力实现的。
(二)从硬件芯片动手,抓住技术红利
长于利用技术,领有先进的芯片硬件对长期主义而言是实现降本增效的正确形式。在算力方面,咱们思考应用 NPU 或 DPU 代替 GPU。因为 GPU 是通用卡,有很多性能,如果只是为了某个畛域的推理,能够将所需性能做成独自的卡来降低成本。通过咱们与国内芯片制造商单干一整年的测试后果,降本成果的确非常明显,个别模型的老本能够升高 80%,这是十分可观的。然而,NPU 是专用的,通用性较差,生态体系尚不欠缺,一旦企业扭转模型或参数,以前的优化成果可能会隐没,这是存在的问题。咱们仍在朝着这个方向与腾讯云一起摸索。
(三)摸索新兴软件架构,Serverless 开释资源
另一方面是在软件架构层面,除了容器之外,Serverless 也十分要害,它实现了真正的按需付费和应用。虎牙也在业务 Serverless 化方面进行了摸索,成果也比拟显著。我认为这是一种被认可的方向,例如大数据、AI 等都能够用这种形式疾速配置环境和资源,实现按秒甚至按微秒计费。我退出虎牙时曾谈到如果业务呈 10 倍速增长,基础设施和能力是否跟得上的问题。实际上,我的初心是心愿咱们能在资源层面建设一个衰弱、可能应答各种危险和劫难的架构,在业务以 10 倍速增长时,咱们的基础设施可能轻松应答,并在资源层面具备很好的老本劣势。
五、携手腾讯云,助力降本增效落地
腾讯云作为虎牙降本增效落地过程中携手共进的好搭档,帮助虎牙晋升音视频能力,保障了各种大型赛事直播,毛茂德老师一路在虎牙见证着点点滴滴。让咱们一起追随毛茂德老师,共寻虎牙降本增效之路的落地之旅:
值得一提的是,咱们与腾讯云单干的过程中,腾讯云团队会被动帮咱们寻找能够优化的老本,并与咱们一起进行优化。例如在 CDN 层面,腾讯云罢黜了很多老本,而在转码方面,咱们也通过按需进行转码的形式单干进行了优化,例如在没有观众观看直播的时候,咱们不须要进行转码,就能够降低成本,腾讯云也会将这些升高的老本返回给咱们。同样,在云游戏方面,腾讯云也会依据监控的状况来为咱们提供无效的倡议,例如如何最大限度地利用 GPU 卡、如何优化调度以实现老本升高。
与和腾讯云单干后,咱们在降本增效上也获得了十分不错的成绩,去年团队仅仅应用 8 个月的老本就实现了 11 个月的业务量,达到了十分可观的成果。
具体而言,在虎牙云游戏方面,咱们踊跃施展云技术劣势。咱们的云游戏齐全依赖于腾讯云,在北京、上海、广州和成都等地,腾讯云都为咱们提供了所需的资源和技术上的反对,疾速帮忙咱们实现业务需要。
在技术方面,云游戏对于实时高清性和时延要求十分高,因而须要先将算力下沉到离玩家最近的中央。在过来几年中,咱们始终在进行边缘计算的摸索,腾讯云也为咱们提供了许多边缘技术支持。
在网络带宽方面,包含老本的升高,须要解决许多技术挑战。
在 GPU 测试方面,腾讯云为咱们提供了许多相干技术,例如如何将 GPU 进行正当的宰割以及与其余业务共享以降低成本,从 T4 到 A10 再到 A30 等各种方面都有波及,这些技术显著升高了云游戏的老本。
咱们还通过调度音视频直播线路来升高了老本。而在计量计费方面咱们也有所翻新,云游戏业务自身有高下峰期之分,对此,云 GPU 的弹性计量计费使咱们在筹备资源时不用始终为高峰期做筹备,从而带来很多的降本效益。
此外,借助腾讯云,咱们次要采取以下四方面措施来实现对许多重要的大型赛事直播的保障:
其一,正当预测流量及资源。虎牙采纳了混合云架构,每次保障赛事时须要对所需容量进行预估,思考各种因素如较量举办地点、参赛队伍、预计流量等,从而转换为所需资源量,以确保云和 CDN 的容量短缺。然而,咱们发现仅依照总决赛的峰值进行资源准备会造成资源节约。因而,咱们采纳了一些 AI 技术,通过整顿历史较量数据,剖析四分之一和八分之一决赛等各个环节的流量需要,并逐渐实现阶梯式扩容。这种阶梯式扩容办法,不仅有助于优化资源分配,也能大大降低老本。
其二,做好预防,保障疾速切换。在大型赛事中,代码和架构的更改十分艰难,因而咱们更多会关注预防和疾速切换来防止故障影响。咱们在 CDN 和后端架构层面都施行了多种容灾措施,在赛前进行容灾演练,以确保可能在故障产生时疾速响应。
其三,定义要害指标。咱们定义了许多“黄金指标”的监控指标。对于整个虎牙来说,咱们十分关注登录、领取、弹幕等要害业务指标。一旦这些要害指标呈现问题,咱们的监控团队会迅速进行切换或重新部署等操作。这些黄金指标的定义使得监控团队可能迅速理解到哪些业务呈现了异样情况,为其后续口头提供了十分不便的参考。
其四,弹性调度也至关重要。在过来,咱们须要提前一个月甚至两个月就开始进行资源报备和筹备工作,不论是核心云、边缘还是 IDC 网络,咱们都须要进行扩容等动作。然而当初,因为整个公司都实现了容器化,咱们的调度平台也十分欠缺。因而,咱们筹备资源的周期不须要那么长了。
实际上,咱们与腾讯云的单干从很晚期就开始了,随着腾讯云技术的迅速提高,咱们的单干更加严密,现在曾经是全方位单干,根本涵盖了 IaaS 的各种层面,包含算力、网络、边缘计算以及 CDN 等等。对于云游戏这一非凡业务而言,咱们不仅须要在技术层面进行单干,更须要在游戏内容方面进行改良和协调,这一方面的单干给了咱们十分大的帮忙。此外,咱们在音视频畛域也始终有 IaaS 方面的单干。
我看来,腾讯云的服务十分业余到位。对于咱们的 B 端产品而言,服务至关重要,解决问题的过程并不仅限于售卖给咱们一个产品,还须要深刻关注技术上的细节、问题、需要以及开发和专家对接等多个方面。在咱们与腾讯云的单干中,服务方面的共事十分敬业,基本上长期驻扎在咱们的虎牙团队之中,深刻理解并收集咱们的各种需要,甚至有时比咱们本人的技术共事对咱们的零碎架构有更粗浅的意识。在这一方面,腾讯云体现得十分杰出。
结语
作为一位互联网老兵,毛茂德老师在虎牙夯实根底能力建设,并领有一双前瞻性的慧眼,放弃技术架构先进,以技术驱动效力晋升,走出了一条属于虎牙的降本增效之路。置信在将来,虎牙肯定会走得更稳,更远。