引言
作为一位阅历了互联网、移动互联网阶段的老兵,毛茂德教师一路走来,始终坚持自己的技能初心,不断探究未知范畴的宽度,进入虎牙直播后,他活跃推动虎牙拥抱云原生,进行事务立异,一同他也发挥技能优势,经过高效运维为企业完成了降本增效,专注于技能驱动研制效能前进是他一路走来不变的追求。腾讯云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 端产品而言,服务至关重要,处理问题的进程并不只限于售卖给咱们一个产品,还需求深化重视技能上的细节、问题、需求以及开发和专家对接等多个方面。在咱们与腾讯云的协作中,服务方面的搭档十分敬业,根本上长时间驻扎在咱们的虎牙团队之中,深化了解并收集咱们的各种需求,乃至有时比咱们自己的技能搭档对咱们的系统架构有更深刻的知道。在这一方面,腾讯云表现得十分出色。
结语
作为一位互联网老兵,毛茂德教师在虎牙夯实根底才能建设,并具有一双前瞻性的慧眼,坚持技能架构先进,以技能驱动效能前进,走出了一条归于虎牙的降本增效之路。相信在未来,虎牙一定会走得更稳,更远。